Package org.forgerock.openig.secrets
Class SystemAndEnvSecretStoreHeaplet
java.lang.Object
org.forgerock.openig.heap.GenericHeaplet
org.forgerock.openig.secrets.SystemAndEnvSecretStoreHeaplet
- All Implemented Interfaces:
Heaplet
This heaplet represents an instance of a
PropertyResolverSecretStore
resolving properties in system then
in environment variables.
{
"type": "SystemAndEnvSecretStore",
"config": {
"format": expression(enum) [OPTIONAL - PLAIN or BASE64, default is base64.]
"mappings":[ array [OPTIONAL - secrets mappings.]
{ object
"secretId": expression [REQUIRED - The label of the secret to map.]
"format": reference [REQUIRED - a reference to a
{@link SecretPropertyFormat} object.]
}
]
"leaseExpiry": expression<duration> [ OPTIONAL - defaults to 5 minutes.]
}
}
Example:
{
"type": "SystemAndEnvSecretStore",
"config": {
"format": "BASE64"
}
}
Note that the EnvironmentVariableResolver
transforms the keys from dot
notations according specific rules.- See Also:
-
EnvironmentVariableResolver
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreate()
Called to request the heaplet create an object.static SecretStore<Secret>
Returns a new instance of a SecretStore that reads base64-encoded secrets (passwords or symmetric keys) from system properties and environment variables.Methods inherited from class org.forgerock.openig.heap.GenericHeaplet
create, destroy, endpointRegistry, evaluatedWithHeapProperties, expression, getConfig, getHeap, getType, initialBindings, meterRegistryHolder, start
-
Field Details
-
NAME
Public name used by resolver.- See Also:
-
-
Constructor Details
-
SystemAndEnvSecretStoreHeaplet
public SystemAndEnvSecretStoreHeaplet()
-
-
Method Details
-
newBase64SysEnvSecretStore
Returns a new instance of a SecretStore that reads base64-encoded secrets (passwords or symmetric keys) from system properties and environment variables.- Returns:
- new system and environment base64-enabled SecretStore instance
-
create
Description copied from class:GenericHeaplet
Called to request the heaplet create an object. Called byHeaplet.create(Name, JsonValue, Heap)
after initializing the protected field members. Implementations should parse configuration but not acquire resources, start threads, or log any initialization messages. These tasks should be performed by theGenericHeaplet.start()
method.- Specified by:
create
in classGenericHeaplet
- Returns:
- The created object.
- Throws:
HeapException
- if an exception occurred during creation of the heap object or any of its dependencies.
-