Packages:
Package v1 contains resources for external-secrets
Resource Types:(Appears on: AWSProvider)
AWSAuth tells the controller how to do authentication with aws. Only one of secretRef or jwt can be specified. if none is specified the controller will load credentials using the aws sdk defaults.
| Field | Description |
|---|---|
secretRef |
AWSAuthSecretRef
(Optional) |
jwt |
AWSJWTAuth
(Optional) |
(Appears on: AWSAuth)
AWSAuthSecretRef holds secret references for AWS credentials both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeyID is used for authentication |
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
The SecretAccessKey is used for authentication |
sessionTokenSecretRefThe SessionToken used for authentication This must be defined if AccessKeyID and SecretAccessKey are temporary credentials see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
(Appears on: AWSAuth)
AWSJWTAuth stores reference to Authenticate against AWS using service account tokens.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Appears on: SecretStoreProvider)
AWSProvider configures a store to sync secrets with AWS.
| Field | Description |
|---|---|
service |
AWSServiceType
Service defines which service should be used to fetch the secrets |
auth |
AWSAuth
(Optional)
Auth defines the information necessary to authenticate against AWS if not set aws sdk will infer credentials from your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials |
roleRole is a Role ARN which the provider will assume
regionAWS Region to be used for the provider
additionalRolesAdditionalRoles is a chained list of Role ARNs which the provider will sequentially assume before assuming the Role
externalIDAWS External ID set on assumed IAM roles
sessionTagsAWS STS assume role session tags
secretsManagerSecretsManager defines how the provider behaves when interacting with AWS SecretsManager
transitiveTagKeysAWS STS assume role transitive session tags. Required when multiple rules are used with the provider
prefixPrefix adds a prefix to all retrieved values.
string alias)(Appears on: AWSProvider)
AWSServiceType is a enum that defines the service/API that is used to fetch the secrets.
| Value | Description |
|---|---|
"ParameterStore" |
AWSServiceParameterStore is the AWS SystemsManager ParameterStore service. see: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html |
"SecretsManager" |
AWSServiceSecretsManager is the AWS SecretsManager service. see: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html |
(Appears on: AkeylessProvider)
AkeylessAuth configures how the operator authenticates with Akeyless.
| Field | Description |
|---|---|
secretRef |
AkeylessAuthSecretRef
(Optional)
Reference to a Secret that contains the details to authenticate with Akeyless. |
kubernetesAuth |
AkeylessKubernetesAuth
(Optional)
Kubernetes authenticates with Akeyless by passing the ServiceAccount token stored in the named Secret resource. |
(Appears on: AkeylessAuth)
AkeylessAuthSecretRef references a Secret that contains the details to authenticate with Akeyless. AKEYLESS_ACCESS_TYPE_PARAM: AZURE_OBJ_ID OR GCP_AUDIENCE OR ACCESS_KEY OR KUB_CONFIG_NAME.
| Field | Description |
|---|---|
accessID |
External Secrets meta/v1.SecretKeySelector
The SecretAccessID is used for authentication |
accessType |
External Secrets meta/v1.SecretKeySelector
accessTypeParam(Appears on: AkeylessAuth)
AkeylessKubernetesAuth configures Kubernetes authentication with Akeyless. It authenticates with Kubernetes ServiceAccount token stored.
| Field | Description |
|---|---|
accessID |
string
the Akeyless Kubernetes auth-method access-id |
k8sConfName |
string
Kubernetes-auth configuration name in Akeyless-Gateway |
serviceAccountRefOptional service account field containing the name of a kubernetes ServiceAccount. If the service account is specified, the service account secret token JWT will be used for authenticating with Akeyless. If the service account selector is not supplied, the secretRef will be used instead.
secretRefOptional secret field containing a Kubernetes ServiceAccount JWT used
for authenticating with Akeyless. If a name is specified without a key,
token is the default. If one is not specified, the one bound to
the controller will be used.
(Appears on: SecretStoreProvider)
AkeylessProvider Configures an store to sync secrets using Akeyless KV.
| Field | Description |
|---|---|
akeylessGWApiURL |
string
Akeyless GW API Url from which the secrets to be fetched from. |
authSecretRef |
AkeylessAuth
Auth configures how the operator authenticates with Akeyless. |
caBundlePEM/base64 encoded CA bundle used to validate Akeyless Gateway certificate. Only used if the AkeylessGWApiURL URL is using HTTPS protocol. If not set the system root certificates are used to validate the TLS connection.
caProviderThe provider for the CA bundle to use to validate Akeyless Gateway certificate.
(Appears on: WebhookProvider)
AuthorizationProtocol contains the protocol-specific configuration
| Field | Description |
|---|---|
ntlm |
NTLMProtocol
(Optional)
NTLMProtocol configures the store to use NTLM for auth |
(Appears on: InfisicalAuth)
AwsAuthCredentials represents the credentials for AWS authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
(Appears on: GCPWorkloadIdentityFederation)
AwsCredentialsConfig holds the region and the Secret reference which contains the AWS credentials.
| Field | Description |
|---|---|
region |
string
region is for configuring the AWS region to be used. |
awsCredentialsSecretRef |
SecretReference
awsCredentialsSecretRef is the reference to the secret which holds the AWS credentials. Secret should be created with below names for keys - aws_access_key_id: Access Key ID, which is the unique identifier for the AWS account or the IAM user. - aws_secret_access_key: Secret Access Key, which is used to authenticate requests made to AWS services. - aws_session_token: Session Token, is the short-lived token to authenticate requests made to AWS services. |
(Appears on: InfisicalAuth)
AzureAuthCredentials represents the credentials for Azure authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
|
resource |
External Secrets meta/v1.SecretKeySelector
(Optional) |
string alias)(Appears on: AzureKVProvider)
AzureAuthType describes how to authenticate to the Azure Keyvault Only one of the following auth types may be specified. If none of the following auth type is specified, the default one is ServicePrincipal.
| Value | Description |
|---|---|
"ManagedIdentity" |
AzureManagedIdentity uses Managed Identity to authenticate. Used with aad-pod-identity installed in the cluster. |
"ServicePrincipal" |
AzureServicePrincipal uses service principal to authenticate, which needs a tenantId, a clientId and a clientSecret. |
"WorkloadIdentity" |
AzureWorkloadIdentity uses Workload Identity service accounts to authenticate. |
(Appears on: AzureKVProvider)
AzureCustomCloudConfig specifies custom cloud configuration for private Azure environments IMPORTANT: Custom cloud configuration is ONLY supported when UseAzureSDK is true. The legacy go-autorest SDK does not support custom cloud endpoints.
| Field | Description |
|---|---|
activeDirectoryEndpoint |
string
ActiveDirectoryEndpoint is the AAD endpoint for authentication Required when using custom cloud configuration |
keyVaultEndpoint |
string
(Optional)
KeyVaultEndpoint is the Key Vault service endpoint |
keyVaultDNSSuffixKeyVaultDNSSuffix is the DNS suffix for Key Vault URLs
resourceManagerEndpointResourceManagerEndpoint is the Azure Resource Manager endpoint
string alias)(Appears on: AzureKVProvider, ACRAccessTokenSpec)
AzureEnvironmentType specifies the Azure cloud environment endpoints to use for connecting and authenticating with Azure. By default, it points to the public cloud AAD endpoint. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152 PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud, AzureStackCloud
| Value | Description |
|---|---|
"AzureStackCloud" |
|
"ChinaCloud" |
|
"GermanCloud" |
|
"PublicCloud" |
|
"USGovernmentCloud" |
(Appears on: AzureKVProvider)
AzureKVAuth is the configuration used to authenticate with Azure.
| Field | Description |
|---|---|
clientId |
External Secrets meta/v1.SecretKeySelector
(Optional)
The Azure clientId of the service principle or managed identity used for authentication. |
tenantId |
External Secrets meta/v1.SecretKeySelector
(Optional)
The Azure tenantId of the managed identity used for authentication. |
clientSecretThe Azure ClientSecret of the service principle used for authentication.
clientCertificateThe Azure ClientCertificate of the service principle used for authentication.
(Appears on: SecretStoreProvider)
AzureKVProvider configures a store to sync secrets using Azure KV.
| Field | Description |
|---|---|
authType |
AzureAuthType
(Optional)
Auth type defines how to authenticate to the keyvault service. Valid values are: - “ServicePrincipal” (default): Using a service principal (tenantId, clientId, clientSecret) - “ManagedIdentity”: Using Managed Identity assigned to the pod (see aad-pod-identity) |
vaultUrl |
string
Vault Url from which the secrets to be fetched from. |
tenantIdTenantID configures the Azure Tenant to send requests to. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.
environmentTypeEnvironmentType specifies the Azure cloud environment endpoints to use for connecting and authenticating with Azure. By default it points to the public cloud AAD endpoint. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152 PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud, AzureStackCloud Use AzureStackCloud when you need to configure custom Azure Stack Hub or Azure Stack Edge endpoints.
authSecretRefAuth configures how the operator authenticates with Azure. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.
serviceAccountRefServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.
identityIdIf multiple Managed Identity is assigned to the pod, you can select the one to be used
useAzureSDKUseAzureSDK enables the use of the new Azure SDK for Go (azcore-based) instead of the legacy go-autorest SDK. This is experimental and may have behavioral differences. Defaults to false (legacy SDK).
customCloudConfigCustomCloudConfig defines custom Azure endpoints for non-standard clouds. Required when EnvironmentType is AzureStackCloud. Optional for other environment types - useful for Azure China when using Workload Identity with AKS, where the OIDC issuer (login.partner.microsoftonline.cn) differs from the standard China Cloud endpoint (login.chinacloudapi.cn). IMPORTANT: This feature REQUIRES UseAzureSDK to be set to true. Custom cloud configuration is not supported with the legacy go-autorest SDK.
(Appears on: BarbicanProvider)
BarbicanAuth contains the authentication information for Barbican.
| Field | Description |
|---|---|
username |
BarbicanProviderUsernameRef
|
password |
BarbicanProviderPasswordRef
(Appears on: SecretStoreProvider)
BarbicanProvider setup a store to sync secrets with barbican.
| Field | Description |
|---|---|
authURL |
string
|
tenantName |
string
domainNameregionauth(Appears on: BarbicanAuth)
BarbicanProviderPasswordRef defines a reference to a secret containing password for the Barbican provider.
| Field | Description |
|---|---|
secretRef |
External Secrets meta/v1.SecretKeySelector
(Appears on: BarbicanAuth)
BarbicanProviderUsernameRef defines a reference to a secret containing username for the Barbican provider.
| Field | Description |
|---|---|
value |
string
|
secretRef |
External Secrets meta/v1.SecretKeySelector
(Appears on: BeyondtrustAuth)
BeyondTrustProviderSecretRef references a value that can be specified directly or via a secret for a BeyondTrustProvider.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
(Appears on: BeyondtrustProvider)
BeyondtrustAuth provides different ways to authenticate to a BeyondtrustProvider server.
| Field | Description |
|---|---|
apiKey |
BeyondTrustProviderSecretRef
APIKey If not provided then ClientID/ClientSecret become required. |
clientId |
BeyondTrustProviderSecretRef
ClientID is the API OAuth Client ID. |
clientSecretClientSecret is the API OAuth Client Secret.
certificateCertificate (cert.pem) for use when authenticating with an OAuth client Id using a Client Certificate.
certificateKeyCertificate private key (key.pem). For use when authenticating with an OAuth client Id
(Appears on: SecretStoreProvider)
BeyondtrustProvider provides access to a BeyondTrust secrets provider.
| Field | Description |
|---|---|
auth |
BeyondtrustAuth
Auth configures how the operator authenticates with Beyondtrust. |
server |
BeyondtrustServer
Auth configures how API server works. |
(Appears on: BeyondtrustProvider)
BeyondtrustServer configures a store to sync secrets using BeyondTrust Password Safe.
| Field | Description |
|---|---|
apiUrl |
string
|
apiVersion |
string
retrievalTypeThe secret retrieval type. SECRET = Secrets Safe (credential, text, file). MANAGED_ACCOUNT = Password Safe account associated with a system.
separatorA character that separates the folder names.
decryptWhen true, the response includes the decrypted password. When false, the password field is omitted. This option only applies to the SECRET retrieval type. Default: true.
verifyCAclientTimeOutSecondsTimeout specifies a time limit for requests made by this Client. The timeout includes connection time, any redirects, and reading the response body. Defaults to 45 seconds.
(Appears on: BitwardenSecretsManagerProvider)
BitwardenSecretsManagerAuth contains the ref to the secret that contains the machine account token.
| Field | Description |
|---|---|
secretRef |
BitwardenSecretsManagerSecretRef
(Appears on: SecretStoreProvider)
BitwardenSecretsManagerProvider configures a store to sync secrets with a Bitwarden Secrets Manager instance.
| Field | Description |
|---|---|
apiURL |
string
|
identityURL |
string
bitwardenServerSDKURLcaBundleBase64 encoded certificate for the bitwarden server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.
caProvidersee: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider
organizationIDOrganizationID determines which organization this secret store manages.
projectIDProjectID determines which project this secret store manages.
authAuth configures how secret-manager authenticates with a bitwarden machine account instance. Make sure that the token being used has permissions on the given secret.
(Appears on: BitwardenSecretsManagerAuth)
BitwardenSecretsManagerSecretRef contains the credential ref to the bitwarden instance.
| Field | Description |
|---|---|
credentials |
External Secrets meta/v1.SecretKeySelector
AccessToken used for the bitwarden instance. |
(Appears on: FetchingPolicy)
ByID configures the provider to interpret the data.secretKey.remoteRef.key field in ExternalSecret as secret ID.
(Appears on: FetchingPolicy)
ByName configures the provider to interpret the data.secretKey.remoteRef.key field in ExternalSecret as secret name.
| Field | Description |
|---|---|
folderID |
string
The folder to fetch secrets from |
(Appears on: AkeylessProvider, BitwardenSecretsManagerProvider, ConjurProvider, GitlabProvider, InfisicalProvider, KubernetesServer, OvhClientMTLS, SecretServerProvider, VaultProvider)
CAProvider provides a custom certificate authority for accessing the provider’s store. The CAProvider points to a Secret or ConfigMap resource that contains a PEM-encoded certificate.
| Field | Description |
|---|---|
type |
CAProviderType
The type of provider to use such as “Secret”, or “ConfigMap”. |
name |
string
The name of the object located at the provider type. |
keyThe key where the CA certificate can be found in the Secret or ConfigMap.
namespaceThe namespace the Provider type is in. Can only be defined when used in a ClusterSecretStore.
string alias)(Appears on: CAProvider)
CAProviderType defines the type of provider for certificate authority.
| Value | Description |
|---|---|
"ConfigMap" |
CAProviderTypeConfigMap indicates that the CA certificate is stored in a ConfigMap resource. |
"Secret" |
CAProviderTypeSecret indicates that the CA certificate is stored in a Secret resource. |
(Appears on: CloudruSMProvider)
CSMAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
CSMAuthSecretRef
(Optional) |
(Appears on: CSMAuth)
CSMAuthSecretRef holds secret references for Cloud.ru credentials.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeyID is used for authentication |
accessKeySecretSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeySecret is used for authentication |
(Appears on: OnePasswordSDKProvider)
CacheConfig configures client-side caching for read operations.
| Field | Description |
|---|---|
ttl |
Kubernetes meta/v1.Duration
(Optional)
TTL is the time-to-live for cached secrets. Format: duration string (e.g., “5m”, “1h”, “30s”) |
maxSize |
int
(Optional)
MaxSize is the maximum number of secrets to cache. When the cache is full, least-recently-used entries are evicted. |
(Appears on: KubernetesAuth)
CertAuth defines certificate-based authentication configuration for Kubernetes.
| Field | Description |
|---|---|
clientCert |
External Secrets meta/v1.SecretKeySelector
|
clientKey |
External Secrets meta/v1.SecretKeySelector
(Appears on: ChefProvider)
ChefAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
ChefAuthSecretRef
(Appears on: ChefAuth)
ChefAuthSecretRef holds secret references for chef server login credentials.
| Field | Description |
|---|---|
privateKeySecretRef |
External Secrets meta/v1.SecretKeySelector
SecretKey is the Signing Key in PEM format, used for authentication. |
(Appears on: SecretStoreProvider)
ChefProvider configures a store to sync secrets using basic chef server connection credentials.
| Field | Description |
|---|---|
auth |
ChefAuth
Auth defines the information necessary to authenticate against chef Server |
username |
string
UserName should be the user ID on the chef server |
serverUrlServerURL is the chef server URL used to connect to. If using orgs you should include your org in the url and terminate the url with a “/”
(Appears on: SecretStoreProvider)
CloudruSMProvider configures a store to sync secrets using the Cloud.ru Secret Manager provider.
| Field | Description |
|---|---|
auth |
CSMAuth
|
projectID |
string
ProjectID is the project, which the secrets are stored in. |
ClusterExternalSecret is the Schema for the clusterexternalsecrets API.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ClusterExternalSecretSpec
|
externalSecretName |
string
(Optional)
The name of the external secrets to be created. Defaults to the name of the ClusterExternalSecret |
externalSecretMetadata |
ExternalSecretMetadata
(Optional)
The metadata of the external secrets to be created |
namespaceSelectorThe labels to select by to find the Namespaces to create the ExternalSecrets in.
Deprecated: Use NamespaceSelectors instead.
namespaceSelectorsA list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.
namespacesChoose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing.
Deprecated: Use NamespaceSelectors instead.
refreshTimeThe time in which the controller should reconcile its objects and recheck namespaces for labels.
statusstring alias)(Appears on: ClusterExternalSecretStatusCondition)
ClusterExternalSecretConditionType defines a value type for ClusterExternalSecret conditions.
| Value | Description |
|---|---|
"Ready" |
ClusterExternalSecretReady is a ClusterExternalSecretConditionType set when the ClusterExternalSecret is ready. |
(Appears on: ClusterExternalSecretStatus)
ClusterExternalSecretNamespaceFailure represents a failed namespace deployment and it’s reason.
| Field | Description |
|---|---|
namespace |
string
Namespace is the namespace that failed when trying to apply an ExternalSecret |
reason |
string
(Optional)
Reason is why the ExternalSecret failed to apply to the namespace |
(Appears on: ClusterExternalSecret)
ClusterExternalSecretSpec defines the desired state of ClusterExternalSecret.
| Field | Description |
|---|---|
externalSecretSpec |
ExternalSecretSpec
The spec for the ExternalSecrets to be created |
externalSecretName |
string
(Optional)
The name of the external secrets to be created. Defaults to the name of the ClusterExternalSecret |
externalSecretMetadataThe metadata of the external secrets to be created
namespaceSelectorThe labels to select by to find the Namespaces to create the ExternalSecrets in.
Deprecated: Use NamespaceSelectors instead.
namespaceSelectorsA list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.
namespacesChoose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing.
Deprecated: Use NamespaceSelectors instead.
refreshTimeThe time in which the controller should reconcile its objects and recheck namespaces for labels.
(Appears on: ClusterExternalSecret)
ClusterExternalSecretStatus defines the observed state of ClusterExternalSecret.
| Field | Description |
|---|---|
externalSecretName |
string
ExternalSecretName is the name of the ExternalSecrets created by the ClusterExternalSecret |
failedNamespaces |
[]ClusterExternalSecretNamespaceFailure
(Optional)
Failed namespaces are the namespaces that failed to apply an ExternalSecret |
provisionedNamespacesProvisionedNamespaces are the namespaces where the ClusterExternalSecret has secrets
conditions(Appears on: ClusterExternalSecretStatus)
ClusterExternalSecretStatusCondition defines the observed state of a ClusterExternalSecret resource.
| Field | Description |
|---|---|
type |
ClusterExternalSecretConditionType
|
status |
Kubernetes core/v1.ConditionStatus
message
ClusterSecretStore represents a secure external location for storing secrets, which can be referenced as part of storeRef fields.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
SecretStoreSpec
|
provider |
SecretStoreProvider
Used to configure the provider. Only one provider may be set |
retrySettings |
SecretStoreRetrySettings
(Optional)
Used to configure HTTP retries on failures. |
refreshIntervalUsed to configure store refresh interval in seconds. Empty or 0 will default to the controller config.
conditionsUsed to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.
status(Appears on: SecretStoreSpec)
ClusterSecretStoreCondition describes a condition by which to choose namespaces to process ExternalSecrets in for a ClusterSecretStore instance.
| Field | Description |
|---|---|
namespaceSelector |
Kubernetes meta/v1.LabelSelector
(Optional)
Choose namespace using a labelSelector |
namespaces |
[]string
(Optional)
Choose namespaces by name |
namespaceRegexesChoose namespaces by using regex matching
(Appears on: GCPWorkloadIdentityFederation)
ConfigMapReference holds the details of a configmap.
| Field | Description |
|---|---|
name |
string
name of the configmap. |
namespace |
string
namespace in which the configmap exists. If empty, configmap will looked up in local namespace. |
keykey name holding the external account credential config.
(Appears on: ConjurAuth)
ConjurAPIKey contains references to a Secret resource that holds the Conjur username and API key.
| Field | Description |
|---|---|
account |
string
Account is the Conjur organization account name. |
userRef |
External Secrets meta/v1.SecretKeySelector
A reference to a specific ‘key’ containing the Conjur username
within a Secret resource. In some instances, |
apiKeyRefA reference to a specific ‘key’ containing the Conjur API key
within a Secret resource. In some instances, key is a required field.
(Appears on: ConjurProvider)
ConjurAuth is the way to provide authentication credentials to the ConjurProvider.
| Field | Description |
|---|---|
apikey |
ConjurAPIKey
(Optional)
Authenticates with Conjur using an API key. |
jwt |
ConjurJWT
(Optional)
Jwt enables JWT authentication using Kubernetes service account tokens. |
(Appears on: ConjurAuth)
ConjurJWT defines the JWT authentication configuration for Conjur provider.
| Field | Description |
|---|---|
account |
string
Account is the Conjur organization account name. |
serviceID |
string
The conjur authn jwt webservice id |
hostIdOptional HostID for JWT authentication. This may be used depending on how the Conjur JWT authenticator policy is configured.
secretRefOptional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Conjur using the JWT authentication method.
serviceAccountRefOptional ServiceAccountRef specifies the Kubernetes service account for which to request
a token for with the TokenRequest API.
(Appears on: SecretStoreProvider)
ConjurProvider provides access to a Conjur provider.
| Field | Description |
|---|---|
url |
string
URL is the endpoint of the Conjur instance. |
caBundle |
string
(Optional)
CABundle is a PEM encoded CA bundle that will be used to validate the Conjur server certificate. |
caProviderUsed to provide custom certificate authority (CA) certificates for a secret store. The CAProvider points to a Secret or ConfigMap resource that contains a PEM-encoded certificate.
authDefines authentication settings for connecting to Conjur.
(Appears on: DVLSProvider)
DVLSAuth defines the authentication method for the DVLS provider.
| Field | Description |
|---|---|
secretRef |
DVLSAuthSecretRef
SecretRef contains the Application ID and Application Secret for authentication. |
(Appears on: DVLSAuth)
DVLSAuthSecretRef defines the secret references for DVLS authentication credentials.
| Field | Description |
|---|---|
appId |
External Secrets meta/v1.SecretKeySelector
AppID is the reference to the secret containing the Application ID. |
appSecret |
External Secrets meta/v1.SecretKeySelector
AppSecret is the reference to the secret containing the Application Secret. |
(Appears on: SecretStoreProvider)
DVLSProvider configures a store to sync secrets using Devolutions Server.
| Field | Description |
|---|---|
serverUrl |
string
ServerURL is the DVLS instance URL (e.g., https://dvls.example.com). |
insecure |
bool
(Optional)
Insecure allows connecting to DVLS over plain HTTP. This is NOT RECOMMENDED for production use. Set to true only if you understand the security implications. |
authAuth defines the authentication method to use.
(Appears on: SecretStoreProvider)
DelineaProvider provides access to Delinea secrets vault Server. See: https://github.com/DelineaXPM/dsv-sdk-go/blob/main/vault/vault.go.
| Field | Description |
|---|---|
clientId |
DelineaProviderSecretRef
ClientID is the non-secret part of the credential. |
clientSecret |
DelineaProviderSecretRef
ClientSecret is the secret part of the credential. |
tenantTenant is the chosen hostname / site name.
urlTemplateURLTemplate If unset, defaults to “https://%s.secretsvaultcloud.%s/v1/%s%s”.
tldTLD is based on the server location that was chosen during provisioning. If unset, defaults to “com”.
(Appears on: DelineaProvider)
DelineaProviderSecretRef is a secret reference containing either a direct value or a reference to a secret key.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
(Appears on: DopplerProvider)
DopplerAuth configures authentication with the Doppler API. Exactly one of secretRef or oidcConfig must be specified.
| Field | Description |
|---|---|
secretRef |
DopplerAuthSecretRef
(Optional)
SecretRef authenticates using a Doppler service token stored in a Kubernetes Secret. |
oidcConfig |
DopplerOIDCAuth
(Optional)
OIDCConfig authenticates using Kubernetes ServiceAccount tokens via OIDC. |
(Appears on: DopplerAuth)
DopplerAuthSecretRef contains the secret reference for accessing the Doppler API.
| Field | Description |
|---|---|
dopplerToken |
External Secrets meta/v1.SecretKeySelector
The DopplerToken is used for authentication. See https://docs.doppler.com/reference/api#authentication for auth token types. The Key attribute defaults to dopplerToken if not specified. |
(Appears on: DopplerAuth)
DopplerOIDCAuth configures OIDC authentication with Doppler using Kubernetes ServiceAccount tokens.
| Field | Description |
|---|---|
identity |
string
Identity is the Doppler Service Account Identity ID configured for OIDC authentication. |
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
ServiceAccountRef specifies the Kubernetes ServiceAccount to use for authentication. |
expirationSecondsExpirationSeconds sets the ServiceAccount token validity duration. Defaults to 10 minutes.
(Appears on: SecretStoreProvider)
DopplerProvider configures a store to sync secrets using the Doppler provider. Project and Config are required if not using a Service Token.
| Field | Description |
|---|---|
auth |
DopplerAuth
Auth configures how the Operator authenticates with the Doppler API |
project |
string
(Optional)
Doppler project (required if not using a Service Token) |
configDoppler config (required if not using a Service Token)
nameTransformerEnvironment variable compatible name transforms that change secret names to a different format
formatFormat enables the downloading of secrets as a file (string)
ExternalSecret is the Schema for the external-secrets API. It defines how to fetch data from external APIs and make it available as Kubernetes Secrets.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ExternalSecretSpec
|
target |
ExternalSecretTarget
(Optional) |
refreshPolicy |
ExternalSecretRefreshPolicy
(Optional)
RefreshPolicy determines how the ExternalSecret should be refreshed: - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval. No periodic updates occur if refreshInterval is 0. - OnChange: Only synchronizes the Secret when the ExternalSecret’s metadata or specification changes |
refreshIntervalRefreshInterval is the amount of time before the values are read again from the SecretStore provider, specified as Golang Duration strings. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h” Example values: “1h0m0s”, “2h30m0s”, “10m0s” May be set to “0s” to fetch and create it once. Defaults to 1h0m0s.
dataData defines the connection between the Kubernetes Secret keys and the Provider data
dataFromDataFrom is used to fetch all properties from a specific Provider data If multiple entries are specified, the Secret keys are merged in the specified order
statusstring alias)(Appears on: ExternalSecretStatusCondition)
ExternalSecretConditionType defines a value type for ExternalSecret conditions.
| Value | Description |
|---|---|
"Deleted" |
ExternalSecretDeleted indicates that the external secret has been deleted. |
"Ready" |
ExternalSecretReady indicates that the external secret is ready and synced. |
string alias)(Appears on: ExternalSecretDataRemoteRef, ExternalSecretFind)
ExternalSecretConversionStrategy defines strategies for converting secret values.
| Value | Description |
|---|---|
"Default" |
ExternalSecretConversionDefault specifies the default conversion strategy. |
"Unicode" |
ExternalSecretConversionUnicode specifies that values should be treated as Unicode. |
string alias)(Appears on: ExternalSecretTarget)
ExternalSecretCreationPolicy defines rules on how to create the resulting Secret.
| Value | Description |
|---|---|
"Merge" |
CreatePolicyMerge does not create the Secret, but merges the data fields to the Secret. |
"None" |
CreatePolicyNone does not create a Secret (future use with injector). |
"Orphan" |
CreatePolicyOrphan creates the Secret and does not set the ownerReference. I.e. it will be orphaned after the deletion of the ExternalSecret. |
"Owner" |
CreatePolicyOwner creates the Secret and sets .metadata.ownerReferences to the ExternalSecret resource. |
(Appears on: ExternalSecretSpec)
ExternalSecretData defines the connection between the Kubernetes Secret key (spec.data.) and the Provider data.
| Field | Description |
|---|---|
secretKey |
string
The key in the Kubernetes Secret to store the value. |
remoteRef |
ExternalSecretDataRemoteRef
RemoteRef points to the remote secret and defines which secret (version/property/..) to fetch. |
sourceRefSourceRef allows you to override the source from which the value will be pulled.
(Appears on: ExternalSecretSpec)
ExternalSecretDataFromRemoteRef defines the connection between the Kubernetes Secret keys and the Provider data when using DataFrom to fetch multiple values from a Provider.
| Field | Description |
|---|---|
extract |
ExternalSecretDataRemoteRef
(Optional)
Used to extract multiple key/value pairs from one secret Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef. |
find |
ExternalSecretFind
(Optional)
Used to find secrets based on tags or regular expressions Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef. |
rewriteUsed to rewrite secret Keys after getting them from the secret Provider Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
sourceRefSourceRef points to a store or generator which contains secret values ready to use. Use this in combination with Extract or Find pull values out of a specific SecretStore. When sourceRef points to a generator Extract or Find is not supported. The generator returns a static map of values
(Appears on: ExternalSecretData, ExternalSecretDataFromRemoteRef)
ExternalSecretDataRemoteRef defines Provider data location.
| Field | Description |
|---|---|
key |
string
Key is the key used in the Provider, mandatory |
metadataPolicy |
ExternalSecretMetadataPolicy
(Optional)
Policy for fetching tags/labels from provider secrets, possible options are Fetch, None. Defaults to None |
propertyUsed to select a specific property of the Provider value (if a map), if supported
versionUsed to select a specific version of the Provider value, if supported
conversionStrategyUsed to define a conversion Strategy
decodingStrategyUsed to define a decoding Strategy
nullBytePolicyControls how ESO handles fetched secret data containing NUL bytes for this source.
string alias)(Appears on: ExternalSecretDataRemoteRef, ExternalSecretFind)
ExternalSecretDecodingStrategy defines strategies for decoding secret values.
| Value | Description |
|---|---|
"Auto" |
ExternalSecretDecodeAuto specifies automatic detection of the decoding method. |
"Base64" |
ExternalSecretDecodeBase64 specifies that values should be decoded using Base64. |
"Base64URL" |
ExternalSecretDecodeBase64URL specifies that values should be decoded using Base64URL. |
"None" |
ExternalSecretDecodeNone specifies that no decoding should be performed. |
string alias)(Appears on: ExternalSecretTarget)
ExternalSecretDeletionPolicy defines rules on how to delete the resulting Secret.
| Value | Description |
|---|---|
"Delete" |
DeletionPolicyDelete deletes the secret if all provider secrets are deleted. If a secret gets deleted on the provider side and is not accessible anymore this is not considered an error and the ExternalSecret does not go into SecretSyncedError status. |
"Merge" |
DeletionPolicyMerge removes keys in the secret, but not the secret itself. If a secret gets deleted on the provider side and is not accessible anymore this is not considered an error and the ExternalSecret does not go into SecretSyncedError status. |
"Retain" |
DeletionPolicyRetain will retain the secret if all provider secrets have been deleted. If a provider secret does not exist the ExternalSecret gets into the SecretSyncedError status. |
(Appears on: ExternalSecretDataFromRemoteRef)
ExternalSecretFind defines configuration for finding secrets in the provider.
| Field | Description |
|---|---|
path |
string
(Optional)
A root path to start the find operations. |
name |
FindName
(Optional)
Finds secrets based on the name. |
tagsFind secrets based on tags.
conversionStrategyUsed to define a conversion Strategy
decodingStrategyUsed to define a decoding Strategy
nullBytePolicyControls how ESO handles fetched secret data containing NUL bytes for this find source.
(Appears on: ClusterExternalSecretSpec)
ExternalSecretMetadata defines metadata fields for the ExternalSecret generated by the ClusterExternalSecret.
| Field | Description |
|---|---|
annotations |
map[string]string
(Optional) |
labels |
map[string]string
(Optional) |
string alias)(Appears on: ExternalSecretDataRemoteRef)
ExternalSecretMetadataPolicy defines policies for fetching metadata from provider secrets.
| Value | Description |
|---|---|
"Fetch" |
ExternalSecretMetadataPolicyFetch specifies that metadata should be fetched from the provider. |
"None" |
ExternalSecretMetadataPolicyNone specifies that no metadata should be fetched from the provider. |
string alias)(Appears on: ExternalSecretDataRemoteRef, ExternalSecretFind)
ExternalSecretNullBytePolicy defines how fetched secret data containing NUL bytes should be handled.
| Value | Description |
|---|---|
"Fail" |
ExternalSecretNullBytePolicyFail fails reconciliation if fetched secret data contains NUL bytes. |
"Ignore" |
ExternalSecretNullBytePolicyIgnore allows fetched secret data to contain NUL bytes. |
string alias)(Appears on: ExternalSecretSpec)
ExternalSecretRefreshPolicy defines how and when the ExternalSecret should be refreshed.
| Value | Description |
|---|---|
"CreatedOnce" |
RefreshPolicyCreatedOnce creates the Secret once and does not update it thereafter. |
"OnChange" |
RefreshPolicyOnChange only synchronizes when the ExternalSecret’s metadata or spec changes. |
"Periodic" |
RefreshPolicyPeriodic synchronizes the Secret from the provider at regular intervals. |
(Appears on: ExternalSecretDataFromRemoteRef)
ExternalSecretRewrite defines how to rewrite secret data values before they are written to the Secret.
| Field | Description |
|---|---|
merge |
ExternalSecretRewriteMerge
(Optional)
Used to merge key/values in one single Secret The resulting key will contain all values from the specified secrets |
regexp |
ExternalSecretRewriteRegexp
(Optional)
Used to rewrite with regular expressions. The resulting key will be the output of a regexp.ReplaceAll operation. |
transformUsed to apply string transformation on the secrets. The resulting key will be the output of the template applied by the operation.
(Appears on: ExternalSecretRewrite)
ExternalSecretRewriteMerge defines configuration for merging secret values.
| Field | Description |
|---|---|
into |
string
(Optional)
Used to define the target key of the merge operation. Required if strategy is JSON. Ignored otherwise. |
priority |
[]string
(Optional)
Used to define key priority in conflict resolution. |
priorityPolicyUsed to define the policy when a key in the priority list does not exist in the input.
conflictPolicyUsed to define the policy to use in conflict resolution.
strategyUsed to define the strategy to use in the merge operation.
string alias)(Appears on: ExternalSecretRewriteMerge)
ExternalSecretRewriteMergeConflictPolicy defines the policy for resolving conflicts when merging secrets.
| Value | Description |
|---|---|
"Error" |
ExternalSecretRewriteMergeConflictPolicyError returns an error when conflicts occur during merge. |
"Ignore" |
ExternalSecretRewriteMergeConflictPolicyIgnore ignores conflicts when merging secret values. |
string alias)(Appears on: ExternalSecretRewriteMerge)
ExternalSecretRewriteMergePriorityPolicy defines the policy for handling missing keys in the priority list during merge operations.
| Value | Description |
|---|---|
"IgnoreNotFound" |
|
"Strict" |
string alias)(Appears on: ExternalSecretRewriteMerge)
ExternalSecretRewriteMergeStrategy defines the strategy for merging secrets.
| Value | Description |
|---|---|
"Extract" |
ExternalSecretRewriteMergeStrategyExtract merges secrets by extracting values. |
"JSON" |
ExternalSecretRewriteMergeStrategyJSON merges secrets using JSON merge strategy. |
(Appears on: ExternalSecretRewrite, PushSecretRewrite)
ExternalSecretRewriteRegexp defines configuration for rewriting secrets using regular expressions.
| Field | Description |
|---|---|
source |
string
Used to define the regular expression of a re.Compiler. |
target |
string
Used to define the target pattern of a ReplaceAll operation. |
(Appears on: ExternalSecretRewrite, PushSecretRewrite)
ExternalSecretRewriteTransform defines configuration for transforming secrets using templates.
| Field | Description |
|---|---|
template |
string
Used to define the template to apply on the secret name.
|
(Appears on: ClusterExternalSecretSpec, ExternalSecret)
ExternalSecretSpec defines the desired state of ExternalSecret.
| Field | Description |
|---|---|
secretStoreRef |
SecretStoreRef
(Optional) |
target |
ExternalSecretTarget
(Optional) |
refreshPolicyRefreshPolicy determines how the ExternalSecret should be refreshed: - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval. No periodic updates occur if refreshInterval is 0. - OnChange: Only synchronizes the Secret when the ExternalSecret’s metadata or specification changes
refreshIntervalRefreshInterval is the amount of time before the values are read again from the SecretStore provider, specified as Golang Duration strings. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h” Example values: “1h0m0s”, “2h30m0s”, “10m0s” May be set to “0s” to fetch and create it once. Defaults to 1h0m0s.
dataData defines the connection between the Kubernetes Secret keys and the Provider data
dataFromDataFrom is used to fetch all properties from a specific Provider data If multiple entries are specified, the Secret keys are merged in the specified order
(Appears on: ExternalSecret)
ExternalSecretStatus defines the observed state of ExternalSecret.
| Field | Description |
|---|---|
refreshTime |
Kubernetes meta/v1.Time
refreshTime is the time and date the external secret was fetched and the target secret updated |
syncedResourceVersion |
string
SyncedResourceVersion keeps track of the last synced version |
conditionsbindingBinding represents a servicebinding.io Provisioned Service reference to the secret
(Appears on: ExternalSecretStatus)
ExternalSecretStatusCondition defines a status condition of an ExternalSecret resource.
| Field | Description |
|---|---|
type |
ExternalSecretConditionType
|
status |
Kubernetes core/v1.ConditionStatus
reasonmessagelastTransitionTime(Appears on: ExternalSecretSpec)
ExternalSecretTarget defines the Kubernetes Secret to be created, there can be only one target per ExternalSecret.
| Field | Description |
|---|---|
name |
string
(Optional)
The name of the Secret resource to be managed. Defaults to the .metadata.name of the ExternalSecret resource |
creationPolicy |
ExternalSecretCreationPolicy
(Optional)
CreationPolicy defines rules on how to create the resulting Secret. Defaults to “Owner” |
deletionPolicyDeletionPolicy defines rules on how to delete the resulting Secret. Defaults to “Retain”
templateTemplate defines a blueprint for the created Secret resource.
manifestManifest defines a custom Kubernetes resource to create instead of a Secret. When specified, ExternalSecret will create the resource type defined here (e.g., ConfigMap, Custom Resource) instead of a Secret. Warning: Using Generic target. Make sure access policies and encryption are properly configured.
immutableImmutable defines if the final secret will be immutable
(Appears on: ExternalSecretTarget, PushSecretSpec)
ExternalSecretTemplate defines a blueprint for the created Secret resource. we can not use native corev1.Secret, it will have empty ObjectMeta values: https://github.com/kubernetes-sigs/controller-tools/issues/448
| Field | Description |
|---|---|
type |
Kubernetes core/v1.SecretType
(Optional) |
engineVersion |
TemplateEngineVersion
EngineVersion specifies the template engine version that should be used to compile/execute the template specified in .data and .templateFrom[]. |
metadatamergePolicydatatemplateFrom(Appears on: ExternalSecretTemplate)
ExternalSecretTemplateMetadata defines metadata fields for the Secret blueprint.
| Field | Description |
|---|---|
annotations |
map[string]string
(Optional) |
labels |
map[string]string
(Optional) |
finalizers
ExternalSecretValidator implements a validating webhook for ExternalSecrets.
(Appears on: SecretStoreProvider)
FakeProvider configures a fake provider that returns static values.
| Field | Description |
|---|---|
data |
[]FakeProviderData
|
validationResult |
ValidationResult
(Appears on: FakeProvider)
FakeProviderData defines a key-value pair with optional version for the fake provider.
| Field | Description |
|---|---|
key |
string
|
value |
string
version(Appears on: YandexCertificateManagerProvider, YandexLockboxProvider)
FetchingPolicy configures how the provider interprets the data.secretKey.remoteRef.key field in ExternalSecret.
| Field | Description |
|---|---|
byID |
ByID
|
byName |
ByName
(Appears on: ExternalSecretFind)
FindName defines criteria for finding secrets by name patterns.
| Field | Description |
|---|---|
regexp |
string
(Optional)
Finds secrets base |
(Appears on: SecretStoreProvider)
FortanixProvider provides access to Fortanix SDKMS API using the provided credentials.
| Field | Description |
|---|---|
apiUrl |
string
APIURL is the URL of SDKMS API. Defaults to |
apiKey |
FortanixProviderSecretRef
APIKey is the API token to access SDKMS Applications. |
(Appears on: FortanixProvider)
FortanixProviderSecretRef is a secret reference containing the SDKMS API Key.
| Field | Description |
|---|---|
secretRef |
External Secrets meta/v1.SecretKeySelector
SecretRef is a reference to a secret containing the SDKMS API Key. |
(Appears on: GCPSMProvider)
GCPSMAuth defines the authentication methods for Google Cloud Platform Secret Manager.
| Field | Description |
|---|---|
secretRef |
GCPSMAuthSecretRef
(Optional) |
workloadIdentity |
GCPWorkloadIdentity
(Optional) |
workloadIdentityFederation(Appears on: GCPSMAuth, VaultGCPAuth)
GCPSMAuthSecretRef contains the secret references for GCP Secret Manager authentication.
| Field | Description |
|---|---|
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The SecretAccessKey is used for authentication |
(Appears on: SecretStoreProvider)
GCPSMProvider Configures a store to sync secrets using the GCP Secret Manager provider.
| Field | Description |
|---|---|
auth |
GCPSMAuth
(Optional)
Auth defines the information necessary to authenticate against GCP |
projectID |
string
ProjectID project where secret is located |
locationLocation optionally defines a location for a secret
secretVersionSelectionPolicySecretVersionSelectionPolicy specifies how the provider selects a secret version when “latest” is disabled or destroyed. Possible values are: - LatestOrFail: the provider always uses “latest”, or fails if that version is disabled/destroyed. - LatestOrFetch: the provider falls back to fetching the latest version if the version is DESTROYED or DISABLED
(Appears on: GCPSMAuth, VaultGCPAuth)
GCPWorkloadIdentity defines configuration for workload identity authentication to GCP.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
|
clusterLocation |
string
(Optional)
ClusterLocation is the location of the cluster If not specified, it fetches information from the metadata server |
clusterNameClusterName is the name of the cluster If not specified, it fetches information from the metadata server
clusterProjectIDClusterProjectID is the project ID of the cluster If not specified, it fetches information from the metadata server
(Appears on: GCPSMAuth, GCPSMAuth)
GCPWorkloadIdentityFederation holds the configurations required for generating federated access tokens.
| Field | Description |
|---|---|
credConfig |
ConfigMapReference
credConfig holds the configmap reference containing the GCP external account credential configuration in JSON format and the key name containing the json data. For using Kubernetes cluster as the identity provider, use serviceAccountRef instead. Operators mounted serviceaccount token cannot be used as the token source, instead serviceAccountRef must be used by providing operators service account details. |
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
serviceAccountRef is the reference to the kubernetes ServiceAccount to be used for obtaining the tokens, when Kubernetes is configured as provider in workload identity pool. |
awsSecurityCredentialsawsSecurityCredentials is for configuring AWS region and credentials to use for obtaining the access token, when using the AWS metadata server is not an option.
audienceaudience is the Secure Token Service (STS) audience which contains the resource name for the workload identity pool and the provider identifier in that pool. If specified, Audience found in the external account credential config will be overridden with the configured value. audience must be provided when serviceAccountRef or awsSecurityCredentials is configured.
externalTokenEndpointexternalTokenEndpoint is the endpoint explicitly set up to provide tokens, which will be matched against the credential_source.url in the provided credConfig. This field is merely to double-check the external token source URL is having the expected value.
(Appears on: InfisicalAuth)
GcpIDTokenAuthCredentials represents the credentials for GCP ID token authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
(Appears on: InfisicalAuth)
GcpIamAuthCredentials represents the credentials for GCP IAM authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
|
serviceAccountKeyFilePath |
External Secrets meta/v1.SecretKeySelector
(Appears on: StoreGeneratorSourceRef, StoreSourceRef, PushSecretSelector)
GeneratorRef points to a generator custom resource.
| Field | Description |
|---|---|
apiVersion |
string
Specify the apiVersion of the generator resource |
kind |
string
Specify the Kind of the generator resource |
nameSpecify the name of the generator resource
GenericClusterStoreValidator implements webhook validation for ClusterSecretStore resources.
GenericStore is a common interface for interacting with ClusterSecretStore or a namespaced SecretStore.
GenericStoreValidator implements webhook validation for SecretStore resources.
(Appears on: GithubProvider)
GithubAppAuth defines authentication configuration using a GitHub App for accessing GitHub API.
| Field | Description |
|---|---|
privateKey |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
GithubProvider provides access and authentication to a GitHub instance .
| Field | Description |
|---|---|
url |
string
URL configures the Github instance URL. Defaults to https://github.com/. |
uploadURL |
string
(Optional)
Upload URL for enterprise instances. Default to URL. |
authauth configures how secret-manager authenticates with a Github instance.
appIDappID specifies the Github APP that will be used to authenticate the client
installationIDinstallationID specifies the Github APP installation that will be used to authenticate the client
organizationorganization will be used to fetch secrets from the Github organization
repositoryrepository will be used to fetch secrets from the Github repository within an organization
environmentenvironment will be used to fetch secrets from a particular environment within a github repository
orgSecretVisibilityorgSecretVisibility controls the visibility of organization secrets pushed via PushSecret. Valid values are “all” or “private”. When unset, new secrets are created with visibility “all” and existing secrets preserve whatever visibility they already have in GitHub.
(Appears on: GitlabProvider)
GitlabAuth defines the authentication method for accessing GitLab API.
| Field | Description |
|---|---|
SecretRef |
GitlabSecretRef
(Appears on: SecretStoreProvider)
GitlabProvider configures a store to sync secrets with a GitLab instance.
| Field | Description |
|---|---|
url |
string
URL configures the GitLab instance URL. Defaults to https://gitlab.com/. |
auth |
GitlabAuth
Auth configures how secret-manager authenticates with a GitLab instance. |
projectIDProjectID specifies a project where secrets are located.
inheritFromGroupsInheritFromGroups specifies whether parent groups should be discovered and checked for secrets.
groupIDsGroupIDs specify, which gitlab groups to pull secrets from. Group secrets are read from left to right followed by the project variables.
environmentEnvironment environment_scope of gitlab CI/CD variables (Please see https://docs.gitlab.com/ee/ci/environments/#create-a-static-environment on how to create environments)
caBundleBase64 encoded certificate for the GitLab server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.
caProvidersee: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider
(Appears on: GitlabAuth)
GitlabSecretRef contains the secret reference for GitLab authentication credentials.
| Field | Description |
|---|---|
accessToken |
External Secrets meta/v1.SecretKeySelector
AccessToken is used for authentication. |
(Appears on: IBMProvider)
IBMAuth defines authentication options for connecting to IBM Cloud Secrets Manager.
| Field | Description |
|---|---|
secretRef |
IBMAuthSecretRef
|
containerAuth |
IBMAuthContainerAuth
(Appears on: IBMAuth)
IBMAuthContainerAuth defines container-based authentication with IAM Trusted Profile.
| Field | Description |
|---|---|
profile |
string
the IBM Trusted Profile |
tokenLocation |
string
Location the token is mounted on the pod |
iamEndpoint(Appears on: IBMAuth)
IBMAuthSecretRef contains the secret reference for IBM Cloud API key authentication.
| Field | Description |
|---|---|
secretApiKeySecretRef |
External Secrets meta/v1.SecretKeySelector
The SecretAccessKey is used for authentication |
iamEndpoint |
string
The IAM endpoint used to obain a token |
(Appears on: SecretStoreProvider)
IBMProvider configures a store to sync secrets using a IBM Cloud Secrets Manager backend.
| Field | Description |
|---|---|
auth |
IBMAuth
Auth configures how secret-manager authenticates with the IBM secrets manager. |
serviceUrl |
string
ServiceURL is the Endpoint URL that is specific to the Secrets Manager service instance |
(Appears on: InfisicalProvider)
InfisicalAuth specifies the authentication configuration for Infisical.
| Field | Description |
|---|---|
universalAuthCredentials |
UniversalAuthCredentials
(Optional) |
azureAuthCredentials |
AzureAuthCredentials
(Optional) |
gcpIdTokenAuthCredentialsgcpIamAuthCredentialsjwtAuthCredentialsldapAuthCredentialsociAuthCredentialskubernetesAuthCredentialsawsAuthCredentialstokenAuthCredentials(Appears on: SecretStoreProvider)
InfisicalProvider configures a store to sync secrets using the Infisical provider.
| Field | Description |
|---|---|
auth |
InfisicalAuth
Auth configures how the Operator authenticates with the Infisical API |
secretsScope |
MachineIdentityScopeInWorkspace
SecretsScope defines the scope of the secrets within the workspace |
hostAPIHostAPI specifies the base URL of the Infisical API. If not provided, it defaults to “https://app.infisical.com/api”.
caBundleCABundle is a PEM-encoded CA certificate bundle used to validate the Infisical server’s TLS certificate. Mutually exclusive with CAProvider.
caProviderCAProvider is a reference to a Secret or ConfigMap that contains a CA certificate. The certificate is used to validate the Infisical server’s TLS certificate. Mutually exclusive with CABundle.
(Appears on: OnePasswordSDKProvider)
IntegrationInfo specifies the name and version of the integration built using the 1Password Go SDK.
| Field | Description |
|---|---|
name |
string
Name defaults to “1Password SDK”. |
version |
string
Version defaults to “v1.0.0”. |
(Appears on: InfisicalAuth)
JwtAuthCredentials represents the credentials for JWT authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
|
jwt |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
KeeperSecurityProvider Configures a store to sync secrets using Keeper Security.
| Field | Description |
|---|---|
authRef |
External Secrets meta/v1.SecretKeySelector
|
folderID |
string
(Appears on: KubernetesProvider)
KubernetesAuth defines authentication options for connecting to a Kubernetes cluster.
| Field | Description |
|---|---|
cert |
CertAuth
(Optional)
has both clientCert and clientKey as secretKeySelector |
token |
TokenAuth
(Optional)
use static token to authenticate with |
serviceAccountpoints to a service account that should be used for authentication
(Appears on: InfisicalAuth)
KubernetesAuthCredentials represents the credentials for Kubernetes authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
|
serviceAccountTokenPath |
External Secrets meta/v1.SecretKeySelector
(Optional) |
(Appears on: SecretStoreProvider)
KubernetesProvider configures a store to sync secrets with a Kubernetes instance.
| Field | Description |
|---|---|
server |
KubernetesServer
(Optional)
configures the Kubernetes server Address. |
auth |
KubernetesAuth
(Optional)
Auth configures how secret-manager authenticates with a Kubernetes instance. |
authRefA reference to a secret that contains the auth information.
remoteNamespaceRemote namespace to fetch the secrets from
(Appears on: KubernetesProvider)
KubernetesServer defines configuration for connecting to a Kubernetes API server.
| Field | Description |
|---|---|
url |
string
(Optional)
configures the Kubernetes server Address. |
caBundle |
[]byte
(Optional)
CABundle is a base64-encoded CA certificate |
caProvidersee: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider
(Appears on: InfisicalAuth)
LdapAuthCredentials represents the credentials for LDAP authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
|
ldapPassword |
External Secrets meta/v1.SecretKeySelector
ldapUsername(Appears on: InfisicalProvider)
MachineIdentityScopeInWorkspace defines the scope for machine identity within a workspace.
| Field | Description |
|---|---|
secretsPath |
string
(Optional)
SecretsPath specifies the path to the secrets within the workspace. Defaults to “/” if not provided. |
recursive |
bool
(Optional)
Recursive indicates whether the secrets should be fetched recursively. Defaults to false if not provided. |
environmentSlugEnvironmentSlug is the required slug identifier for the environment.
projectSlugProjectSlug is the required slug identifier for the project.
expandSecretReferencesExpandSecretReferences indicates whether secret references should be expanded. Defaults to true if not provided.
string alias)
MaintenanceStatus defines a type for different maintenance states of a provider schema.
| Value | Description |
|---|---|
"Deprecated" |
|
"Maintained" |
|
"NotMaintained" |
(Appears on: ExternalSecretTarget)
ManifestReference defines a custom Kubernetes resource type to be created instead of a Secret. This allows ExternalSecret to create ConfigMaps, Custom Resources, or any other Kubernetes resource type.
| Field | Description |
|---|---|
apiVersion |
string
APIVersion of the target resource (e.g., “v1” for ConfigMap, “argoproj.io/v1alpha1” for ArgoCD Application) |
kind |
string
Kind of the target resource (e.g., “ConfigMap”, “Application”) |
(Appears on: AuthorizationProtocol)
NTLMProtocol contains the NTLM-specific configuration.
| Field | Description |
|---|---|
usernameSecret |
External Secrets meta/v1.SecretKeySelector
|
passwordSecret |
External Secrets meta/v1.SecretKeySelector
(Appears on: NebiusMysteryboxProvider)
NebiusAuth defines the authentication method for the Nebius provider.
| Field | Description |
|---|---|
serviceAccountCredsSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
ServiceAccountCreds references a Kubernetes Secret key that contains a JSON document with service account credentials used to get an IAM token. Expected JSON structure: { “subject-credentials”: { “alg”: “RS256”, “private-key”: “—–BEGIN PRIVATE KEY—–\n\n—–END PRIVATE KEY—–\n”, “kid”: “”, “iss”: “”, “sub”: “” } } |
tokenSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
Token authenticates with Nebius Mysterybox by presenting a token. |
| Field | Description |
|---|---|
certSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional) |
(Appears on: SecretStoreProvider)
NebiusMysteryboxProvider Configures a store to sync secrets using the Nebius Mysterybox provider.
| Field | Description |
|---|---|
apiDomain |
string
NebiusMysterybox API endpoint |
auth |
NebiusAuth
Auth defines parameters to authenticate in MysteryBox |
caProviderThe provider for the CA bundle to use to validate NebiusMysterybox server certificate.
(Appears on: NgrokProvider)
NgrokAuth configures the authentication method for the ngrok provider.
| Field | Description |
|---|---|
apiKey |
NgrokProviderSecretRef
(Optional)
APIKey is the API Key used to authenticate with ngrok. See https://ngrok.com/docs/api/#authentication |
(Appears on: SecretStoreProvider)
NgrokProvider configures a store to sync secrets with a ngrok vault to use in traffic policies. See: https://ngrok.com/blog-post/secrets-for-traffic-policy
| Field | Description |
|---|---|
apiUrl |
string
APIURL is the URL of the ngrok API. |
auth |
NgrokAuth
Auth configures how the ngrok provider authenticates with the ngrok API. |
vaultVault configures the ngrok vault to sync secrets with.
(Appears on: NgrokAuth)
NgrokProviderSecretRef contains the secret reference for the ngrok provider.
| Field | Description |
|---|---|
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef is a reference to a secret containing the ngrok API key. |
(Appears on: NgrokProvider)
NgrokVault configures the ngrok vault to sync secrets with.
| Field | Description |
|---|---|
name |
string
Name is the name of the ngrok vault to sync secrets with. |
NoSecretError shall be returned when a GetSecret can not find the desired secret. This is used for deletionPolicy.
NotModifiedError to signal that the webhook received no changes, and it should just return without doing anything.
(Appears on: InfisicalAuth)
OciAuthCredentials represents the credentials for OCI authentication.
| Field | Description |
|---|---|
identityId |
External Secrets meta/v1.SecretKeySelector
|
privateKey |
External Secrets meta/v1.SecretKeySelector
privateKeyPassphrasefingerprintuserIdtenancyIdregion(Appears on: OnboardbaseProvider)
OnboardbaseAuthSecretRef holds secret references for onboardbase API Key credentials.
| Field | Description |
|---|---|
apiKeyRef |
External Secrets meta/v1.SecretKeySelector
OnboardbaseAPIKey is the APIKey generated by an admin account. It is used to recognize and authorize access to a project and environment within onboardbase |
passcodeRef |
External Secrets meta/v1.SecretKeySelector
OnboardbasePasscode is the passcode attached to the API Key |
(Appears on: SecretStoreProvider)
OnboardbaseProvider configures a store to sync secrets using the Onboardbase provider. Project and Config are required if not using a Service Token.
| Field | Description |
|---|---|
auth |
OnboardbaseAuthSecretRef
Auth configures how the Operator authenticates with the Onboardbase API |
apiHost |
string
APIHost use this to configure the host url for the API for selfhosted installation, default is https://public.onboardbase.com/api/v1/ |
projectProject is an onboardbase project that the secrets should be pulled from
environmentEnvironment is the name of an environmnent within a project to pull the secrets from
(Appears on: OnePasswordProvider)
OnePasswordAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
OnePasswordAuthSecretRef
(Appears on: OnePasswordAuth)
OnePasswordAuthSecretRef holds secret references for 1Password credentials.
| Field | Description |
|---|---|
connectTokenSecretRef |
External Secrets meta/v1.SecretKeySelector
The ConnectToken is used for authentication to a 1Password Connect Server. |
(Appears on: SecretStoreProvider)
OnePasswordProvider configures a store to sync secrets using the 1Password Secret Manager provider.
| Field | Description |
|---|---|
auth |
OnePasswordAuth
Auth defines the information necessary to authenticate against OnePassword Connect Server |
connectHost |
string
ConnectHost defines the OnePassword Connect Server to connect to |
vaultsVaults defines which OnePassword vaults to search in which order
(Appears on: OnePasswordSDKProvider)
OnePasswordSDKAuth contains a secretRef for the service account token.
| Field | Description |
|---|---|
serviceAccountSecretRef |
External Secrets meta/v1.SecretKeySelector
ServiceAccountSecretRef points to the secret containing the token to access 1Password vault. |
(Appears on: SecretStoreProvider)
OnePasswordSDKProvider configures a store to sync secrets using the 1Password sdk.
| Field | Description |
|---|---|
vault |
string
Vault defines the vault’s name or uuid to access. Do NOT add op:// prefix. This will be done automatically. |
integrationInfo |
IntegrationInfo
(Optional)
IntegrationInfo specifies the name and version of the integration built using the 1Password Go SDK.
If you don’t know which name and version to use, use |
authAuth defines the information necessary to authenticate against OnePassword API.
cacheCache configures client-side caching for read operations (GetSecret, GetSecretMap). When enabled, secrets are cached with the specified TTL. Write operations (PushSecret, DeleteSecret) automatically invalidate relevant cache entries. If omitted, caching is disabled (default). cache: {} is a valid option to set.
(Appears on: OracleProvider)
OracleAuth defines the authentication method for the Oracle Vault provider.
| Field | Description |
|---|---|
tenancy |
string
Tenancy is the tenancy OCID where user is located. |
user |
string
User is an access OCID specific to the account. |
secretRefSecretRef to pass through sensitive information.
string alias)(Appears on: OracleProvider)
OraclePrincipalType defines the type of principal used for authentication with Oracle Vault.
| Value | Description |
|---|---|
"InstancePrincipal" |
InstancePrincipal represents a instance principal. |
"UserPrincipal" |
UserPrincipal represents a user principal. |
"Workload" |
WorkloadPrincipal represents a workload principal. |
(Appears on: SecretStoreProvider)
OracleProvider configures a store to sync secrets using an Oracle Vault backend.
| Field | Description |
|---|---|
region |
string
Region is the region where vault is located. |
vault |
string
Vault is the vault’s OCID of the specific vault where secret is located. |
compartmentCompartment is the vault compartment OCID. Required for PushSecret
encryptionKeyEncryptionKey is the OCID of the encryption key within the vault. Required for PushSecret
principalTypeThe type of principal to use for authentication. If left blank, the Auth struct will determine the principal type. This optional field must be specified if using workload identity.
authAuth configures how secret-manager authenticates with the Oracle Vault. If empty, use the instance principal, otherwise the user credentials specified in Auth.
serviceAccountRefServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.
(Appears on: OracleAuth)
OracleSecretRef contains the secret reference for Oracle Vault authentication credentials.
| Field | Description |
|---|---|
privatekey |
External Secrets meta/v1.SecretKeySelector
PrivateKey is the user’s API Signing Key in PEM format, used for authentication. |
fingerprint |
External Secrets meta/v1.SecretKeySelector
Fingerprint is the fingerprint of the API private key. |
(Appears on: OvhProvider)
OvhAuth tells the controller how to authenticate to OVHcloud’s Secret Manager, either using mTLS or a token.
| Field | Description |
|---|---|
mtls |
OvhClientMTLS
(Optional) |
token |
OvhClientToken
(Optional) |
(Appears on: OvhAuth)
OvhClientMTLS defines the configuration required to authenticate to OVHcloud’s Secret Manager using mTLS.
| Field | Description |
|---|---|
certSecretRef |
External Secrets meta/v1.SecretKeySelector
|
keySecretRef |
External Secrets meta/v1.SecretKeySelector
caBundlecaProvider(Appears on: OvhAuth)
OvhClientToken defines the configuration required to authenticate to OVHcloud’s Secret Manager using a token.
| Field | Description |
|---|---|
tokenSecretRef |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
OvhProvider holds the configuration to synchronize secrets with OVHcloud’s Secret Manager.
| Field | Description |
|---|---|
server |
string
specifies the OKMS server endpoint. |
okmsid |
string
specifies the OKMS ID. |
casRequiredEnables or disables check-and-set (CAS) (default: false).
okmsTimeoutSetup a timeout in seconds when requests to the KMS are made (default: 30).
authAuthentication method (mtls or token).
(Appears on: PassboltProvider)
PassboltAuth contains a secretRef for the passbolt credentials.
| Field | Description |
|---|---|
passwordSecretRef |
External Secrets meta/v1.SecretKeySelector
|
privateKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
PassboltProvider provides access to Passbolt secrets manager. See: https://www.passbolt.com.
| Field | Description |
|---|---|
auth |
PassboltAuth
Auth defines the information necessary to authenticate against Passbolt Server |
host |
string
Host defines the Passbolt Server to connect to |
(Appears on: PasswordDepotProvider)
PasswordDepotAuth defines the authentication method for the Password Depot provider.
| Field | Description |
|---|---|
secretRef |
PasswordDepotSecretRef
(Appears on: SecretStoreProvider)
PasswordDepotProvider configures a store to sync secrets with a Password Depot instance.
| Field | Description |
|---|---|
host |
string
URL configures the Password Depot instance URL. |
database |
string
Database to use as source |
authAuth configures how secret-manager authenticates with a Password Depot instance.
(Appears on: PasswordDepotAuth)
PasswordDepotSecretRef contains the secret reference for Password Depot authentication.
| Field | Description |
|---|---|
credentials |
External Secrets meta/v1.SecretKeySelector
(Optional)
Username / Password is used for authentication. |
(Appears on: PreviderProvider)
PreviderAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
PreviderAuthSecretRef
(Optional) |
(Appears on: PreviderAuth)
PreviderAuthSecretRef holds secret references for Previder Vault credentials.
| Field | Description |
|---|---|
accessToken |
External Secrets meta/v1.SecretKeySelector
The AccessToken is used for authentication |
(Appears on: SecretStoreProvider)
PreviderProvider configures a store to sync secrets using the Previder Secret Manager provider.
| Field | Description |
|---|---|
auth |
PreviderAuth
|
baseUri |
string
(Optional) |
Provider is a common interface for interacting with secret backends.
(Appears on: SecretStoreProvider)
PulumiProvider defines configuration for accessing secrets from Pulumi ESC.
| Field | Description |
|---|---|
apiUrl |
string
APIURL is the URL of the Pulumi API. |
accessToken |
PulumiProviderSecretRef
AccessToken is the access tokens to sign in to the Pulumi Cloud Console. |
organizationOrganization are a space to collaborate on shared projects and stacks. To create a new organization, visit https://app.pulumi.com/ and click “New Organization”.
projectProject is the name of the Pulumi ESC project the environment belongs to.
environmentEnvironment are YAML documents composed of static key-value pairs, programmatic expressions, dynamically retrieved values from supported providers including all major clouds, and other Pulumi ESC environments. To create a new environment, visit https://www.pulumi.com/docs/esc/environments/ for more information.
(Appears on: PulumiProvider)
PulumiProviderSecretRef contains the secret reference for Pulumi authentication.
| Field | Description |
|---|---|
secretRef |
External Secrets meta/v1.SecretKeySelector
SecretRef is a reference to a secret containing the Pulumi API token. |
PushSecretData is an interface to allow using v1alpha1.PushSecretData content in Provider registered in v1.
PushSecretRemoteRef is an interface to allow using v1alpha1.PushSecretRemoteRef in Provider registered in v1.
(Appears on: SecretStoreProvider)
ScalewayProvider defines the configuration for the Scaleway Secret Manager provider.
| Field | Description |
|---|---|
apiUrl |
string
(Optional)
APIURL is the url of the api to use. Defaults to https://api.scaleway.com |
region |
string
Region where your secrets are located: https://developers.scaleway.com/en/quickstart/#region-and-zone |
projectIdProjectID is the id of your project, which you can find in the console: https://console.scaleway.com/project/settings
accessKeyAccessKey is the non-secret part of the api key.
secretKeySecretKey is the non-secret part of the api key.
(Appears on: ScalewayProvider)
ScalewayProviderSecretRef defines the configuration for Scaleway secret references.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
(Appears on: AwsCredentialsConfig)
SecretReference holds the details of a secret.
| Field | Description |
|---|---|
name |
string
name of the secret. |
namespace |
string
namespace in which the secret exists. If empty, secret will looked up in local namespace. |
(Appears on: SecretStoreProvider)
SecretServerProvider provides access to authenticate to a secrets provider server. See: https://github.com/DelineaXPM/tss-sdk-go/blob/main/server/server.go.
| Field | Description |
|---|---|
username |
SecretServerProviderRef
Username is the secret server account username. |
password |
SecretServerProviderRef
Password is the secret server account password. |
domainDomain is the secret server domain.
serverURLServerURL URL to your secret server installation
caBundlePEM/base64 encoded CA bundle used to validate Secret ServerURL. Only used if the ServerURL URL is using HTTPS protocol. If not set the system root certificates are used to validate the TLS connection.
caProviderThe provider for the CA bundle to use to validate Secret ServerURL certificate.
(Appears on: SecretServerProvider)
SecretServerProviderRef references a value that can be specified directly or via a secret for a SecretServerProvider.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
SecretStore represents a secure external location for storing secrets, which can be referenced as part of storeRef fields.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
SecretStoreSpec
|
provider |
SecretStoreProvider
Used to configure the provider. Only one provider may be set |
retrySettings |
SecretStoreRetrySettings
(Optional)
Used to configure HTTP retries on failures. |
refreshIntervalUsed to configure store refresh interval in seconds. Empty or 0 will default to the controller config.
conditionsUsed to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.
statusstring alias)(Appears on: SecretStoreStatus)
SecretStoreCapabilities defines the possible operations a SecretStore can do.
| Value | Description |
|---|---|
"ReadOnly" |
SecretStoreReadOnly indicates that the store can only read secrets. |
"ReadWrite" |
SecretStoreReadWrite indicates that the store can both read and write secrets. |
"WriteOnly" |
SecretStoreWriteOnly indicates that the store can only write secrets. |
string alias)(Appears on: SecretStoreStatusCondition)
SecretStoreConditionType represents the condition of the SecretStore.
| Value | Description |
|---|---|
"Ready" |
SecretStoreReady indicates that the store is ready and able to serve requests. |
(Appears on: SecretStoreSpec)
SecretStoreProvider contains the provider-specific configuration.
| Field | Description |
|---|---|
aws |
AWSProvider
(Optional)
AWS configures this store to sync secrets using AWS Secret Manager provider |
azurekv |
AzureKVProvider
(Optional)
AzureKV configures this store to sync secrets using Azure Key Vault provider |
akeylessAkeyless configures this store to sync secrets using Akeyless Vault provider
bitwardensecretsmanagerBitwardenSecretsManager configures this store to sync secrets using BitwardenSecretsManager provider
vaultVault configures this store to sync secrets using the HashiCorp Vault provider.
ovhOVHcloud configures this store to sync secrets using the OVHcloud provider.
gcpsmGCPSM configures this store to sync secrets using Google Cloud Platform Secret Manager provider
oracleOracle configures this store to sync secrets using Oracle Vault provider
ibmIBM configures this store to sync secrets using IBM Cloud provider
yandexcertificatemanagerYandexCertificateManager configures this store to sync secrets using Yandex Certificate Manager provider
yandexlockboxYandexLockbox configures this store to sync secrets using Yandex Lockbox provider
githubGithub configures this store to push GitHub Actions secrets using the GitHub API provider. Note: This provider only supports write operations (PushSecret) and cannot fetch secrets from GitHub
gitlabGitLab configures this store to sync secrets using GitLab Variables provider
onepasswordOnePassword configures this store to sync secrets using the 1Password Cloud provider
onepasswordSDKOnePasswordSDK configures this store to use 1Password’s new Go SDK to sync secrets.
webhookWebhook configures this store to sync secrets using a generic templated webhook
kubernetesKubernetes configures this store to sync secrets using a Kubernetes cluster provider
fakeFake configures a store with static key/value pairs
senhaseguraSenhasegura configures this store to sync secrets using senhasegura provider
scalewayScaleway configures this store to sync secrets using the Scaleway provider.
dopplerDoppler configures this store to sync secrets using the Doppler provider
previderPrevider configures this store to sync secrets using the Previder provider
onboardbaseOnboardbase configures this store to sync secrets using the Onboardbase provider
keepersecurityKeeperSecurity configures this store to sync secrets using the KeeperSecurity provider
conjurConjur configures this store to sync secrets using conjur provider
delineaDelinea DevOps Secrets Vault https://docs.delinea.com/online-help/products/devops-secrets-vault/current
secretserverSecretServer configures this store to sync secrets using SecretServer provider https://docs.delinea.com/online-help/secret-server/start.htm
chefChef configures this store to sync secrets with chef server
pulumiPulumi configures this store to sync secrets using the Pulumi provider
fortanixFortanix configures this store to sync secrets using the Fortanix provider
passworddepotpassboltdvlsDVLS configures this store to sync secrets using Devolutions Server provider
infisicalInfisical configures this store to sync secrets using the Infisical provider
beyondtrustBeyondtrust configures this store to sync secrets using Password Safe provider.
cloudrusmCloudruSM configures this store to sync secrets using the Cloud.ru Secret Manager provider
volcengineVolcengine configures this store to sync secrets using the Volcengine provider
ngrokNgrok configures this store to sync secrets using the ngrok provider.
barbicanBarbican configures this store to sync secrets using the OpenStack Barbican provider
nebiusmysteryboxNebiusMysterybox configures this store to sync secrets using NebiusMysterybox provider
(Appears on: ExternalSecretSpec, StoreGeneratorSourceRef, StoreSourceRef)
SecretStoreRef defines which SecretStore to fetch the ExternalSecret data.
| Field | Description |
|---|---|
name |
string
Name of the SecretStore resource |
kind |
string
(Optional)
Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
Defaults to |
(Appears on: SecretStoreSpec, VaultDynamicSecretSpec)
SecretStoreRetrySettings defines the retry settings for accessing external secrets manager stores.
| Field | Description |
|---|---|
maxRetries |
int32
|
retryInterval |
string
(Appears on: ClusterSecretStore, SecretStore)
SecretStoreSpec defines the desired state of SecretStore.
| Field | Description |
|---|---|
controller |
string
(Optional)
Used to select the correct ESO controller (think: ingress.ingressClassName) The ESO controller is instantiated with a specific controller name and filters ES based on this property |
provider |
SecretStoreProvider
Used to configure the provider. Only one provider may be set |
retrySettingsUsed to configure HTTP retries on failures.
refreshIntervalUsed to configure store refresh interval in seconds. Empty or 0 will default to the controller config.
conditionsUsed to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.
(Appears on: ClusterSecretStore, SecretStore)
SecretStoreStatus defines the observed state of the SecretStore.
| Field | Description |
|---|---|
conditions |
[]SecretStoreStatusCondition
(Optional) |
capabilities |
SecretStoreCapabilities
(Optional) |
(Appears on: SecretStoreStatus)
SecretStoreStatusCondition contains condition information for a SecretStore.
| Field | Description |
|---|---|
type |
SecretStoreConditionType
|
status |
Kubernetes core/v1.ConditionStatus
reasonmessagelastTransitionTimestring alias)(Appears on: GCPSMProvider)
SecretVersionSelectionPolicy defines the policy for selecting secret versions in GCP Secret Manager.
| Value | Description |
|---|---|
"LatestOrFail" |
SecretVersionSelectionPolicyLatestOrFail means the provider always uses “latest”, or fails if that version is disabled/destroyed. |
"LatestOrFetch" |
SecretVersionSelectionPolicyLatestOrFetch behaves like SecretVersionSelectionPolicyLatestOrFail but falls back to fetching the latest version if the version is DESTROYED or DISABLED. |
SecretsClient provides access to secrets.
(Appears on: AWSProvider)
SecretsManager defines how the provider behaves when interacting with AWS SecretsManager. Some of these settings are only applicable to controlling how secrets are deleted, and hence only apply to PushSecret (and only when deletionPolicy is set to Delete).
| Field | Description |
|---|---|
forceDeleteWithoutRecovery |
bool
(Optional)
Specifies whether to delete the secret without any recovery window. You can’t use both this parameter and RecoveryWindowInDays in the same call. If you don’t use either, then by default Secrets Manager uses a 30 day recovery window. see: https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html#SecretsManager-DeleteSecret-request-ForceDeleteWithoutRecovery |
recoveryWindowInDays |
int64
(Optional)
The number of days from 7 to 30 that Secrets Manager waits before permanently deleting the secret. You can’t use both this parameter and ForceDeleteWithoutRecovery in the same call. If you don’t use either, then by default Secrets Manager uses a 30-day recovery window. see: https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html#SecretsManager-DeleteSecret-request-RecoveryWindowInDays |
(Appears on: SenhaseguraProvider)
SenhaseguraAuth tells the controller how to do auth in senhasegura.
| Field | Description |
|---|---|
clientId |
string
|
clientSecretSecretRef |
External Secrets meta/v1.SecretKeySelector
string alias)(Appears on: SenhaseguraProvider)
SenhaseguraModuleType enum defines senhasegura target module to fetch secrets
| Value | Description |
|---|---|
"DSM" |
|
(Appears on: SecretStoreProvider)
SenhaseguraProvider setup a store to sync secrets with senhasegura.
| Field | Description |
|---|---|
url |
string
URL of senhasegura |
module |
SenhaseguraModuleType
Module defines which senhasegura module should be used to get secrets |
authAuth defines parameters to authenticate in senhasegura
ignoreSslCertificateIgnoreSslCertificate defines if SSL certificate must be ignored
(Appears on: ExternalSecretDataFromRemoteRef)
StoreGeneratorSourceRef allows you to override the source from which the secret will be pulled from. You can define at maximum one property.
| Field | Description |
|---|---|
storeRef |
SecretStoreRef
(Optional) |
generatorRef |
GeneratorRef
(Optional)
GeneratorRef points to a generator custom resource. |
(Appears on: ExternalSecretData)
StoreSourceRef allows you to override the SecretStore source from which the secret will be pulled from. You can define at maximum one property.
| Field | Description |
|---|---|
storeRef |
SecretStoreRef
(Optional) |
generatorRef |
GeneratorRef
GeneratorRef points to a generator custom resource. Deprecated: The generatorRef is not implemented in .data[]. this will be removed with v1. |
Tag is a key-value pair that can be attached to an AWS resource. see: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
| Field | Description |
|---|---|
key |
string
|
value |
string
string alias)(Appears on: ExternalSecretTemplate)
TemplateEngineVersion specifies the template engine version that should be used to compile/execute the template.
| Value | Description |
|---|---|
"v2" |
TemplateEngineV2 is the currently supported template engine version. |
(Appears on: ExternalSecretTemplate)
TemplateFrom specifies a source for templates. Each item in the list can either reference a ConfigMap or a Secret resource.
| Field | Description |
|---|---|
configMap |
TemplateRef
|
secret |
TemplateRef
targetTarget specifies where to place the template result. For Secret resources, common values are: “Data”, “Annotations”, “Labels”. For custom resources (when spec.target.manifest is set), this supports nested paths like “spec.database.config” or “data”.
literalstring alias)(Appears on: ExternalSecretTemplate)
TemplateMergePolicy defines how the rendered template should be merged with the existing Secret data.
| Value | Description |
|---|---|
"Merge" |
|
"Replace" |
(Appears on: TemplateFrom)
TemplateRef specifies a reference to either a ConfigMap or a Secret resource.
| Field | Description |
|---|---|
name |
string
The name of the ConfigMap/Secret resource |
items |
[]TemplateRefItem
A list of keys in the ConfigMap/Secret to use as templates for Secret data |
(Appears on: TemplateRef)
TemplateRefItem specifies a key in the ConfigMap/Secret to use as a template for Secret data.
| Field | Description |
|---|---|
key |
string
A key in the ConfigMap/Secret |
templateAs |
TemplateScope
string alias)(Appears on: TemplateRefItem)
TemplateScope specifies how the template keys should be interpreted.
| Value | Description |
|---|---|
"KeysAndValues" |
|
"Values" |
(Appears on: KubernetesAuth)
TokenAuth defines token-based authentication configuration for Kubernetes.
| Field | Description |
|---|---|
bearerToken |
External Secrets meta/v1.SecretKeySelector
(Appears on: InfisicalAuth)
TokenAuthCredentials represents the credentials for access token-based authentication.
| Field | Description |
|---|---|
accessToken |
External Secrets meta/v1.SecretKeySelector
(Appears on: InfisicalAuth)
UniversalAuthCredentials represents the client credentials for universal authentication.
| Field | Description |
|---|---|
clientId |
External Secrets meta/v1.SecretKeySelector
|
clientSecret |
External Secrets meta/v1.SecretKeySelector
byte alias)(Appears on: FakeProvider)
ValidationResult is defined type for the number of validation results.
| Value | Description |
|---|---|
2 |
ValidationResultError indicates that there is a misconfiguration. |
0 |
ValidationResultReady indicates that the client is configured correctly and can be used. |
1 |
ValidationResultUnknown indicates that the client can be used but information is missing, and it can not be validated. |
(Appears on: VaultAuth)
VaultAppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
path |
string
Path where the App Role authentication backend is mounted in Vault, e.g: “approle” |
roleId |
string
(Optional)
RoleID configured in the App Role authentication backend when setting up the authentication backend in Vault. |
roleRefReference to a key in a Secret that contains the App Role ID used
to authenticate with Vault.
The key field must be specified and denotes which entry within the Secret
resource is used as the app role id.
secretRefReference to a key in a Secret that contains the App Role secret used
to authenticate with Vault.
The key field must be specified and denotes which entry within the Secret
resource is used as the app role secret.
(Appears on: VaultProvider)
VaultAuth is the configuration used to authenticate with a Vault server.
Only one of tokenSecretRef, appRole, kubernetes, ldap, userPass, jwt, cert, iam or gcp
can be specified. A namespace to authenticate against can optionally be specified.
| Field | Description |
|---|---|
namespace |
string
(Optional)
Name of the vault namespace to authenticate to. This can be different than the namespace your secret is in. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: “ns1”. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces This will default to Vault.Namespace field if set, or empty otherwise |
tokenSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
TokenSecretRef authenticates with Vault by presenting a token. |
appRoleAppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.
kubernetesKubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server.
ldapLdap authenticates with Vault by passing username/password pair using the LDAP authentication method
jwtJwt authenticates with Vault by passing role and JWT token using the JWT/OIDC authentication method
certCert authenticates with TLS Certificates by passing client certificate, private key and ca certificate Cert authentication method
iamIam authenticates with vault by passing a special AWS request signed with AWS IAM credentials AWS IAM authentication method
userPassUserPass authenticates with Vault by passing username/password pair
gcpGcp authenticates with Vault using Google Cloud Platform authentication method GCP authentication method
VaultAwsAuth tells the controller how to do authentication with aws. Only one of secretRef or jwt can be specified. if none is specified the controller will try to load credentials from its own service account assuming it is IRSA enabled.
| Field | Description |
|---|---|
secretRef |
VaultAwsAuthSecretRef
(Optional) |
jwt |
VaultAwsJWTAuth
(Optional) |
(Appears on: VaultAwsAuth, VaultIamAuth)
VaultAwsAuthSecretRef holds secret references for AWS credentials both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The AccessKeyID is used for authentication |
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The SecretAccessKey is used for authentication |
sessionTokenSecretRefThe SessionToken used for authentication This must be defined if AccessKeyID and SecretAccessKey are temporary credentials see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
(Appears on: VaultAwsAuth, VaultIamAuth)
VaultAwsJWTAuth Authenticate against AWS using service account tokens.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Optional) |
(Appears on: VaultAuth)
VaultCertAuth authenticates with Vault using the JWT/OIDC authentication method, with the role name and token stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
path |
string
(Optional)
Path where the Certificate authentication backend is mounted in Vault, e.g: “cert” |
vaultRole |
string
(Optional)
VaultRole specifies the Vault role to use for TLS certificate authentication. |
clientCertClientCert is a certificate to authenticate using the Cert Vault authentication method
secretRefSecretRef to a key in a Secret resource containing client private key to authenticate with Vault using the Cert authentication method
(Appears on: VaultProvider)
VaultCheckAndSet defines the Check-And-Set (CAS) settings for Vault KV v2 PushSecret operations.
| Field | Description |
|---|---|
required |
bool
(Optional)
Required when true, all write operations must include a check-and-set parameter. This helps prevent unintentional overwrites of secrets. |
(Appears on: VaultProvider)
VaultClientTLS is the configuration used for client side related TLS communication, when the Vault server requires mutual authentication.
| Field | Description |
|---|---|
certSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
CertSecretRef is a certificate added to the transport layer when communicating with the Vault server. If no key for the Secret is specified, external-secret will default to ‘tls.crt’. |
keySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
KeySecretRef to a key in a Secret resource containing client private key added to the transport layer when communicating with the Vault server. If no key for the Secret is specified, external-secret will default to ‘tls.key’. |
(Appears on: VaultAuth)
VaultGCPAuth authenticates with Vault using Google Cloud Platform authentication method. Refer: https://developer.hashicorp.com/vault/docs/auth/gcp
When ServiceAccountRef, SecretRef and WorkloadIdentity are not specified, the provider will use the controller pod’s identity to authenticate with GCP. This supports both GKE Workload Identity and service account keys.
| Field | Description |
|---|---|
path |
string
(Optional)
Path where the GCP auth method is enabled in Vault, e.g: “gcp” |
role |
string
Vault Role. In Vault, a role describes an identity with a set of permissions, groups, or policies you want to attach to a user of the secrets engine. |
projectIDProject ID of the Google Cloud Platform project
locationLocation optionally defines a location/region for the secret
secretRefSpecify credentials in a Secret object
workloadIdentitySpecify a service account with Workload Identity
serviceAccountRefServiceAccountRef to a service account for impersonation
(Appears on: VaultAuth)
VaultIamAuth authenticates with Vault using the Vault’s AWS IAM authentication method. Refer: https://developer.hashicorp.com/vault/docs/auth/aws
When JWTAuth and SecretRef are not specified, the provider will use the controller pod’s identity to authenticate with AWS. This supports both IRSA and EKS Pod Identity.
| Field | Description |
|---|---|
path |
string
(Optional)
Path where the AWS auth method is enabled in Vault, e.g: “aws” |
region |
string
(Optional)
AWS region |
roleThis is the AWS role to be assumed before talking to vault
vaultRoleVault Role. In vault, a role describes an identity with a set of permissions, groups, or policies you want to attach a user of the secrets engine
externalIDAWS External ID set on assumed IAM roles
vaultAwsIamServerIDX-Vault-AWS-IAM-Server-ID is an additional header used by Vault IAM auth method to mitigate against different types of replay attacks. More details here: https://developer.hashicorp.com/vault/docs/auth/aws
secretRefSpecify credentials in a Secret object
jwtSpecify a service account with IRSA enabled
(Appears on: VaultAuth)
VaultJwtAuth authenticates with Vault using the JWT/OIDC authentication
method, with the role name and a token stored in a Kubernetes Secret resource or
a Kubernetes service account token retrieved via TokenRequest.
| Field | Description |
|---|---|
path |
string
Path where the JWT authentication backend is mounted in Vault, e.g: “jwt” |
role |
string
(Optional)
Role is a JWT role to authenticate using the JWT/OIDC Vault authentication method |
secretRefOptional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Vault using the JWT/OIDC authentication method.
kubernetesServiceAccountTokenOptional ServiceAccountToken specifies the Kubernetes service account for which to request
a token for with the TokenRequest API.
string alias)(Appears on: VaultProvider)
VaultKVStoreVersion represents the version of the Vault KV secret engine.
| Value | Description |
|---|---|
"v1" |
|
"v2" |
(Appears on: VaultAuth)
VaultKubernetesAuth authenticates against Vault using a Kubernetes ServiceAccount token stored in a Secret.
| Field | Description |
|---|---|
mountPath |
string
Path where the Kubernetes authentication backend is mounted in Vault, e.g: “kubernetes” |
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Optional)
Optional service account field containing the name of a kubernetes ServiceAccount. If the service account is specified, the service account secret token JWT will be used for authenticating with Vault. If the service account selector is not supplied, the secretRef will be used instead. |
secretRefOptional secret field containing a Kubernetes ServiceAccount JWT used
for authenticating with Vault. If a name is specified without a key,
token is the default. If one is not specified, the one bound to
the controller will be used.
roleA required field containing the Vault Role to assume. A Role binds a Kubernetes ServiceAccount with a set of Vault policies.
(Appears on: VaultJwtAuth)
VaultKubernetesServiceAccountTokenAuth authenticates with Vault using a temporary
Kubernetes service account token retrieved by the TokenRequest API.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
Service account field containing the name of a kubernetes ServiceAccount. |
audiences |
[]string
(Optional)
Optional audiences field that will be used to request a temporary Kubernetes service
account token for the service account referenced by Deprecated: use serviceAccountRef.Audiences instead |
expirationSecondsOptional expiration time in seconds that will be used to request a temporary
Kubernetes service account token for the service account referenced by
serviceAccountRef.
Deprecated: this will be removed in the future. Defaults to 10 minutes.
(Appears on: VaultAuth)
VaultLdapAuth authenticates with Vault using the LDAP authentication method, with the username and password stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
path |
string
Path where the LDAP authentication backend is mounted in Vault, e.g: “ldap” |
username |
string
Username is an LDAP username used to authenticate using the LDAP Vault authentication method |
secretRefSecretRef to a key in a Secret resource containing password for the LDAP user used to authenticate with Vault using the LDAP authentication method
(Appears on: SecretStoreProvider, VaultDynamicSecretSpec)
VaultProvider configures a store to sync secrets using a Hashicorp Vault KV backend.
| Field | Description |
|---|---|
auth |
VaultAuth
Auth configures how secret-manager authenticates with the Vault server. |
server |
string
Server is the connection address for the Vault server, e.g: “https://vault.example.com:8200”. |
pathPath is the mount path of the Vault KV backend endpoint, e.g: “secret”. The v2 KV secret engine version specific “/data” path suffix for fetching secrets from Vault is optional and will be appended if not present in specified path.
versionVersion is the Vault KV secret engine version. This can be either “v1” or “v2”. Version defaults to “v2”.
namespaceName of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: “ns1”. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
caBundlePEM encoded CA bundle used to validate Vault server certificate. Only used if the Server URL is using HTTPS protocol. This parameter is ignored for plain HTTP protocol connection. If not set the system root certificates are used to validate the TLS connection.
tlsThe configuration used for client side related TLS communication, when the Vault server
requires mutual authentication. Only used if the Server URL is using HTTPS protocol.
This parameter is ignored for plain HTTP protocol connection.
It’s worth noting this configuration is different from the “TLS certificates auth method”,
which is available under the auth.cert section.
caProviderThe provider for the CA bundle to use to validate Vault server certificate.
readYourWritesReadYourWrites ensures isolated read-after-write semantics by providing discovered cluster replication states in each request. More information about eventual consistency in Vault can be found here https://www.vaultproject.io/docs/enterprise/consistency
forwardInconsistentForwardInconsistent tells Vault to forward read-after-write requests to the Vault leader instead of simply retrying within a loop. This can increase performance if the option is enabled serverside. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
headersHeaders to be added in Vault request
checkAndSetCheckAndSet defines the Check-And-Set (CAS) settings for PushSecret operations. Only applies to Vault KV v2 stores. When enabled, write operations must include the current version of the secret to prevent unintentional overwrites.
(Appears on: VaultAuth)
VaultUserPassAuth authenticates with Vault using UserPass authentication method, with the username and password stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
path |
string
Path where the UserPassword authentication backend is mounted in Vault, e.g: “userpass” |
username |
string
Username is a username used to authenticate using the UserPass Vault authentication method |
secretRefSecretRef to a key in a Secret resource containing password for the user used to authenticate with Vault using the UserPass authentication method
(Appears on: VolcengineProvider)
VolcengineAuth defines the authentication method for the Volcengine provider. Only one of the fields should be set.
| Field | Description |
|---|---|
secretRef |
VolcengineAuthSecretRef
(Optional)
SecretRef defines the static credentials to use for authentication. If not set, IRSA is used. |
(Appears on: VolcengineAuth)
VolcengineAuthSecretRef defines the secret reference for static credentials.
| Field | Description |
|---|---|
accessKeyID |
External Secrets meta/v1.SecretKeySelector
AccessKeyID is the reference to the secret containing the Access Key ID. |
secretAccessKey |
External Secrets meta/v1.SecretKeySelector
SecretAccessKey is the reference to the secret containing the Secret Access Key. |
tokenToken is the reference to the secret containing the STS(Security Token Service) Token.
(Appears on: SecretStoreProvider)
VolcengineProvider defines the configuration for the Volcengine provider.
| Field | Description |
|---|---|
region |
string
Region specifies the Volcengine region to connect to. |
auth |
VolcengineAuth
(Optional)
Auth defines the authentication method to use. If not specified, the provider will try to use IRSA (IAM Role for Service Account). |
(Appears on: WebhookProvider)
WebhookCAProvider defines a location to fetch the cert for the webhook provider from.
| Field | Description |
|---|---|
type |
WebhookCAProviderType
The type of provider to use such as “Secret”, or “ConfigMap”. |
name |
string
The name of the object located at the provider type. |
keyThe key where the CA certificate can be found in the Secret or ConfigMap.
namespaceThe namespace the Provider type is in.
string alias)(Appears on: WebhookCAProvider)
WebhookCAProviderType defines the type of provider for certificate authority in webhook connections.
| Value | Description |
|---|---|
"ConfigMap" |
WebhookCAProviderTypeConfigMap indicates that the CA certificate is stored in a ConfigMap resource. |
"Secret" |
WebhookCAProviderTypeSecret indicates that the CA certificate is stored in a Secret resource. |
(Appears on: SecretStoreProvider)
WebhookProvider configures a store to sync secrets from simple web APIs.
| Field | Description |
|---|---|
method |
string
Webhook Method |
url |
string
Webhook url to call |
headersHeaders
authAuth specifies a authorization protocol. Only one protocol may be set.
bodyBody
timeoutTimeout
resultResult formatting
secretsSecrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name
caBundlePEM encoded CA bundle used to validate webhook server certificate. Only used if the Server URL is using HTTPS protocol. This parameter is ignored for plain HTTP protocol connection. If not set the system root certificates are used to validate the TLS connection.
caProviderThe provider for the CA bundle to use to validate webhook server certificate.
(Appears on: WebhookProvider)
WebhookResult defines how to process and extract secrets from the webhook response.
| Field | Description |
|---|---|
jsonPath |
string
(Optional)
Json path of return value |
(Appears on: WebhookProvider)
WebhookSecret defines a secret that will be passed to the webhook request.
| Field | Description |
|---|---|
name |
string
Name of this secret in templates |
secretRef |
External Secrets meta/v1.SecretKeySelector
Secret ref to fill in credentials |
(Appears on: YandexCertificateManagerProvider, YandexLockboxProvider)
YandexAuth defines the authentication method for the Yandex provider.
| Field | Description |
|---|---|
authorizedKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The authorized key used for authentication |
(Appears on: YandexCertificateManagerProvider, YandexLockboxProvider)
YandexCAProvider defines the configuration for Yandex custom certificate authority.
| Field | Description |
|---|---|
certSecretRef |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
YandexCertificateManagerProvider Configures a store to sync secrets using the Yandex Certificate Manager provider.
| Field | Description |
|---|---|
apiEndpoint |
string
(Optional)
Yandex.Cloud API endpoint (e.g. ‘api.cloud.yandex.net:443’) |
auth |
YandexAuth
Auth defines the information necessary to authenticate against Yandex.Cloud |
caProviderThe provider for the CA bundle to use to validate Yandex.Cloud server certificate.
fetchingFetchingPolicy configures the provider to interpret the data.secretKey.remoteRef.key field in ExternalSecret as certificate ID or certificate name
(Appears on: SecretStoreProvider)
YandexLockboxProvider Configures a store to sync secrets using the Yandex Lockbox provider.
| Field | Description |
|---|---|
apiEndpoint |
string
(Optional)
Yandex.Cloud API endpoint (e.g. ‘api.cloud.yandex.net:443’) |
auth |
YandexAuth
Auth defines the information necessary to authenticate against Yandex.Cloud |
caProviderThe provider for the CA bundle to use to validate Yandex.Cloud server certificate.
fetchingFetchingPolicy configures the provider to interpret the data.secretKey.remoteRef.key field in ExternalSecret as secret ID or secret name
Package v1alpha1 contains resources for external-secrets
Resource Types:
ClusterPushSecret is the Schema for the ClusterPushSecrets API that enables cluster-wide management of pushing Kubernetes secrets to external providers.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ClusterPushSecretSpec
|
refreshTime |
Kubernetes meta/v1.Duration
The time in which the controller should reconcile its objects and recheck namespaces for labels. |
pushSecretName |
string
(Optional)
The name of the push secrets to be created. Defaults to the name of the ClusterPushSecret |
pushSecretMetadataThe metadata of the external secrets to be created
namespaceSelectorsA list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.
status
ClusterPushSecretCondition used to refine PushSecrets to specific namespaces and names.
| Field | Description |
|---|---|
namespaceSelector |
Kubernetes meta/v1.LabelSelector
(Optional)
Choose namespace using a labelSelector |
namespaces |
[]string
(Optional)
Choose namespaces by name |
(Appears on: ClusterPushSecretStatus)
ClusterPushSecretNamespaceFailure represents a failed namespace deployment and it’s reason.
| Field | Description |
|---|---|
namespace |
string
Namespace is the namespace that failed when trying to apply an PushSecret |
reason |
string
(Optional)
Reason is why the PushSecret failed to apply to the namespace |
(Appears on: ClusterPushSecret)
ClusterPushSecretSpec defines the configuration for a ClusterPushSecret resource.
| Field | Description |
|---|---|
pushSecretSpec |
PushSecretSpec
PushSecretSpec defines what to do with the secrets. |
refreshTime |
Kubernetes meta/v1.Duration
The time in which the controller should reconcile its objects and recheck namespaces for labels. |
pushSecretNameThe name of the push secrets to be created. Defaults to the name of the ClusterPushSecret
pushSecretMetadataThe metadata of the external secrets to be created
namespaceSelectorsA list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.
(Appears on: ClusterPushSecret)
ClusterPushSecretStatus contains the status information for the ClusterPushSecret resource.
| Field | Description |
|---|---|
failedNamespaces |
[]ClusterPushSecretNamespaceFailure
(Optional)
Failed namespaces are the namespaces that failed to apply an PushSecret |
provisionedNamespaces |
[]string
(Optional)
ProvisionedNamespaces are the namespaces where the ClusterPushSecret has secrets |
pushSecretNameconditions
PushSecret is the Schema for the PushSecrets API that enables pushing Kubernetes secrets to external secret providers.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
PushSecretSpec
|
secretStoreRefs |
[]PushSecretStoreRef
|
updatePolicy |
PushSecretUpdatePolicy
(Optional)
UpdatePolicy to handle Secrets in the provider. |
deletionPolicyDeletion Policy to handle Secrets in the provider.
selectorThe Secret Selector (k8s source) for the Push Secret
dataSecret Data that should be pushed to providers
dataToDataTo defines bulk push rules that expand source Secret keys into provider entries.
templateTemplate defines a blueprint for the created Secret resource.
statusstring alias)(Appears on: PushSecretStatusCondition)
PushSecretConditionType indicates the condition of the PushSecret.
| Value | Description |
|---|---|
"Ready" |
PushSecretReady indicates the PushSecret resource is ready. |
string alias)(Appears on: PushSecretData, PushSecretDataTo)
PushSecretConversionStrategy defines how secret values are converted when pushed to providers.
| Value | Description |
|---|---|
"None" |
PushSecretConversionNone indicates no conversion will be performed on the secret value. |
"ReverseUnicode" |
PushSecretConversionReverseUnicode indicates that unicode escape sequences will be reversed. |
(Appears on: PushSecretSpec)
PushSecretData defines data to be pushed to the provider and associated metadata.
| Field | Description |
|---|---|
match |
PushSecretMatch
Match a given Secret Key to be pushed to the provider. |
metadata |
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
(Optional)
Metadata is metadata attached to the secret. The structure of metadata is provider specific, please look it up in the provider documentation. |
conversionStrategyUsed to define a conversion Strategy for the secret keys
(Appears on: PushSecretSpec)
PushSecretDataTo defines how to bulk-push secrets to providers without explicit per-key mappings.
| Field | Description |
|---|---|
storeRef |
PushSecretStoreRef
StoreRef specifies which SecretStore to push to. Required. |
remoteKey |
string
(Optional)
RemoteKey is the name of the single provider secret that will receive ALL matched keys bundled as a JSON object (e.g. {“DB_HOST”:“…”,“DB_USER”:“…”}). When set, per-key expansion is skipped and a single push is performed. The provider’s store prefix (if any) is still prepended to this value. When not set, each matched key is pushed as its own individual provider secret. |
matchMatch pattern for selecting keys from the source Secret. If not specified, all keys are selected.
rewriteRewrite operations to transform keys before pushing to the provider. Operations are applied sequentially.
metadataMetadata is metadata attached to the secret. The structure of metadata is provider specific, please look it up in the provider documentation.
conversionStrategyUsed to define a conversion Strategy for the secret keys
(Appears on: PushSecretDataTo)
PushSecretDataToMatch defines pattern matching for key selection.
| Field | Description |
|---|---|
regexp |
string
(Optional)
Regexp matches keys by regular expression. If not specified, all keys are matched. |
string alias)(Appears on: PushSecretSpec)
PushSecretDeletionPolicy defines how push secrets are deleted in the provider.
| Value | Description |
|---|---|
"Delete" |
PushSecretDeletionPolicyDelete deletes secrets from the provider when the PushSecret is deleted. |
"None" |
PushSecretDeletionPolicyNone keeps secrets in the provider when the PushSecret is deleted. |
(Appears on: PushSecretData)
PushSecretMatch defines how a source Secret key maps to a destination in the provider.
| Field | Description |
|---|---|
secretKey |
string
(Optional)
Secret Key to be pushed |
remoteRef |
PushSecretRemoteRef
Remote Refs to push to providers. |
(Appears on: ClusterPushSecretSpec)
PushSecretMetadata defines metadata fields for the PushSecret generated by the ClusterPushSecret.
| Field | Description |
|---|---|
annotations |
map[string]string
(Optional) |
labels |
map[string]string
(Optional) |
(Appears on: PushSecretMatch)
PushSecretRemoteRef defines the location of the secret in the provider.
| Field | Description |
|---|---|
remoteKey |
string
Name of the resulting provider secret. |
property |
string
(Optional)
Name of the property in the resulting secret |
(Appears on: PushSecretDataTo)
PushSecretRewrite defines how to transform secret keys before pushing.
| Field | Description |
|---|---|
regexp |
ExternalSecretRewriteRegexp
(Optional)
Used to rewrite with regular expressions. |
transform |
ExternalSecretRewriteTransform
(Optional)
Used to apply string transformation on the secrets. |
(Appears on: PushSecretSelector)
PushSecretSecret defines a Secret that will be used as a source for pushing to providers.
| Field | Description |
|---|---|
name |
string
(Optional)
Name of the Secret. The Secret must exist in the same namespace as the PushSecret manifest. |
selector |
Kubernetes meta/v1.LabelSelector
(Optional)
Selector chooses secrets using a labelSelector. |
(Appears on: PushSecretSpec)
PushSecretSelector defines criteria for selecting the source Secret for pushing to providers.
| Field | Description |
|---|---|
secret |
PushSecretSecret
(Optional)
Select a Secret to Push. |
generatorRef |
GeneratorRef
(Optional)
Point to a generator to create a Secret. |
(Appears on: ClusterPushSecretSpec, PushSecret)
PushSecretSpec configures the behavior of the PushSecret.
| Field | Description |
|---|---|
refreshInterval |
Kubernetes meta/v1.Duration
The Interval to which External Secrets will try to push a secret definition |
secretStoreRefs |
[]PushSecretStoreRef
updatePolicyUpdatePolicy to handle Secrets in the provider.
deletionPolicyDeletion Policy to handle Secrets in the provider.
selectorThe Secret Selector (k8s source) for the Push Secret
dataSecret Data that should be pushed to providers
dataToDataTo defines bulk push rules that expand source Secret keys into provider entries.
templateTemplate defines a blueprint for the created Secret resource.
(Appears on: PushSecret)
PushSecretStatus indicates the history of the status of PushSecret.
| Field | Description |
|---|---|
refreshTime |
Kubernetes meta/v1.Time
refreshTime is the time and date the external secret was fetched and the target secret updated |
syncedResourceVersion |
string
SyncedResourceVersion keeps track of the last synced version. |
syncedPushSecretsSynced PushSecrets, including secrets that already exist in provider. Matches secret stores to PushSecretData that was stored to that secret store.
conditions(Appears on: ClusterPushSecretStatus, PushSecretStatus)
PushSecretStatusCondition indicates the status of the PushSecret.
| Field | Description |
|---|---|
type |
PushSecretConditionType
|
status |
Kubernetes core/v1.ConditionStatus
reasonmessagelastTransitionTime(Appears on: PushSecretDataTo, PushSecretSpec)
PushSecretStoreRef contains a reference on how to sync to a SecretStore.
| Field | Description |
|---|---|
name |
string
(Optional)
Optionally, sync to the SecretStore of the given name |
labelSelector |
Kubernetes meta/v1.LabelSelector
(Optional)
Optionally, sync to secret stores with label selector |
kindKind of the SecretStore resource (SecretStore or ClusterSecretStore)
string alias)(Appears on: PushSecretSpec)
PushSecretUpdatePolicy defines how push secrets are updated in the provider.
| Value | Description |
|---|---|
"IfNotExists" |
PushSecretUpdatePolicyIfNotExists only creates secrets that don’t exist in the provider. |
"Replace" |
PushSecretUpdatePolicyReplace replaces existing secrets in the provider. |
map[string]map[string]github.com/external-secrets/external-secrets/apis/externalsecrets/v1alpha1.PushSecretData alias)(Appears on: PushSecretStatus)
SyncedPushSecretsMap is a map that tracks which PushSecretData was stored to which secret store. The outer map’s key is the secret store name, and the inner map’s key is the remote key name.
Package v1beta1 contains resources for external-secrets
Resource Types:(Appears on: AWSProvider)
AWSAuth tells the controller how to do authentication with aws. Only one of secretRef or jwt can be specified. if none is specified the controller will load credentials using the aws sdk defaults.
| Field | Description |
|---|---|
secretRef |
AWSAuthSecretRef
(Optional) |
jwt |
AWSJWTAuth
(Optional) |
(Appears on: AWSAuth)
AWSAuthSecretRef holds secret references for AWS credentials both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeyID is used for authentication |
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
The SecretAccessKey is used for authentication |
sessionTokenSecretRefThe SessionToken used for authentication This must be defined if AccessKeyID and SecretAccessKey are temporary credentials see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
(Appears on: AWSAuth)
AWSJWTAuth authenticates against AWS using service account tokens from the Kubernetes cluster.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Appears on: SecretStoreProvider)
AWSProvider configures a store to sync secrets with AWS.
| Field | Description |
|---|---|
service |
AWSServiceType
Service defines which service should be used to fetch the secrets |
auth |
AWSAuth
(Optional)
Auth defines the information necessary to authenticate against AWS if not set aws sdk will infer credentials from your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials |
roleRole is a Role ARN which the provider will assume
regionAWS Region to be used for the provider
additionalRolesAdditionalRoles is a chained list of Role ARNs which the provider will sequentially assume before assuming the Role
externalIDAWS External ID set on assumed IAM roles
sessionTagsAWS STS assume role session tags
secretsManagerSecretsManager defines how the provider behaves when interacting with AWS SecretsManager
transitiveTagKeysAWS STS assume role transitive session tags. Required when multiple rules are used with the provider
prefixPrefix adds a prefix to all retrieved values.
string alias)(Appears on: AWSProvider)
AWSServiceType is an enum that defines the service/API that is used to fetch the secrets.
| Value | Description |
|---|---|
"ParameterStore" |
AWSServiceParameterStore is the AWS SystemsManager ParameterStore service. see: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html |
"SecretsManager" |
AWSServiceSecretsManager is the AWS SecretsManager service. see: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html |
(Appears on: AkeylessProvider)
AkeylessAuth defines methods of authentication with Akeyless Vault.
| Field | Description |
|---|---|
secretRef |
AkeylessAuthSecretRef
(Optional)
Reference to a Secret that contains the details to authenticate with Akeyless. |
kubernetesAuth |
AkeylessKubernetesAuth
(Optional)
Kubernetes authenticates with Akeyless by passing the ServiceAccount token stored in the named Secret resource. |
(Appears on: AkeylessAuth)
AkeylessAuthSecretRef defines how to authenticate using a secret reference. AKEYLESS_ACCESS_TYPE_PARAM: AZURE_OBJ_ID OR GCP_AUDIENCE OR ACCESS_KEY OR KUB_CONFIG_NAME.
| Field | Description |
|---|---|
accessID |
External Secrets meta/v1.SecretKeySelector
The SecretAccessID is used for authentication |
accessType |
External Secrets meta/v1.SecretKeySelector
accessTypeParam(Appears on: AkeylessAuth)
AkeylessKubernetesAuth authenticates with Akeyless using a Kubernetes ServiceAccount token.
| Field | Description |
|---|---|
accessID |
string
the Akeyless Kubernetes auth-method access-id |
k8sConfName |
string
Kubernetes-auth configuration name in Akeyless-Gateway |
serviceAccountRefOptional service account field containing the name of a kubernetes ServiceAccount. If the service account is specified, the service account secret token JWT will be used for authenticating with Akeyless. If the service account selector is not supplied, the secretRef will be used instead.
secretRefOptional secret field containing a Kubernetes ServiceAccount JWT used
for authenticating with Akeyless. If a name is specified without a key,
token is the default. If one is not specified, the one bound to
the controller will be used.
(Appears on: SecretStoreProvider)
AkeylessProvider Configures an store to sync secrets using Akeyless KV.
| Field | Description |
|---|---|
akeylessGWApiURL |
string
Akeyless GW API Url from which the secrets to be fetched from. |
authSecretRef |
AkeylessAuth
Auth configures how the operator authenticates with Akeyless. |
caBundlePEM/base64 encoded CA bundle used to validate Akeyless Gateway certificate. Only used if the AkeylessGWApiURL URL is using HTTPS protocol. If not set the system root certificates are used to validate the TLS connection.
caProviderThe provider for the CA bundle to use to validate Akeyless Gateway certificate.
(Appears on: AlibabaProvider)
AlibabaAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
AlibabaAuthSecretRef
(Optional) |
rrsa |
AlibabaRRSAAuth
(Optional) |
(Appears on: AlibabaAuth)
AlibabaAuthSecretRef holds secret references for Alibaba credentials.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeyID is used for authentication |
accessKeySecretSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeySecret is used for authentication |
(Appears on: SecretStoreProvider)
AlibabaProvider configures a store to sync secrets using the Alibaba Secret Manager provider.
| Field | Description |
|---|---|
auth |
AlibabaAuth
|
regionID |
string
Alibaba Region to be used for the provider |
(Appears on: AlibabaAuth)
AlibabaRRSAAuth authenticates against Alibaba using RRSA (Resource-oriented RAM-based Service Authentication).
| Field | Description |
|---|---|
oidcProviderArn |
string
|
oidcTokenFilePath |
string
roleArnsessionName(Appears on: WebhookProvider)
AuthorizationProtocol contains the protocol-specific configuration
| Field | Description |
|---|---|
ntlm |
NTLMProtocol
(Optional)
NTLMProtocol configures the store to use NTLM for auth |
string alias)(Appears on: AzureKVProvider)
AzureAuthType describes how to authenticate to the Azure Keyvault. Only one of the following auth types may be specified. If none of the following auth type is specified, the default one is ServicePrincipal.
| Value | Description |
|---|---|
"ManagedIdentity" |
AzureManagedIdentity uses Managed Identity to authenticate. Used with aad-pod-identity installed in the cluster. |
"ServicePrincipal" |
AzureServicePrincipal uses service principal to authenticate, which needs a tenantId, a clientId and a clientSecret. |
"WorkloadIdentity" |
AzureWorkloadIdentity uses Workload Identity service accounts to authenticate. |
string alias)(Appears on: AzureKVProvider)
AzureEnvironmentType specifies the Azure cloud environment endpoints to use for connecting and authenticating with Azure. By default it points to the public cloud AAD endpoint. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152 PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud
| Value | Description |
|---|---|
"ChinaCloud" |
AzureEnvironmentChinaCloud represents the Azure China cloud environment. |
"GermanCloud" |
AzureEnvironmentGermanCloud represents the Azure German cloud environment. |
"PublicCloud" |
AzureEnvironmentPublicCloud represents the Azure public cloud environment. |
"USGovernmentCloud" |
AzureEnvironmentUSGovernmentCloud represents the Azure US government cloud environment. |
(Appears on: AzureKVProvider)
AzureKVAuth defines configuration for authentication with Azure Key Vault.
| Field | Description |
|---|---|
clientId |
External Secrets meta/v1.SecretKeySelector
(Optional)
The Azure clientId of the service principle or managed identity used for authentication. |
tenantId |
External Secrets meta/v1.SecretKeySelector
(Optional)
The Azure tenantId of the managed identity used for authentication. |
clientSecretThe Azure ClientSecret of the service principle used for authentication.
clientCertificateThe Azure ClientCertificate of the service principle used for authentication.
(Appears on: SecretStoreProvider)
AzureKVProvider configures a store to sync secrets using Azure Key Vault.
| Field | Description |
|---|---|
authType |
AzureAuthType
(Optional)
Auth type defines how to authenticate to the keyvault service. Valid values are: - “ServicePrincipal” (default): Using a service principal (tenantId, clientId, clientSecret) - “ManagedIdentity”: Using Managed Identity assigned to the pod (see aad-pod-identity) |
vaultUrl |
string
Vault Url from which the secrets to be fetched from. |
tenantIdTenantID configures the Azure Tenant to send requests to. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.
environmentTypeEnvironmentType specifies the Azure cloud environment endpoints to use for connecting and authenticating with Azure. By default it points to the public cloud AAD endpoint. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152 PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud
authSecretRefAuth configures how the operator authenticates with Azure. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.
serviceAccountRefServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.
identityIdIf multiple Managed Identity is assigned to the pod, you can select the one to be used
(Appears on: BeyondtrustAuth)
BeyondTrustProviderSecretRef defines a reference to a secret containing credentials for the BeyondTrust provider.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
(Appears on: BeyondtrustProvider)
BeyondtrustAuth configures authentication for BeyondTrust Password Safe.
| Field | Description |
|---|---|
apiKey |
BeyondTrustProviderSecretRef
APIKey If not provided then ClientID/ClientSecret become required. |
clientId |
BeyondTrustProviderSecretRef
ClientID is the API OAuth Client ID. |
clientSecretClientSecret is the API OAuth Client Secret.
certificateCertificate (cert.pem) for use when authenticating with an OAuth client Id using a Client Certificate.
certificateKeyCertificate private key (key.pem). For use when authenticating with an OAuth client Id
(Appears on: SecretStoreProvider)
BeyondtrustProvider defines configuration for the BeyondTrust Password Safe provider.
| Field | Description |
|---|---|
auth |
BeyondtrustAuth
Auth configures how the operator authenticates with Beyondtrust. |
server |
BeyondtrustServer
Auth configures how API server works. |
(Appears on: BeyondtrustProvider)
BeyondtrustServer defines configuration for connecting to BeyondTrust Password Safe server.
| Field | Description |
|---|---|
apiUrl |
string
|
apiVersion |
string
retrievalTypeThe secret retrieval type. SECRET = Secrets Safe (credential, text, file). MANAGED_ACCOUNT = Password Safe account associated with a system.
separatorA character that separates the folder names.
decryptWhen true, the response includes the decrypted password. When false, the password field is omitted. This option only applies to the SECRET retrieval type. Default: true.
verifyCAclientTimeOutSecondsTimeout specifies a time limit for requests made by this Client. The timeout includes connection time, any redirects, and reading the response body. Defaults to 45 seconds.
(Appears on: BitwardenSecretsManagerProvider)
BitwardenSecretsManagerAuth contains the ref to the secret that contains the machine account token.
| Field | Description |
|---|---|
secretRef |
BitwardenSecretsManagerSecretRef
(Appears on: SecretStoreProvider)
BitwardenSecretsManagerProvider configures a store to sync secrets with a Bitwarden Secrets Manager instance.
| Field | Description |
|---|---|
apiURL |
string
|
identityURL |
string
bitwardenServerSDKURLcaBundleBase64 encoded certificate for the bitwarden server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.
caProvidersee: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider
organizationIDOrganizationID determines which organization this secret store manages.
projectIDProjectID determines which project this secret store manages.
authAuth configures how secret-manager authenticates with a bitwarden machine account instance. Make sure that the token being used has permissions on the given secret.
(Appears on: BitwardenSecretsManagerAuth)
BitwardenSecretsManagerSecretRef contains the credential ref to the bitwarden instance.
| Field | Description |
|---|---|
credentials |
External Secrets meta/v1.SecretKeySelector
AccessToken used for the bitwarden instance. |
(Appears on: AkeylessProvider, BitwardenSecretsManagerProvider, ConjurProvider, GitlabProvider, KubernetesServer, VaultProvider)
CAProvider provides custom certificate authority (CA) certificates for a secret store. The CAProvider points to a Secret or ConfigMap resource that contains a PEM-encoded certificate.
| Field | Description |
|---|---|
type |
CAProviderType
The type of provider to use such as “Secret”, or “ConfigMap”. |
name |
string
The name of the object located at the provider type. |
keyThe key where the CA certificate can be found in the Secret or ConfigMap.
namespaceThe namespace the Provider type is in. Can only be defined when used in a ClusterSecretStore.
string alias)(Appears on: CAProvider)
CAProviderType defines the type of provider to use for CA certificates.
| Value | Description |
|---|---|
"ConfigMap" |
CAProviderTypeConfigMap indicates that the CA certificate is stored in a ConfigMap. |
"Secret" |
CAProviderTypeSecret indicates that the CA certificate is stored in a Secret. |
(Appears on: CloudruSMProvider)
CSMAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
CSMAuthSecretRef
(Optional) |
(Appears on: CSMAuth)
CSMAuthSecretRef holds secret references for Cloud.ru credentials.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeyID is used for authentication |
accessKeySecretSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeySecret is used for authentication |
(Appears on: KubernetesAuth)
CertAuth defines certificate-based authentication for the Kubernetes provider.
| Field | Description |
|---|---|
clientCert |
External Secrets meta/v1.SecretKeySelector
|
clientKey |
External Secrets meta/v1.SecretKeySelector
(Appears on: ChefProvider)
ChefAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
ChefAuthSecretRef
(Appears on: ChefAuth)
ChefAuthSecretRef holds secret references for chef server login credentials.
| Field | Description |
|---|---|
privateKeySecretRef |
External Secrets meta/v1.SecretKeySelector
SecretKey is the Signing Key in PEM format, used for authentication. |
(Appears on: SecretStoreProvider)
ChefProvider configures a store to sync secrets using basic chef server connection credentials.
| Field | Description |
|---|---|
auth |
ChefAuth
Auth defines the information necessary to authenticate against chef Server |
username |
string
UserName should be the user ID on the chef server |
serverUrlServerURL is the chef server URL used to connect to. If using orgs you should include your org in the url and terminate the url with a “/”
(Appears on: SecretStoreProvider)
CloudruSMProvider configures a store to sync secrets using the Cloud.ru Secret Manager provider.
| Field | Description |
|---|---|
auth |
CSMAuth
|
projectID |
string
ProjectID is the project, which the secrets are stored in. |
ClusterExternalSecret is the schema for the clusterexternalsecrets API.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ClusterExternalSecretSpec
|
externalSecretName |
string
(Optional)
The name of the external secrets to be created. Defaults to the name of the ClusterExternalSecret |
externalSecretMetadata |
ExternalSecretMetadata
(Optional)
The metadata of the external secrets to be created |
namespaceSelectorThe labels to select by to find the Namespaces to create the ExternalSecrets in
namespaceSelectorsA list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.
namespacesChoose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing.
Deprecated: Use NamespaceSelectors instead.
refreshTimeThe time in which the controller should reconcile its objects and recheck namespaces for labels.
statusstring alias)(Appears on: ClusterExternalSecretStatusCondition)
ClusterExternalSecretConditionType indicates the condition of the ClusterExternalSecret.
| Value | Description |
|---|---|
"Ready" |
ClusterExternalSecretReady indicates the ClusterExternalSecret resource is ready. |
(Appears on: ClusterExternalSecretStatus)
ClusterExternalSecretNamespaceFailure represents a failed namespace deployment and it’s reason.
| Field | Description |
|---|---|
namespace |
string
Namespace is the namespace that failed when trying to apply an ExternalSecret |
reason |
string
(Optional)
Reason is why the ExternalSecret failed to apply to the namespace |
(Appears on: ClusterExternalSecret)
ClusterExternalSecretSpec defines the desired state of ClusterExternalSecret.
| Field | Description |
|---|---|
externalSecretSpec |
ExternalSecretSpec
The spec for the ExternalSecrets to be created |
externalSecretName |
string
(Optional)
The name of the external secrets to be created. Defaults to the name of the ClusterExternalSecret |
externalSecretMetadataThe metadata of the external secrets to be created
namespaceSelectorThe labels to select by to find the Namespaces to create the ExternalSecrets in
namespaceSelectorsA list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.
namespacesChoose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing.
Deprecated: Use NamespaceSelectors instead.
refreshTimeThe time in which the controller should reconcile its objects and recheck namespaces for labels.
(Appears on: ClusterExternalSecret)
ClusterExternalSecretStatus defines the observed state of ClusterExternalSecret.
| Field | Description |
|---|---|
externalSecretName |
string
ExternalSecretName is the name of the ExternalSecrets created by the ClusterExternalSecret |
failedNamespaces |
[]ClusterExternalSecretNamespaceFailure
(Optional)
Failed namespaces are the namespaces that failed to apply an ExternalSecret |
provisionedNamespacesProvisionedNamespaces are the namespaces where the ClusterExternalSecret has secrets
conditions(Appears on: ClusterExternalSecretStatus)
ClusterExternalSecretStatusCondition indicates the status of the ClusterExternalSecret.
| Field | Description |
|---|---|
type |
ClusterExternalSecretConditionType
|
status |
Kubernetes core/v1.ConditionStatus
message
ClusterSecretStore represents a secure external location for storing secrets, which can be referenced as part of storeRef fields.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
SecretStoreSpec
|
provider |
SecretStoreProvider
Used to configure the provider. Only one provider may be set |
retrySettings |
SecretStoreRetrySettings
(Optional)
Used to configure HTTP retries on failures. |
refreshIntervalUsed to configure store refresh interval in seconds. Empty or 0 will default to the controller config.
conditionsUsed to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.
status(Appears on: SecretStoreSpec)
ClusterSecretStoreCondition describes a condition by which to choose namespaces to process ExternalSecrets in for a ClusterSecretStore instance.
| Field | Description |
|---|---|
namespaceSelector |
Kubernetes meta/v1.LabelSelector
(Optional)
Choose namespace using a labelSelector |
namespaces |
[]string
(Optional)
Choose namespaces by name |
namespaceRegexesChoose namespaces by using regex matching
(Appears on: ConjurAuth)
ConjurAPIKey defines authentication using a Conjur API key.
| Field | Description |
|---|---|
account |
string
Account is the Conjur organization account name. |
userRef |
External Secrets meta/v1.SecretKeySelector
A reference to a specific ‘key’ containing the Conjur username
within a Secret resource. In some instances, |
apiKeyRefA reference to a specific ‘key’ containing the Conjur API key
within a Secret resource. In some instances, key is a required field.
(Appears on: ConjurProvider)
ConjurAuth defines the methods of authentication with Conjur.
| Field | Description |
|---|---|
apikey |
ConjurAPIKey
(Optional)
Authenticates with Conjur using an API key. |
jwt |
ConjurJWT
(Optional)
Jwt enables JWT authentication using Kubernetes service account tokens. |
(Appears on: ConjurAuth)
ConjurJWT defines authentication using a JWT service account token.
| Field | Description |
|---|---|
account |
string
Account is the Conjur organization account name. |
serviceID |
string
The conjur authn jwt webservice id |
hostIdOptional HostID for JWT authentication. This may be used depending on how the Conjur JWT authenticator policy is configured.
secretRefOptional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Conjur using the JWT authentication method.
serviceAccountRefOptional ServiceAccountRef specifies the Kubernetes service account for which to request
a token for with the TokenRequest API.
(Appears on: SecretStoreProvider)
ConjurProvider defines configuration for the CyberArk Conjur provider.
| Field | Description |
|---|---|
url |
string
URL is the endpoint of the Conjur instance. |
caBundle |
string
(Optional)
CABundle is a PEM encoded CA bundle that will be used to validate the Conjur server certificate. |
caProviderUsed to provide custom certificate authority (CA) certificates for a secret store. The CAProvider points to a Secret or ConfigMap resource that contains a PEM-encoded certificate.
authDefines authentication settings for connecting to Conjur.
(Appears on: SecretStoreProvider)
DelineaProvider defines configuration for the Delinea DevOps Secrets Vault provider. See https://github.com/DelineaXPM/dsv-sdk-go/blob/main/vault/vault.go.
| Field | Description |
|---|---|
clientId |
DelineaProviderSecretRef
ClientID is the non-secret part of the credential. |
clientSecret |
DelineaProviderSecretRef
ClientSecret is the secret part of the credential. |
tenantTenant is the chosen hostname / site name.
urlTemplateURLTemplate If unset, defaults to “https://%s.secretsvaultcloud.%s/v1/%s%s”.
tldTLD is based on the server location that was chosen during provisioning. If unset, defaults to “com”.
(Appears on: DelineaProvider)
DelineaProviderSecretRef defines a reference to a secret containing credentials for the Delinea provider.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
(Appears on: Device42Provider)
Device42Auth defines the authentication method for the Device42 provider.
| Field | Description |
|---|---|
secretRef |
Device42SecretRef
(Appears on: SecretStoreProvider)
Device42Provider configures a store to sync secrets with a Device42 instance.
| Field | Description |
|---|---|
host |
string
URL configures the Device42 instance URL. |
auth |
Device42Auth
Auth configures how secret-manager authenticates with a Device42 instance. |
(Appears on: Device42Auth)
Device42SecretRef defines a reference to a secret containing credentials for the Device42 provider.
| Field | Description |
|---|---|
credentials |
External Secrets meta/v1.SecretKeySelector
(Optional)
Username / Password is used for authentication. |
(Appears on: DopplerProvider)
DopplerAuth defines the authentication method for the Doppler provider.
| Field | Description |
|---|---|
secretRef |
DopplerAuthSecretRef
(Appears on: DopplerAuth)
DopplerAuthSecretRef defines a reference to a secret containing credentials for the Doppler provider.
| Field | Description |
|---|---|
dopplerToken |
External Secrets meta/v1.SecretKeySelector
The DopplerToken is used for authentication. See https://docs.doppler.com/reference/api#authentication for auth token types. The Key attribute defaults to dopplerToken if not specified. |
(Appears on: SecretStoreProvider)
DopplerProvider configures a store to sync secrets using the Doppler provider. Project and Config are required if not using a Service Token.
| Field | Description |
|---|---|
auth |
DopplerAuth
Auth configures how the Operator authenticates with the Doppler API |
project |
string
(Optional)
Doppler project (required if not using a Service Token) |
configDoppler config (required if not using a Service Token)
nameTransformerEnvironment variable compatible name transforms that change secret names to a different format
formatFormat enables the downloading of secrets as a file (string)
ExternalSecret is the schema for the external-secrets API.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ExternalSecretSpec
|
target |
ExternalSecretTarget
(Optional) |
refreshPolicy |
ExternalSecretRefreshPolicy
(Optional)
RefreshPolicy determines how the ExternalSecret should be refreshed: - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval. No periodic updates occur if refreshInterval is 0. - OnChange: Only synchronizes the Secret when the ExternalSecret’s metadata or specification changes |
refreshIntervalRefreshInterval is the amount of time before the values are read again from the SecretStore provider, specified as Golang Duration strings. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h” Example values: “1h0m0s”, “2h30m0s”, “10m0s” May be set to “0s” to fetch and create it once. Defaults to 1h0m0s.
dataData defines the connection between the Kubernetes Secret keys and the Provider data
dataFromDataFrom is used to fetch all properties from a specific Provider data If multiple entries are specified, the Secret keys are merged in the specified order
statusstring alias)(Appears on: ExternalSecretStatusCondition)
ExternalSecretConditionType defines the condition type for an ExternalSecret.
| Value | Description |
|---|---|
"Deleted" |
ExternalSecretDeleted indicates the ExternalSecret has been deleted. |
"Ready" |
ExternalSecretReady indicates the ExternalSecret has been successfully reconciled. |
string alias)(Appears on: ExternalSecretDataRemoteRef, ExternalSecretFind)
ExternalSecretConversionStrategy defines how secret values are converted.
| Value | Description |
|---|---|
"Default" |
ExternalSecretConversionDefault indicates the default conversion strategy. |
"Unicode" |
ExternalSecretConversionUnicode indicates that unicode conversion will be performed. |
string alias)(Appears on: ExternalSecretTarget)
ExternalSecretCreationPolicy defines rules on how to create the resulting Secret.
| Value | Description |
|---|---|
"Merge" |
CreatePolicyMerge does not create the Secret, but merges the data fields to the Secret. |
"None" |
CreatePolicyNone does not create a Secret (future use with injector). |
"Orphan" |
CreatePolicyOrphan creates the Secret and does not set the ownerReference. I.e. it will be orphaned after the deletion of the ExternalSecret. |
"Owner" |
CreatePolicyOwner creates the Secret and sets .metadata.ownerReferences to the ExternalSecret resource. |
(Appears on: ExternalSecretSpec)
ExternalSecretData defines the connection between the Kubernetes Secret key (spec.data.) and the Provider data.
| Field | Description |
|---|---|
secretKey |
string
The key in the Kubernetes Secret to store the value. |
remoteRef |
ExternalSecretDataRemoteRef
RemoteRef points to the remote secret and defines which secret (version/property/..) to fetch. |
sourceRefSourceRef allows you to override the source from which the value will be pulled.
(Appears on: ExternalSecretSpec)
ExternalSecretDataFromRemoteRef defines a reference to multiple secrets in the provider to be fetched using options.
| Field | Description |
|---|---|
extract |
ExternalSecretDataRemoteRef
(Optional)
Used to extract multiple key/value pairs from one secret Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef. |
find |
ExternalSecretFind
(Optional)
Used to find secrets based on tags or regular expressions Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef. |
rewriteUsed to rewrite secret Keys after getting them from the secret Provider Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
sourceRefSourceRef points to a store or generator which contains secret values ready to use. Use this in combination with Extract or Find pull values out of a specific SecretStore. When sourceRef points to a generator Extract or Find is not supported. The generator returns a static map of values
(Appears on: ExternalSecretData, ExternalSecretDataFromRemoteRef)
ExternalSecretDataRemoteRef defines Provider data location.
| Field | Description |
|---|---|
key |
string
Key is the key used in the Provider, mandatory |
metadataPolicy |
ExternalSecretMetadataPolicy
(Optional)
Policy for fetching tags/labels from provider secrets, possible options are Fetch, None. Defaults to None |
propertyUsed to select a specific property of the Provider value (if a map), if supported
versionUsed to select a specific version of the Provider value, if supported
conversionStrategyUsed to define a conversion Strategy
decodingStrategyUsed to define a decoding Strategy
string alias)(Appears on: ExternalSecretDataRemoteRef, ExternalSecretFind)
ExternalSecretDecodingStrategy defines how secret values are decoded.
| Value | Description |
|---|---|
"Auto" |
ExternalSecretDecodeAuto indicates that the decoding strategy will be automatically determined. |
"Base64" |
ExternalSecretDecodeBase64 indicates that base64 decoding will be used. |
"Base64URL" |
ExternalSecretDecodeBase64URL indicates that base64url decoding will be used. |
"None" |
ExternalSecretDecodeNone indicates that no decoding will be performed. |
string alias)(Appears on: ExternalSecretTarget)
ExternalSecretDeletionPolicy defines rules on how to delete the resulting Secret.
| Value | Description |
|---|---|
"Delete" |
DeletionPolicyDelete deletes the secret if all provider secrets are deleted. If a secret gets deleted on the provider side and is not accessible anymore this is not considered an error and the ExternalSecret does not go into SecretSyncedError status. |
"Merge" |
DeletionPolicyMerge removes keys in the secret, but not the secret itself. If a secret gets deleted on the provider side and is not accessible anymore this is not considered an error and the ExternalSecret does not go into SecretSyncedError status. |
"Retain" |
DeletionPolicyRetain will retain the secret if all provider secrets have been deleted. If a provider secret does not exist the ExternalSecret gets into the SecretSyncedError status. |
(Appears on: ExternalSecretDataFromRemoteRef)
ExternalSecretFind defines criteria for finding secrets in the provider.
| Field | Description |
|---|---|
path |
string
(Optional)
A root path to start the find operations. |
name |
FindName
(Optional)
Finds secrets based on the name. |
tagsFind secrets based on tags.
conversionStrategyUsed to define a conversion Strategy
decodingStrategyUsed to define a decoding Strategy
(Appears on: ClusterExternalSecretSpec)
ExternalSecretMetadata defines metadata fields for the ExternalSecret generated by the ClusterExternalSecret.
| Field | Description |
|---|---|
annotations |
map[string]string
(Optional) |
labels |
map[string]string
(Optional) |
string alias)(Appears on: ExternalSecretDataRemoteRef)
ExternalSecretMetadataPolicy defines the policy for fetching tags/labels from provider secrets.
| Value | Description |
|---|---|
"Fetch" |
ExternalSecretMetadataPolicyFetch indicates that metadata will be fetched from the provider. |
"None" |
ExternalSecretMetadataPolicyNone indicates that no metadata will be fetched. |
string alias)(Appears on: ExternalSecretSpec)
ExternalSecretRefreshPolicy defines how and when the ExternalSecret should be refreshed.
| Value | Description |
|---|---|
"CreatedOnce" |
RefreshPolicyCreatedOnce creates the Secret only if it does not exist and does not update it thereafter. |
"OnChange" |
RefreshPolicyOnChange only synchronizes the Secret when the ExternalSecret’s metadata or specification changes. |
"Periodic" |
RefreshPolicyPeriodic synchronizes the Secret from the external source at regular intervals. |
(Appears on: ExternalSecretDataFromRemoteRef)
ExternalSecretRewrite defines rules on how to rewrite secret keys.
| Field | Description |
|---|---|
regexp |
ExternalSecretRewriteRegexp
(Optional)
Used to rewrite with regular expressions. The resulting key will be the output of a regexp.ReplaceAll operation. |
transform |
ExternalSecretRewriteTransform
(Optional)
Used to apply string transformation on the secrets. The resulting key will be the output of the template applied by the operation. |
(Appears on: ExternalSecretRewrite)
ExternalSecretRewriteRegexp defines how to use regular expressions for rewriting secret keys.
| Field | Description |
|---|---|
source |
string
Used to define the regular expression of a re.Compiler. |
target |
string
Used to define the target pattern of a ReplaceAll operation. |
(Appears on: ExternalSecretRewrite)
ExternalSecretRewriteTransform defines how to use string templates for transforming secret keys.
| Field | Description |
|---|---|
template |
string
Used to define the template to apply on the secret name.
|
(Appears on: ClusterExternalSecretSpec, ExternalSecret)
ExternalSecretSpec defines the desired state of ExternalSecret.
| Field | Description |
|---|---|
secretStoreRef |
SecretStoreRef
(Optional) |
target |
ExternalSecretTarget
(Optional) |
refreshPolicyRefreshPolicy determines how the ExternalSecret should be refreshed: - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval. No periodic updates occur if refreshInterval is 0. - OnChange: Only synchronizes the Secret when the ExternalSecret’s metadata or specification changes
refreshIntervalRefreshInterval is the amount of time before the values are read again from the SecretStore provider, specified as Golang Duration strings. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h” Example values: “1h0m0s”, “2h30m0s”, “10m0s” May be set to “0s” to fetch and create it once. Defaults to 1h0m0s.
dataData defines the connection between the Kubernetes Secret keys and the Provider data
dataFromDataFrom is used to fetch all properties from a specific Provider data If multiple entries are specified, the Secret keys are merged in the specified order
(Appears on: ExternalSecret)
ExternalSecretStatus defines the observed state of ExternalSecret.
| Field | Description |
|---|---|
refreshTime |
Kubernetes meta/v1.Time
refreshTime is the time and date the external secret was fetched and the target secret updated |
syncedResourceVersion |
string
SyncedResourceVersion keeps track of the last synced version |
conditionsbindingBinding represents a servicebinding.io Provisioned Service reference to the secret
(Appears on: ExternalSecretStatus)
ExternalSecretStatusCondition contains condition information for an ExternalSecret.
| Field | Description |
|---|---|
type |
ExternalSecretConditionType
|
status |
Kubernetes core/v1.ConditionStatus
reasonmessagelastTransitionTime(Appears on: ExternalSecretSpec)
ExternalSecretTarget defines the Kubernetes Secret to be created There can be only one target per ExternalSecret.
| Field | Description |
|---|---|
name |
string
(Optional)
The name of the Secret resource to be managed. Defaults to the .metadata.name of the ExternalSecret resource |
creationPolicy |
ExternalSecretCreationPolicy
(Optional)
CreationPolicy defines rules on how to create the resulting Secret. Defaults to “Owner” |
deletionPolicyDeletionPolicy defines rules on how to delete the resulting Secret. Defaults to “Retain”
templateTemplate defines a blueprint for the created Secret resource.
immutableImmutable defines if the final secret will be immutable
(Appears on: ExternalSecretTarget)
ExternalSecretTemplate defines a blueprint for the created Secret resource. we can not use native corev1.Secret, it will have empty ObjectMeta values: https://github.com/kubernetes-sigs/controller-tools/issues/448
| Field | Description |
|---|---|
type |
Kubernetes core/v1.SecretType
(Optional) |
engineVersion |
TemplateEngineVersion
EngineVersion specifies the template engine version that should be used to compile/execute the template specified in .data and .templateFrom[]. |
metadatamergePolicydatatemplateFrom(Appears on: ExternalSecretTemplate)
ExternalSecretTemplateMetadata defines metadata fields for the Secret blueprint.
| Field | Description |
|---|---|
annotations |
map[string]string
(Optional) |
labels |
map[string]string
(Optional) |
ExternalSecretValidator implements a validating webhook for ExternalSecrets.
(Appears on: SecretStoreProvider)
FakeProvider configures a fake provider that returns static values.
| Field | Description |
|---|---|
data |
[]FakeProviderData
(Appears on: FakeProvider)
FakeProviderData defines a key-value pair for the fake provider used in testing.
| Field | Description |
|---|---|
key |
string
|
value |
string
version(Appears on: ExternalSecretFind)
FindName defines name matching criteria for finding secrets.
| Field | Description |
|---|---|
regexp |
string
(Optional)
Finds secrets base |
(Appears on: SecretStoreProvider)
FortanixProvider configures a store to sync secrets using the Fortanix SDKMS provider.
| Field | Description |
|---|---|
apiUrl |
string
APIURL is the URL of SDKMS API. Defaults to |
apiKey |
FortanixProviderSecretRef
APIKey is the API token to access SDKMS Applications. |
(Appears on: FortanixProvider)
FortanixProviderSecretRef defines a reference to a secret containing credentials for the Fortanix provider.
| Field | Description |
|---|---|
secretRef |
External Secrets meta/v1.SecretKeySelector
SecretRef is a reference to a secret containing the SDKMS API Key. |
(Appears on: GCPSMProvider)
GCPSMAuth defines the authentication methods for the GCP Secret Manager provider.
| Field | Description |
|---|---|
secretRef |
GCPSMAuthSecretRef
(Optional) |
workloadIdentity |
GCPWorkloadIdentity
(Optional) |
(Appears on: GCPSMAuth)
GCPSMAuthSecretRef defines a reference to a secret containing credentials for the GCP Secret Manager provider.
| Field | Description |
|---|---|
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The SecretAccessKey is used for authentication |
(Appears on: SecretStoreProvider)
GCPSMProvider Configures a store to sync secrets using the GCP Secret Manager provider.
| Field | Description |
|---|---|
auth |
GCPSMAuth
(Optional)
Auth defines the information necessary to authenticate against GCP |
projectID |
string
ProjectID project where secret is located |
locationLocation optionally defines a location for a secret
(Appears on: GCPSMAuth)
GCPWorkloadIdentity defines configuration for using GCP Workload Identity authentication.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
|
clusterLocation |
string
(Optional)
ClusterLocation is the location of the cluster If not specified, it fetches information from the metadata server |
clusterNameClusterName is the name of the cluster If not specified, it fetches information from the metadata server
clusterProjectIDClusterProjectID is the project ID of the cluster If not specified, it fetches information from the metadata server
(Appears on: StoreGeneratorSourceRef, StoreSourceRef)
GeneratorRef points to a generator custom resource.
| Field | Description |
|---|---|
apiVersion |
string
Specify the apiVersion of the generator resource |
kind |
string
Specify the Kind of the generator resource |
nameSpecify the name of the generator resource
GenericClusterStoreValidator provides validation for ClusterSecretStore resources.
GenericStore is a common interface for interacting with ClusterSecretStore or a namespaced SecretStore.
GenericStoreValidator provides validation for SecretStore resources.
(Appears on: GithubProvider)
GithubAppAuth defines the GitHub App authentication mechanism for the GitHub provider.
| Field | Description |
|---|---|
privateKey |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
GithubProvider configures a store to push secrets to Github Actions.
| Field | Description |
|---|---|
url |
string
URL configures the Github instance URL. Defaults to https://github.com/. |
uploadURL |
string
(Optional)
Upload URL for enterprise instances. Default to URL. |
authauth configures how secret-manager authenticates with a Github instance.
appIDappID specifies the Github APP that will be used to authenticate the client
installationIDinstallationID specifies the Github APP installation that will be used to authenticate the client
organizationorganization will be used to fetch secrets from the Github organization
repositoryrepository will be used to fetch secrets from the Github repository within an organization
environmentenvironment will be used to fetch secrets from a particular environment within a github repository
(Appears on: GitlabProvider)
GitlabAuth defines the authentication method for the GitLab provider.
| Field | Description |
|---|---|
SecretRef |
GitlabSecretRef
(Appears on: SecretStoreProvider)
GitlabProvider configures a store to sync secrets with a GitLab instance.
| Field | Description |
|---|---|
url |
string
URL configures the GitLab instance URL. Defaults to https://gitlab.com/. |
auth |
GitlabAuth
Auth configures how secret-manager authenticates with a GitLab instance. |
projectIDProjectID specifies a project where secrets are located.
inheritFromGroupsInheritFromGroups specifies whether parent groups should be discovered and checked for secrets.
groupIDsGroupIDs specify, which gitlab groups to pull secrets from. Group secrets are read from left to right followed by the project variables.
environmentEnvironment environment_scope of gitlab CI/CD variables (Please see https://docs.gitlab.com/ee/ci/environments/#create-a-static-environment on how to create environments)
caBundleBase64 encoded certificate for the GitLab server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.
caProvidersee: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider
(Appears on: GitlabAuth)
GitlabSecretRef defines a reference to a secret containing credentials for the GitLab provider.
| Field | Description |
|---|---|
accessToken |
External Secrets meta/v1.SecretKeySelector
AccessToken is used for authentication. |
(Appears on: IBMProvider)
IBMAuth defines the authentication methods for the IBM Cloud Secrets Manager provider.
| Field | Description |
|---|---|
secretRef |
IBMAuthSecretRef
|
containerAuth |
IBMAuthContainerAuth
(Appears on: IBMAuth)
IBMAuthContainerAuth defines authentication using IBM Container-based auth with IAM Trusted Profile.
| Field | Description |
|---|---|
profile |
string
the IBM Trusted Profile |
tokenLocation |
string
Location the token is mounted on the pod |
iamEndpoint(Appears on: IBMAuth)
IBMAuthSecretRef defines a reference to a secret containing credentials for the IBM provider.
| Field | Description |
|---|---|
secretApiKeySecretRef |
External Secrets meta/v1.SecretKeySelector
The SecretAccessKey is used for authentication |
(Appears on: SecretStoreProvider)
IBMProvider configures a store to sync secrets using a IBM Cloud Secrets Manager backend.
| Field | Description |
|---|---|
auth |
IBMAuth
Auth configures how secret-manager authenticates with the IBM secrets manager. |
serviceUrl |
string
ServiceURL is the Endpoint URL that is specific to the Secrets Manager service instance |
(Appears on: InfisicalProvider)
InfisicalAuth defines the authentication methods for the Infisical provider.
| Field | Description |
|---|---|
universalAuthCredentials |
UniversalAuthCredentials
(Optional) |
(Appears on: SecretStoreProvider)
InfisicalProvider configures a store to sync secrets using the Infisical provider.
| Field | Description |
|---|---|
auth |
InfisicalAuth
Auth configures how the Operator authenticates with the Infisical API |
secretsScope |
MachineIdentityScopeInWorkspace
SecretsScope defines the scope of the secrets within the workspace |
hostAPIHostAPI specifies the base URL of the Infisical API. If not provided, it defaults to “https://app.infisical.com/api”.
(Appears on: SecretStoreProvider)
KeeperSecurityProvider Configures a store to sync secrets using Keeper Security.
| Field | Description |
|---|---|
authRef |
External Secrets meta/v1.SecretKeySelector
|
folderID |
string
(Appears on: KubernetesProvider)
KubernetesAuth defines authentication methods for the Kubernetes provider.
| Field | Description |
|---|---|
cert |
CertAuth
(Optional)
has both clientCert and clientKey as secretKeySelector |
token |
TokenAuth
(Optional)
use static token to authenticate with |
serviceAccountpoints to a service account that should be used for authentication
(Appears on: SecretStoreProvider)
KubernetesProvider configures a store to sync secrets with a Kubernetes instance.
| Field | Description |
|---|---|
server |
KubernetesServer
(Optional)
configures the Kubernetes server Address. |
auth |
KubernetesAuth
(Optional)
Auth configures how secret-manager authenticates with a Kubernetes instance. |
authRefA reference to a secret that contains the auth information.
remoteNamespaceRemote namespace to fetch the secrets from
(Appears on: KubernetesProvider)
KubernetesServer defines the Kubernetes server connection configuration.
| Field | Description |
|---|---|
url |
string
(Optional)
configures the Kubernetes server Address. |
caBundle |
[]byte
(Optional)
CABundle is a base64-encoded CA certificate |
caProvidersee: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider
(Appears on: InfisicalProvider)
MachineIdentityScopeInWorkspace defines the scope of a machine identity in an Infisical workspace.
| Field | Description |
|---|---|
secretsPath |
string
(Optional)
SecretsPath specifies the path to the secrets within the workspace. Defaults to “/” if not provided. |
recursive |
bool
(Optional)
Recursive indicates whether the secrets should be fetched recursively. Defaults to false if not provided. |
environmentSlugEnvironmentSlug is the required slug identifier for the environment.
projectSlugProjectSlug is the required slug identifier for the project.
expandSecretReferencesExpandSecretReferences indicates whether secret references should be expanded. Defaults to true if not provided.
(Appears on: AuthorizationProtocol)
NTLMProtocol contains the NTLM-specific configuration.
| Field | Description |
|---|---|
usernameSecret |
External Secrets meta/v1.SecretKeySelector
|
passwordSecret |
External Secrets meta/v1.SecretKeySelector
NoSecretError shall be returned when a GetSecret can not find the desired secret. This is used for deletionPolicy.
NotModifiedError to signal that the webhook received no changes, and it should just return without doing anything.
(Appears on: OnboardbaseProvider)
OnboardbaseAuthSecretRef holds secret references for onboardbase API Key credentials.
| Field | Description |
|---|---|
apiKeyRef |
External Secrets meta/v1.SecretKeySelector
OnboardbaseAPIKey is the APIKey generated by an admin account. It is used to recognize and authorize access to a project and environment within onboardbase |
passcodeRef |
External Secrets meta/v1.SecretKeySelector
OnboardbasePasscode is the passcode attached to the API Key |
(Appears on: SecretStoreProvider)
OnboardbaseProvider configures a store to sync secrets using the Onboardbase provider. Project and Config are required if not using a Service Token.
| Field | Description |
|---|---|
auth |
OnboardbaseAuthSecretRef
Auth configures how the Operator authenticates with the Onboardbase API |
apiHost |
string
APIHost use this to configure the host url for the API for selfhosted installation, default is https://public.onboardbase.com/api/v1/ |
projectProject is an onboardbase project that the secrets should be pulled from
environmentEnvironment is the name of an environmnent within a project to pull the secrets from
(Appears on: OnePasswordProvider)
OnePasswordAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
OnePasswordAuthSecretRef
(Appears on: OnePasswordAuth)
OnePasswordAuthSecretRef holds secret references for 1Password credentials.
| Field | Description |
|---|---|
connectTokenSecretRef |
External Secrets meta/v1.SecretKeySelector
The ConnectToken is used for authentication to a 1Password Connect Server. |
(Appears on: SecretStoreProvider)
OnePasswordProvider configures a store to sync secrets using the 1Password Secret Manager provider.
| Field | Description |
|---|---|
auth |
OnePasswordAuth
Auth defines the information necessary to authenticate against OnePassword Connect Server |
connectHost |
string
ConnectHost defines the OnePassword Connect Server to connect to |
vaultsVaults defines which OnePassword vaults to search in which order
(Appears on: OracleProvider)
OracleAuth defines authentication configuration for the Oracle Vault provider.
| Field | Description |
|---|---|
tenancy |
string
Tenancy is the tenancy OCID where user is located. |
user |
string
User is an access OCID specific to the account. |
secretRefSecretRef to pass through sensitive information.
string alias)(Appears on: OracleProvider)
OraclePrincipalType defines the type of principal used for authentication to Oracle Vault.
| Value | Description |
|---|---|
"InstancePrincipal" |
InstancePrincipal represents a instance principal. |
"UserPrincipal" |
UserPrincipal represents a user principal. |
"Workload" |
WorkloadPrincipal represents a workload principal. |
(Appears on: SecretStoreProvider)
OracleProvider configures a store to sync secrets using an Oracle Vault backend.
| Field | Description |
|---|---|
region |
string
Region is the region where vault is located. |
vault |
string
Vault is the vault’s OCID of the specific vault where secret is located. |
compartmentCompartment is the vault compartment OCID. Required for PushSecret
encryptionKeyEncryptionKey is the OCID of the encryption key within the vault. Required for PushSecret
principalTypeThe type of principal to use for authentication. If left blank, the Auth struct will determine the principal type. This optional field must be specified if using workload identity.
authAuth configures how secret-manager authenticates with the Oracle Vault. If empty, use the instance principal, otherwise the user credentials specified in Auth.
serviceAccountRefServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.
(Appears on: OracleAuth)
OracleSecretRef defines references to secrets containing Oracle credentials.
| Field | Description |
|---|---|
privatekey |
External Secrets meta/v1.SecretKeySelector
PrivateKey is the user’s API Signing Key in PEM format, used for authentication. |
fingerprint |
External Secrets meta/v1.SecretKeySelector
Fingerprint is the fingerprint of the API private key. |
(Appears on: PassboltProvider)
PassboltAuth contains credentials and configuration for authenticating with the Passbolt server.
| Field | Description |
|---|---|
passwordSecretRef |
External Secrets meta/v1.SecretKeySelector
PasswordSecretRef is a reference to the secret containing the Passbolt password |
privateKeySecretRef |
External Secrets meta/v1.SecretKeySelector
PrivateKeySecretRef is a reference to the secret containing the Passbolt private key |
(Appears on: SecretStoreProvider)
PassboltProvider defines configuration for the Passbolt provider.
| Field | Description |
|---|---|
auth |
PassboltAuth
Auth defines the information necessary to authenticate against Passbolt Server |
host |
string
Host defines the Passbolt Server to connect to |
(Appears on: PasswordDepotProvider)
PasswordDepotAuth defines the authentication method for the Password Depot provider.
| Field | Description |
|---|---|
secretRef |
PasswordDepotSecretRef
(Appears on: SecretStoreProvider)
PasswordDepotProvider configures a store to sync secrets with a Password Depot instance.
| Field | Description |
|---|---|
host |
string
URL configures the Password Depot instance URL. |
database |
string
Database to use as source |
authAuth configures how secret-manager authenticates with a Password Depot instance.
(Appears on: PasswordDepotAuth)
PasswordDepotSecretRef defines a reference to a secret containing credentials for the Password Depot provider.
| Field | Description |
|---|---|
credentials |
External Secrets meta/v1.SecretKeySelector
(Optional)
Username / Password is used for authentication. |
(Appears on: PreviderProvider)
PreviderAuth contains a secretRef for credentials.
| Field | Description |
|---|---|
secretRef |
PreviderAuthSecretRef
(Optional) |
(Appears on: PreviderAuth)
PreviderAuthSecretRef holds secret references for Previder Vault credentials.
| Field | Description |
|---|---|
accessToken |
External Secrets meta/v1.SecretKeySelector
The AccessToken is used for authentication |
(Appears on: SecretStoreProvider)
PreviderProvider configures a store to sync secrets using the Previder Secret Manager provider.
| Field | Description |
|---|---|
auth |
PreviderAuth
|
baseUri |
string
(Optional) |
Provider is a common interface for interacting with secret backends.
(Appears on: SecretStoreProvider)
PulumiProvider defines configuration for the Pulumi provider.
| Field | Description |
|---|---|
apiUrl |
string
APIURL is the URL of the Pulumi API. |
accessToken |
PulumiProviderSecretRef
AccessToken is the access tokens to sign in to the Pulumi Cloud Console. |
organizationOrganization are a space to collaborate on shared projects and stacks. To create a new organization, visit https://app.pulumi.com/ and click “New Organization”.
projectProject is the name of the Pulumi ESC project the environment belongs to.
environmentEnvironment are YAML documents composed of static key-value pairs, programmatic expressions, dynamically retrieved values from supported providers including all major clouds, and other Pulumi ESC environments. To create a new environment, visit https://www.pulumi.com/docs/esc/environments/ for more information.
(Appears on: PulumiProvider)
PulumiProviderSecretRef defines a reference to a secret containing credentials for the Pulumi provider.
| Field | Description |
|---|---|
secretRef |
External Secrets meta/v1.SecretKeySelector
SecretRef is a reference to a secret containing the Pulumi API token. |
PushSecretData is an interface to allow using v1alpha1.PushSecretData content in Provider registered in v1beta1.
PushSecretRemoteRef is an interface to allow using v1alpha1.PushSecretRemoteRef in Provider registered in v1beta1.
(Appears on: SecretStoreProvider)
ScalewayProvider defines configuration for the Scaleway provider.
| Field | Description |
|---|---|
apiUrl |
string
(Optional)
APIURL is the url of the api to use. Defaults to https://api.scaleway.com |
region |
string
Region where your secrets are located: https://developers.scaleway.com/en/quickstart/#region-and-zone |
projectIdProjectID is the id of your project, which you can find in the console: https://console.scaleway.com/project/settings
accessKeyAccessKey is the non-secret part of the api key.
secretKeySecretKey is the non-secret part of the api key.
(Appears on: ScalewayProvider)
ScalewayProviderSecretRef defines a reference to a secret containing credentials for the Scaleway provider.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
(Appears on: SecretStoreProvider)
SecretServerProvider defines configuration for the Delinea Secret Server provider. See https://github.com/DelineaXPM/tss-sdk-go/blob/main/server/server.go.
| Field | Description |
|---|---|
username |
SecretServerProviderRef
Username is the secret server account username. |
password |
SecretServerProviderRef
Password is the secret server account password. |
serverURLServerURL URL to your secret server installation
(Appears on: SecretServerProvider)
SecretServerProviderRef defines a reference to a secret containing credentials for the Secret Server provider.
| Field | Description |
|---|---|
value |
string
(Optional)
Value can be specified directly to set a value without using a secret. |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef references a key in a secret that will be used as value. |
SecretStore represents a secure external location for storing secrets, which can be referenced as part of storeRef fields.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
SecretStoreSpec
|
provider |
SecretStoreProvider
Used to configure the provider. Only one provider may be set |
retrySettings |
SecretStoreRetrySettings
(Optional)
Used to configure HTTP retries on failures. |
refreshIntervalUsed to configure store refresh interval in seconds. Empty or 0 will default to the controller config.
conditionsUsed to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.
statusstring alias)(Appears on: SecretStoreStatus)
SecretStoreCapabilities defines the possible operations a SecretStore can do.
| Value | Description |
|---|---|
"ReadOnly" |
SecretStoreReadOnly indicates that the SecretStore only supports reading secrets. |
"ReadWrite" |
SecretStoreReadWrite indicates that the SecretStore supports both reading and writing secrets. |
"WriteOnly" |
SecretStoreWriteOnly indicates that the SecretStore only supports writing secrets. |
string alias)(Appears on: SecretStoreStatusCondition)
SecretStoreConditionType represents the condition type of the SecretStore.
| Value | Description |
|---|---|
"Ready" |
SecretStoreReady indicates that the SecretStore has been successfully configured. |
(Appears on: SecretStoreSpec)
SecretStoreProvider contains the provider-specific configuration.
| Field | Description |
|---|---|
aws |
AWSProvider
(Optional)
AWS configures this store to sync secrets using AWS Secret Manager provider |
azurekv |
AzureKVProvider
(Optional)
AzureKV configures this store to sync secrets using Azure Key Vault provider |
akeylessAkeyless configures this store to sync secrets using Akeyless Vault provider
bitwardensecretsmanagerBitwardenSecretsManager configures this store to sync secrets using BitwardenSecretsManager provider
vaultVault configures this store to sync secrets using the HashiCorp Vault provider.
gcpsmGCPSM configures this store to sync secrets using Google Cloud Platform Secret Manager provider
oracleOracle configures this store to sync secrets using Oracle Vault provider
ibmIBM configures this store to sync secrets using IBM Cloud provider
yandexcertificatemanagerYandexCertificateManager configures this store to sync secrets using Yandex Certificate Manager provider
yandexlockboxYandexLockbox configures this store to sync secrets using Yandex Lockbox provider
githubGithub configures this store to push GitHub Actions secrets using the GitHub API provider.
gitlabGitLab configures this store to sync secrets using GitLab Variables provider
alibabaAlibaba configures this store to sync secrets using Alibaba Cloud provider
onepasswordOnePassword configures this store to sync secrets using the 1Password Cloud provider
webhookWebhook configures this store to sync secrets using a generic templated webhook
kubernetesKubernetes configures this store to sync secrets using a Kubernetes cluster provider
fakeFake configures a store with static key/value pairs
senhaseguraSenhasegura configures this store to sync secrets using senhasegura provider
scalewayScaleway configures this store to sync secrets using the Scaleway provider.
dopplerDoppler configures this store to sync secrets using the Doppler provider
previderPrevider configures this store to sync secrets using the Previder provider
onboardbaseOnboardbase configures this store to sync secrets using the Onboardbase provider
keepersecurityKeeperSecurity configures this store to sync secrets using the KeeperSecurity provider
conjurConjur configures this store to sync secrets using conjur provider
delineaDelinea DevOps Secrets Vault https://docs.delinea.com/online-help/products/devops-secrets-vault/current
secretserverSecretServer configures this store to sync secrets using SecretServer provider https://docs.delinea.com/online-help/secret-server/start.htm
chefChef configures this store to sync secrets with chef server
pulumiPulumi configures this store to sync secrets using the Pulumi provider
fortanixFortanix configures this store to sync secrets using the Fortanix provider
passworddepotpassboltdevice42Device42 configures this store to sync secrets using the Device42 provider
infisicalInfisical configures this store to sync secrets using the Infisical provider
beyondtrustBeyondtrust configures this store to sync secrets using Password Safe provider.
cloudrusmCloudruSM configures this store to sync secrets using the Cloud.ru Secret Manager provider
(Appears on: ExternalSecretSpec, StoreGeneratorSourceRef, StoreSourceRef)
SecretStoreRef defines which SecretStore to fetch the ExternalSecret data.
| Field | Description |
|---|---|
name |
string
Name of the SecretStore resource |
kind |
string
(Optional)
Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
Defaults to |
(Appears on: SecretStoreSpec)
SecretStoreRetrySettings defines configuration for retrying failed requests to the provider.
| Field | Description |
|---|---|
maxRetries |
int32
MaxRetries is the maximum number of retry attempts. |
retryInterval |
string
RetryInterval is the interval between retry attempts. |
(Appears on: ClusterSecretStore, SecretStore)
SecretStoreSpec defines the desired state of SecretStore.
| Field | Description |
|---|---|
controller |
string
(Optional)
Used to select the correct ESO controller (think: ingress.ingressClassName) The ESO controller is instantiated with a specific controller name and filters ES based on this property |
provider |
SecretStoreProvider
Used to configure the provider. Only one provider may be set |
retrySettingsUsed to configure HTTP retries on failures.
refreshIntervalUsed to configure store refresh interval in seconds. Empty or 0 will default to the controller config.
conditionsUsed to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.
(Appears on: ClusterSecretStore, SecretStore)
SecretStoreStatus defines the observed state of the SecretStore.
| Field | Description |
|---|---|
conditions |
[]SecretStoreStatusCondition
(Optional) |
capabilities |
SecretStoreCapabilities
(Optional) |
(Appears on: SecretStoreStatus)
SecretStoreStatusCondition defines the observed condition of the SecretStore.
| Field | Description |
|---|---|
type |
SecretStoreConditionType
|
status |
Kubernetes core/v1.ConditionStatus
reasonmessagelastTransitionTime
SecretsClient provides access to secrets.
(Appears on: AWSProvider)
SecretsManager defines how the provider behaves when interacting with AWS SecretsManager. Some of these settings are only applicable to controlling how secrets are deleted, and hence only apply to PushSecret (and only when deletionPolicy is set to Delete).
| Field | Description |
|---|---|
forceDeleteWithoutRecovery |
bool
(Optional)
Specifies whether to delete the secret without any recovery window. You can’t use both this parameter and RecoveryWindowInDays in the same call. If you don’t use either, then by default Secrets Manager uses a 30 day recovery window. see: https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html#SecretsManager-DeleteSecret-request-ForceDeleteWithoutRecovery |
recoveryWindowInDays |
int64
(Optional)
The number of days from 7 to 30 that Secrets Manager waits before permanently deleting the secret. You can’t use both this parameter and ForceDeleteWithoutRecovery in the same call. If you don’t use either, then by default Secrets Manager uses a 30 day recovery window. see: https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html#SecretsManager-DeleteSecret-request-RecoveryWindowInDays |
(Appears on: SenhaseguraProvider)
SenhaseguraAuth tells the controller how to do auth in senhasegura.
| Field | Description |
|---|---|
clientId |
string
|
clientSecretSecretRef |
External Secrets meta/v1.SecretKeySelector
string alias)(Appears on: SenhaseguraProvider)
SenhaseguraModuleType enum defines senhasegura target module to fetch secrets
| Value | Description |
|---|---|
"DSM" |
|
(Appears on: SecretStoreProvider)
SenhaseguraProvider setup a store to sync secrets with senhasegura.
| Field | Description |
|---|---|
url |
string
URL of senhasegura |
module |
SenhaseguraModuleType
Module defines which senhasegura module should be used to get secrets |
authAuth defines parameters to authenticate in senhasegura
ignoreSslCertificateIgnoreSslCertificate defines if SSL certificate must be ignored
(Appears on: ExternalSecretDataFromRemoteRef)
StoreGeneratorSourceRef allows you to override the source from which the secret will be pulled from. You can define at maximum one property.
| Field | Description |
|---|---|
storeRef |
SecretStoreRef
(Optional) |
generatorRef |
GeneratorRef
(Optional)
GeneratorRef points to a generator custom resource. |
(Appears on: ExternalSecretData)
StoreSourceRef allows you to override the SecretStore source from which the secret will be pulled from. You can define at maximum one property.
| Field | Description |
|---|---|
storeRef |
SecretStoreRef
(Optional) |
generatorRef |
GeneratorRef
GeneratorRef points to a generator custom resource. Deprecated: The generatorRef is not implemented in .data[]. this will be removed with v1. |
Tag defines a tag key and value for AWS resources.
| Field | Description |
|---|---|
key |
string
|
value |
string
string alias)(Appears on: ExternalSecretTemplate)
TemplateEngineVersion defines the version of the template engine to use.
| Value | Description |
|---|---|
"v2" |
TemplateEngineV2 specifies the v2 template engine version. |
(Appears on: ExternalSecretTemplate)
TemplateFrom defines a source for template data.
| Field | Description |
|---|---|
configMap |
TemplateRef
|
secret |
TemplateRef
targetliteralstring alias)(Appears on: ExternalSecretTemplate)
TemplateMergePolicy defines how template values should be merged when generating a secret.
| Value | Description |
|---|---|
"Merge" |
MergePolicyMerge merges the template content with existing values. |
"Replace" |
MergePolicyReplace replaces the entire template content during merge operations. |
(Appears on: TemplateFrom)
TemplateRef defines a reference to a template source in a ConfigMap or Secret.
| Field | Description |
|---|---|
name |
string
The name of the ConfigMap/Secret resource |
items |
[]TemplateRefItem
A list of keys in the ConfigMap/Secret to use as templates for Secret data |
(Appears on: TemplateRef)
TemplateRefItem defines which key in the referenced ConfigMap or Secret to use as a template.
| Field | Description |
|---|---|
key |
string
A key in the ConfigMap/Secret |
templateAs |
TemplateScope
string alias)(Appears on: TemplateRefItem)
TemplateScope defines the scope of the template when processing template data.
| Value | Description |
|---|---|
"KeysAndValues" |
TemplateScopeKeysAndValues processes both keys and values of the data. |
"Values" |
TemplateScopeValues processes only the values of the data. |
string alias)(Appears on: TemplateFrom)
TemplateTarget defines the target field where the template result will be stored.
| Value | Description |
|---|---|
"Annotations" |
TemplateTargetAnnotations stores template results in the annotations field of the secret. |
"Data" |
TemplateTargetData stores template results in the data field of the secret. |
"Labels" |
TemplateTargetLabels stores template results in the labels field of the secret. |
(Appears on: KubernetesAuth)
TokenAuth defines token-based authentication for the Kubernetes provider.
| Field | Description |
|---|---|
bearerToken |
External Secrets meta/v1.SecretKeySelector
(Appears on: InfisicalAuth)
UniversalAuthCredentials defines the credentials for Infisical Universal Auth.
| Field | Description |
|---|---|
clientId |
External Secrets meta/v1.SecretKeySelector
|
clientSecret |
External Secrets meta/v1.SecretKeySelector
byte alias)
ValidationResult represents the result of validating a provider client configuration.
| Value | Description |
|---|---|
2 |
ValidationResultError indicates that there is a misconfiguration. |
0 |
ValidationResultReady indicates that the client is configured correctly and can be used. |
1 |
ValidationResultUnknown indicates that the client can be used but information is missing and it can not be validated. |
(Appears on: VaultAuth)
VaultAppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
path |
string
Path where the App Role authentication backend is mounted in Vault, e.g: “approle” |
roleId |
string
(Optional)
RoleID configured in the App Role authentication backend when setting up the authentication backend in Vault. |
roleRefReference to a key in a Secret that contains the App Role ID used
to authenticate with Vault.
The key field must be specified and denotes which entry within the Secret
resource is used as the app role id.
secretRefReference to a key in a Secret that contains the App Role secret used
to authenticate with Vault.
The key field must be specified and denotes which entry within the Secret
resource is used as the app role secret.
(Appears on: VaultProvider)
VaultAuth is the configuration used to authenticate with a Vault server.
Only one of tokenSecretRef, appRole, kubernetes, ldap, userPass, jwt or cert
can be specified. A namespace to authenticate against can optionally be specified.
| Field | Description |
|---|---|
namespace |
string
(Optional)
Name of the vault namespace to authenticate to. This can be different than the namespace your secret is in. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: “ns1”. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces This will default to Vault.Namespace field if set, or empty otherwise |
tokenSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
TokenSecretRef authenticates with Vault by presenting a token. |
appRoleAppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.
kubernetesKubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server.
ldapLdap authenticates with Vault by passing username/password pair using the LDAP authentication method
jwtJwt authenticates with Vault by passing role and JWT token using the JWT/OIDC authentication method
certCert authenticates with TLS Certificates by passing client certificate, private key and ca certificate Cert authentication method
iamIam authenticates with vault by passing a special AWS request signed with AWS IAM credentials AWS IAM authentication method
userPassUserPass authenticates with Vault by passing username/password pair
VaultAwsAuth tells the controller how to do authentication with aws. Only one of secretRef or jwt can be specified. if none is specified the controller will try to load credentials from its own service account assuming it is IRSA enabled.
| Field | Description |
|---|---|
secretRef |
VaultAwsAuthSecretRef
(Optional) |
jwt |
VaultAwsJWTAuth
(Optional) |
(Appears on: VaultAwsAuth, VaultIamAuth)
VaultAwsAuthSecretRef holds secret references for AWS credentials both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The AccessKeyID is used for authentication |
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The SecretAccessKey is used for authentication |
sessionTokenSecretRefThe SessionToken used for authentication This must be defined if AccessKeyID and SecretAccessKey are temporary credentials see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
(Appears on: VaultAwsAuth, VaultIamAuth)
VaultAwsJWTAuth Authenticate against AWS using service account tokens.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Optional) |
(Appears on: VaultAuth)
VaultCertAuth authenticates with Vault using the JWT/OIDC authentication method, with the role name and token stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
clientCert |
External Secrets meta/v1.SecretKeySelector
(Optional)
ClientCert is a certificate to authenticate using the Cert Vault authentication method |
secretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
SecretRef to a key in a Secret resource containing client private key to authenticate with Vault using the Cert authentication method |
(Appears on: VaultProvider)
VaultClientTLS is the configuration used for client side related TLS communication, when the Vault server requires mutual authentication.
| Field | Description |
|---|---|
certSecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
CertSecretRef is a certificate added to the transport layer when communicating with the Vault server. If no key for the Secret is specified, external-secret will default to ‘tls.crt’. |
keySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
KeySecretRef to a key in a Secret resource containing client private key added to the transport layer when communicating with the Vault server. If no key for the Secret is specified, external-secret will default to ‘tls.key’. |
(Appears on: VaultAuth)
VaultIamAuth authenticates with Vault using the Vault’s AWS IAM authentication method. Refer: https://developer.hashicorp.com/vault/docs/auth/aws
| Field | Description |
|---|---|
path |
string
(Optional)
Path where the AWS auth method is enabled in Vault, e.g: “aws” |
region |
string
(Optional)
AWS region |
roleThis is the AWS role to be assumed before talking to vault
vaultRoleVault Role. In vault, a role describes an identity with a set of permissions, groups, or policies you want to attach a user of the secrets engine
externalIDAWS External ID set on assumed IAM roles
vaultAwsIamServerIDX-Vault-AWS-IAM-Server-ID is an additional header used by Vault IAM auth method to mitigate against different types of replay attacks. More details here: https://developer.hashicorp.com/vault/docs/auth/aws
secretRefSpecify credentials in a Secret object
jwtSpecify a service account with IRSA enabled
(Appears on: VaultAuth)
VaultJwtAuth authenticates with Vault using the JWT/OIDC authentication
method, with the role name and a token stored in a Kubernetes Secret resource or
a Kubernetes service account token retrieved via TokenRequest.
| Field | Description |
|---|---|
path |
string
Path where the JWT authentication backend is mounted in Vault, e.g: “jwt” |
role |
string
(Optional)
Role is a JWT role to authenticate using the JWT/OIDC Vault authentication method |
secretRefOptional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Vault using the JWT/OIDC authentication method.
kubernetesServiceAccountTokenOptional ServiceAccountToken specifies the Kubernetes service account for which to request
a token for with the TokenRequest API.
string alias)(Appears on: VaultProvider)
VaultKVStoreVersion defines the version of the KV store in Vault.
| Value | Description |
|---|---|
"v1" |
VaultKVStoreV1 represents version 1 of the Vault KV store. |
"v2" |
VaultKVStoreV2 represents version 2 of the Vault KV store. |
(Appears on: VaultAuth)
VaultKubernetesAuth authenticates against Vault using a Kubernetes ServiceAccount token stored in a Secret.
| Field | Description |
|---|---|
mountPath |
string
Path where the Kubernetes authentication backend is mounted in Vault, e.g: “kubernetes” |
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Optional)
Optional service account field containing the name of a kubernetes ServiceAccount. If the service account is specified, the service account secret token JWT will be used for authenticating with Vault. If the service account selector is not supplied, the secretRef will be used instead. |
secretRefOptional secret field containing a Kubernetes ServiceAccount JWT used
for authenticating with Vault. If a name is specified without a key,
token is the default. If one is not specified, the one bound to
the controller will be used.
roleA required field containing the Vault Role to assume. A Role binds a Kubernetes ServiceAccount with a set of Vault policies.
(Appears on: VaultJwtAuth)
VaultKubernetesServiceAccountTokenAuth authenticates with Vault using a temporary
Kubernetes service account token retrieved by the TokenRequest API.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
Service account field containing the name of a kubernetes ServiceAccount. |
audiences |
[]string
(Optional)
Optional audiences field that will be used to request a temporary Kubernetes service
account token for the service account referenced by Deprecated: use serviceAccountRef.Audiences instead |
expirationSecondsOptional expiration time in seconds that will be used to request a temporary
Kubernetes service account token for the service account referenced by
serviceAccountRef.
Deprecated: this will be removed in the future. Defaults to 10 minutes.
(Appears on: VaultAuth)
VaultLdapAuth authenticates with Vault using the LDAP authentication method, with the username and password stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
path |
string
Path where the LDAP authentication backend is mounted in Vault, e.g: “ldap” |
username |
string
Username is an LDAP username used to authenticate using the LDAP Vault authentication method |
secretRefSecretRef to a key in a Secret resource containing password for the LDAP user used to authenticate with Vault using the LDAP authentication method
(Appears on: SecretStoreProvider)
VaultProvider configures a store to sync secrets using a HashiCorp Vault KV backend.
| Field | Description |
|---|---|
auth |
VaultAuth
Auth configures how secret-manager authenticates with the Vault server. |
server |
string
Server is the connection address for the Vault server, e.g: “https://vault.example.com:8200”. |
pathPath is the mount path of the Vault KV backend endpoint, e.g: “secret”. The v2 KV secret engine version specific “/data” path suffix for fetching secrets from Vault is optional and will be appended if not present in specified path.
versionVersion is the Vault KV secret engine version. This can be either “v1” or “v2”. Version defaults to “v2”.
namespaceName of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: “ns1”. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
caBundlePEM encoded CA bundle used to validate Vault server certificate. Only used if the Server URL is using HTTPS protocol. This parameter is ignored for plain HTTP protocol connection. If not set the system root certificates are used to validate the TLS connection.
tlsThe configuration used for client side related TLS communication, when the Vault server
requires mutual authentication. Only used if the Server URL is using HTTPS protocol.
This parameter is ignored for plain HTTP protocol connection.
It’s worth noting this configuration is different from the “TLS certificates auth method”,
which is available under the auth.cert section.
caProviderThe provider for the CA bundle to use to validate Vault server certificate.
readYourWritesReadYourWrites ensures isolated read-after-write semantics by providing discovered cluster replication states in each request. More information about eventual consistency in Vault can be found here https://www.vaultproject.io/docs/enterprise/consistency
forwardInconsistentForwardInconsistent tells Vault to forward read-after-write requests to the Vault leader instead of simply retrying within a loop. This can increase performance if the option is enabled serverside. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
headersHeaders to be added in Vault request
(Appears on: VaultAuth)
VaultUserPassAuth authenticates with Vault using UserPass authentication method, with the username and password stored in a Kubernetes Secret resource.
| Field | Description |
|---|---|
path |
string
Path where the UserPassword authentication backend is mounted in Vault, e.g: “userpass” |
username |
string
Username is a username used to authenticate using the UserPass Vault authentication method |
secretRefSecretRef to a key in a Secret resource containing password for the user used to authenticate with Vault using the UserPass authentication method
(Appears on: WebhookProvider)
WebhookCAProvider defines a location to fetch the certificate for the webhook provider.
| Field | Description |
|---|---|
type |
WebhookCAProviderType
The type of provider to use such as “Secret”, or “ConfigMap”. |
name |
string
The name of the object located at the provider type. |
keyThe key where the CA certificate can be found in the Secret or ConfigMap.
namespaceThe namespace the Provider type is in.
string alias)(Appears on: WebhookCAProvider)
WebhookCAProviderType defines the type of provider to use for CA certificates with Webhook providers.
| Value | Description |
|---|---|
"ConfigMap" |
WebhookCAProviderTypeConfigMap indicates that the CA certificate is stored in a ConfigMap. |
"Secret" |
WebhookCAProviderTypeSecret indicates that the CA certificate is stored in a Secret. |
(Appears on: SecretStoreProvider)
WebhookProvider configures a store to sync secrets from simple web APIs.
| Field | Description |
|---|---|
method |
string
Webhook Method |
url |
string
Webhook url to call |
headersHeaders
authAuth specifies a authorization protocol. Only one protocol may be set.
bodyBody
timeoutTimeout
resultResult formatting
secretsSecrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name
caBundlePEM encoded CA bundle used to validate webhook server certificate. Only used if the Server URL is using HTTPS protocol. This parameter is ignored for plain HTTP protocol connection. If not set the system root certificates are used to validate the TLS connection.
caProviderThe provider for the CA bundle to use to validate webhook server certificate.
(Appears on: WebhookProvider)
WebhookResult defines how to extract and format the result from the webhook response.
| Field | Description |
|---|---|
jsonPath |
string
(Optional)
Json path of return value |
(Appears on: WebhookProvider)
WebhookSecret defines a secret to be used in webhook templates.
| Field | Description |
|---|---|
name |
string
Name of this secret in templates |
secretRef |
External Secrets meta/v1.SecretKeySelector
Secret ref to fill in credentials |
(Appears on: YandexCertificateManagerProvider)
YandexCertificateManagerAuth defines authentication configuration for the Yandex Certificate Manager provider.
| Field | Description |
|---|---|
authorizedKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The authorized key used for authentication |
(Appears on: YandexCertificateManagerProvider)
YandexCertificateManagerCAProvider defines CA certificate configuration for Yandex Certificate Manager.
| Field | Description |
|---|---|
certSecretRef |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
YandexCertificateManagerProvider configures a store to sync secrets using the Yandex Certificate Manager provider.
| Field | Description |
|---|---|
apiEndpoint |
string
(Optional)
Yandex.Cloud API endpoint (e.g. ‘api.cloud.yandex.net:443’) |
auth |
YandexCertificateManagerAuth
Auth defines the information necessary to authenticate against Yandex Certificate Manager |
caProviderThe provider for the CA bundle to use to validate Yandex.Cloud server certificate.
(Appears on: YandexLockboxProvider)
YandexLockboxAuth defines authentication configuration for the Yandex Lockbox provider.
| Field | Description |
|---|---|
authorizedKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The authorized key used for authentication |
(Appears on: YandexLockboxProvider)
YandexLockboxCAProvider defines CA certificate configuration for Yandex Lockbox.
| Field | Description |
|---|---|
certSecretRef |
External Secrets meta/v1.SecretKeySelector
(Appears on: SecretStoreProvider)
YandexLockboxProvider configures a store to sync secrets using the Yandex Lockbox provider.
| Field | Description |
|---|---|
apiEndpoint |
string
(Optional)
Yandex.Cloud API endpoint (e.g. ‘api.cloud.yandex.net:443’) |
auth |
YandexLockboxAuth
Auth defines the information necessary to authenticate against Yandex Lockbox |
caProviderThe provider for the CA bundle to use to validate Yandex.Cloud server certificate.
Package v1alpha1 contains resources for generators
Resource Types:
ACRAccessToken returns an Azure Container Registry token that can be used for pushing/pulling images. Note: by default it will return an ACR Refresh Token with full access (depending on the identity). This can be scoped down to the repository level using .spec.scope. In case scope is defined it will return an ACR Access Token.
See docs: https://github.com/Azure/acr/blob/main/docs/AAD-OAuth.md
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ACRAccessTokenSpec
|
tenantId |
string
TenantID configures the Azure Tenant to send requests to. Required for ServicePrincipal auth type. |
registry |
string
the domain name of the ACR registry e.g. foobarexample.azurecr.io |
scopeDefine the scope for the access token, e.g. pull/push access for a repository. if not provided it will return a refresh token that has full scope. Note: you need to pin it down to the repository level, there is no wildcard available.
examples: repository:my-repository:pull,push repository:my-repository:pull
see docs for details: https://docs.docker.com/registry/spec/auth/scope/
environmentTypeEnvironmentType specifies the Azure cloud environment endpoints to use for connecting and authenticating with Azure. By default, it points to the public cloud AAD endpoint. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152 PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud
(Appears on: ACRAccessToken, GeneratorSpec)
ACRAccessTokenSpec defines how to generate the access token e.g. how to authenticate and which registry to use. see: https://github.com/Azure/acr/blob/main/docs/AAD-OAuth.md#overview
| Field | Description |
|---|---|
auth |
ACRAuth
|
tenantId |
string
TenantID configures the Azure Tenant to send requests to. Required for ServicePrincipal auth type. |
registrythe domain name of the ACR registry e.g. foobarexample.azurecr.io
scopeDefine the scope for the access token, e.g. pull/push access for a repository. if not provided it will return a refresh token that has full scope. Note: you need to pin it down to the repository level, there is no wildcard available.
examples: repository:my-repository:pull,push repository:my-repository:pull
see docs for details: https://docs.docker.com/registry/spec/auth/scope/
environmentTypeEnvironmentType specifies the Azure cloud environment endpoints to use for connecting and authenticating with Azure. By default, it points to the public cloud AAD endpoint. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152 PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud
(Appears on: ACRAccessTokenSpec)
ACRAuth defines the authentication methods for Azure Container Registry.
| Field | Description |
|---|---|
servicePrincipal |
AzureACRServicePrincipalAuth
(Optional)
ServicePrincipal uses Azure Service Principal credentials to authenticate with Azure. |
managedIdentity |
AzureACRManagedIdentityAuth
(Optional)
ManagedIdentity uses Azure Managed Identity to authenticate with Azure. |
workloadIdentityWorkloadIdentity uses Azure Workload Identity to authenticate with Azure.
(Appears on: ECRAuthorizationTokenSpec, STSSessionTokenSpec)
AWSAuth tells the controller how to do authentication with aws. Only one of secretRef or jwt can be specified. if none is specified the controller will load credentials using the aws sdk defaults.
| Field | Description |
|---|---|
secretRef |
AWSAuthSecretRef
(Optional) |
jwt |
AWSJWTAuth
(Optional) |
(Appears on: AWSAuth)
AWSAuthSecretRef holds secret references for AWS credentials both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
| Field | Description |
|---|---|
accessKeyIDSecretRef |
External Secrets meta/v1.SecretKeySelector
The AccessKeyID is used for authentication |
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
The SecretAccessKey is used for authentication |
sessionTokenSecretRefThe SessionToken used for authentication This must be defined if AccessKeyID and SecretAccessKey are temporary credentials see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
(Appears on: AWSAuth)
AWSJWTAuth provides configuration to authenticate against AWS using service account tokens.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Appears on: WebhookSpec)
AuthorizationProtocol contains the protocol-specific configuration
| Field | Description |
|---|---|
ntlm |
NTLMProtocol
(Optional)
NTLMProtocol configures the store to use NTLM for auth |
(Appears on: ACRAuth)
AzureACRManagedIdentityAuth defines the configuration for using Azure Managed Identity authentication.
| Field | Description |
|---|---|
identityId |
string
If multiple Managed Identity is assigned to the pod, you can select the one to be used |
(Appears on: ACRAuth)
AzureACRServicePrincipalAuth defines the configuration for using Azure Service Principal authentication.
| Field | Description |
|---|---|
secretRef |
AzureACRServicePrincipalAuthSecretRef
(Appears on: AzureACRServicePrincipalAuth)
AzureACRServicePrincipalAuthSecretRef defines the secret references for Azure Service Principal authentication. It uses static credentials stored in a Kind=Secret.
| Field | Description |
|---|---|
clientId |
External Secrets meta/v1.SecretKeySelector
The Azure clientId of the service principle used for authentication. |
clientSecret |
External Secrets meta/v1.SecretKeySelector
The Azure ClientSecret of the service principle used for authentication. |
(Appears on: ACRAuth)
AzureACRWorkloadIdentityAuth defines the configuration for using Azure Workload Identity authentication.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
(Optional)
ServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity. |
CloudsmithAccessToken generates Cloudsmith access token using OIDC authentication
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
CloudsmithAccessTokenSpec
|
orgSlug |
string
OrgSlug is the organization slug in Cloudsmith |
serviceSlug |
string
ServiceSlug is the service slug in Cloudsmith for OIDC authentication |
serviceAccountRefName of the service account you are federating with
(Appears on: CloudsmithAccessToken, GeneratorSpec)
CloudsmithAccessTokenSpec defines the configuration for generating a Cloudsmith access token using OIDC authentication.
| Field | Description |
|---|---|
apiUrl |
string
APIURL configures the Cloudsmith API URL. Defaults to https://api.cloudsmith.io. |
orgSlug |
string
OrgSlug is the organization slug in Cloudsmith |
serviceSlugServiceSlug is the service slug in Cloudsmith for OIDC authentication
serviceAccountRefName of the service account you are federating with
ClusterGenerator represents a cluster-wide generator which can be referenced as part of generatorRef fields.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ClusterGeneratorSpec
|
generator |
GeneratorSpec
Generator the spec for this generator, must match the kind. |
(Appears on: ClusterGenerator)
ClusterGeneratorSpec defines the desired state of a ClusterGenerator.
| Field | Description |
|---|---|
kind |
GeneratorKind
Kind the kind of this generator. |
generator |
GeneratorSpec
Generator the spec for this generator, must match the kind. |
ControllerClassResource defines a resource that can be assigned to a specific controller class.
| Field | Description |
|---|---|
spec |
struct{ControllerClass string "json:\"controller\""}
|
ECRAuthorizationToken uses the GetAuthorizationToken API to retrieve an authorization token. The authorization token is valid for 12 hours. The authorizationToken returned is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. For more information, see Registry authentication (https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth) in the Amazon Elastic Container Registry User Guide.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
ECRAuthorizationTokenSpec
|
auth |
AWSAuth
(Optional)
Auth defines how to authenticate with AWS |
role |
string
(Optional)
You can assume a role before making calls to the desired AWS service. |
scopeScope specifies the ECR service scope. Valid options are private and public.
(Appears on: ECRAuthorizationToken, GeneratorSpec)
ECRAuthorizationTokenSpec defines the desired state to generate an AWS ECR authorization token.
| Field | Description |
|---|---|
region |
string
Region specifies the region to operate in. |
auth |
AWSAuth
(Optional)
Auth defines how to authenticate with AWS |
roleYou can assume a role before making calls to the desired AWS service.
scopeScope specifies the ECR service scope. Valid options are private and public.
Fake generator is used for testing. It lets you define a static set of credentials that is always returned.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
FakeSpec
|
data |
map[string]string
Data defines the static data returned by this generator. |
(Appears on: Fake, GeneratorSpec)
FakeSpec contains the static data.
| Field | Description |
|---|---|
controller |
string
(Optional)
Used to select the correct ESO controller (think: ingress.ingressClassName) The ESO controller is instantiated with a specific controller name and filters VDS based on this property |
data |
map[string]string
Data defines the static data returned by this generator. |
(Appears on: GCRAccessTokenSpec)
GCPSMAuth defines the authentication methods for Google Cloud Platform.
| Field | Description |
|---|---|
secretRef |
GCPSMAuthSecretRef
(Optional) |
workloadIdentity |
GCPWorkloadIdentity
(Optional) |
workloadIdentityFederation(Appears on: GCPSMAuth)
GCPSMAuthSecretRef defines the reference to a secret containing Google Cloud Platform credentials.
| Field | Description |
|---|---|
secretAccessKeySecretRef |
External Secrets meta/v1.SecretKeySelector
(Optional)
The SecretAccessKey is used for authentication |
(Appears on: GCPSMAuth)
GCPWorkloadIdentity defines the configuration for using GCP Workload Identity authentication.
| Field | Description |
|---|---|
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
|
clusterLocation |
string
clusterNameclusterProjectID
GCRAccessToken generates an GCP access token that can be used to authenticate with GCR.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
GCRAccessTokenSpec
|
projectID |
string
ProjectID defines which project to use to authenticate with |
(Appears on: GCRAccessToken, GeneratorSpec)
GCRAccessTokenSpec defines the desired state to generate a Google Container Registry access token.
| Field | Description |
|---|---|
auth |
GCPSMAuth
Auth defines the means for authenticating with GCP |
projectID |
string
ProjectID defines which project to use to authenticate with |
Generator is the common interface for all generators that is actually used to generate whatever is needed.
string alias)(Appears on: ClusterGeneratorSpec)
GeneratorKind represents a kind of generator.
| Value | Description |
|---|---|
"ACRAccessToken" |
GeneratorKindACRAccessToken represents an Azure Container Registry access token generator. |
"CloudsmithAccessToken" |
GeneratorKindCloudsmithAccessToken represents a Cloudsmith access token generator. |
"ECRAuthorizationToken" |
GeneratorKindECRAuthorizationToken represents an AWS ECR authorization token generator. |
"Fake" |
GeneratorKindFake represents a fake generator for testing purposes. |
"GCRAccessToken" |
GeneratorKindGCRAccessToken represents a Google Container Registry access token generator. |
"GithubAccessToken" |
GeneratorKindGithubAccessToken represents a GitHub access token generator. |
"Grafana" |
GeneratorKindGrafana represents a Grafana token generator. |
"MFA" |
GeneratorKindMFA represents a Multi-Factor Authentication generator. |
"Password" |
GeneratorKindPassword represents a password generator. |
"QuayAccessToken" |
GeneratorKindQuayAccessToken represents a Quay access token generator. |
"SSHKey" |
GeneratorKindSSHKey represents an SSH key generator. |
"STSSessionToken" |
GeneratorKindSTSSessionToken represents an AWS STS session token generator. |
"UUID" |
GeneratorKindUUID represents a UUID generator. |
"VaultDynamicSecret" |
GeneratorKindVaultDynamicSecret represents a HashiCorp Vault dynamic secret generator. |
"Webhook" |
GeneratorKindWebhook represents a webhook-based generator. |
GeneratorProviderState represents the state of a generator provider that can be stored and retrieved.
(Appears on: ClusterGeneratorSpec)
GeneratorSpec defines the configuration for various supported generator types.
| Field | Description |
|---|---|
acrAccessTokenSpec |
ACRAccessTokenSpec
|
cloudsmithAccessTokenSpec |
CloudsmithAccessTokenSpec
ecrAuthorizationTokenSpecfakeSpecgcrAccessTokenSpecgithubAccessTokenSpecquayAccessTokenSpecpasswordSpecsshKeySpecstsSessionTokenSpecuuidSpecvaultDynamicSecretSpecwebhookSpecgrafanaSpecmfaSpec
GeneratorState represents the state created and managed by a generator resource.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
GeneratorStateSpec
|
resource |
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
Resource is the generator manifest that produced the state. It is a snapshot of the generator manifest at the time the state was produced. This manifest will be used to delete the resource. Any configuration that is referenced in the manifest should be available at the time of garbage collection. If that is not the case deletion will be blocked by a finalizer. |
state |
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
State is the state that was produced by the generator implementation. |
statusstring alias)(Appears on: GeneratorStateStatusCondition)
GeneratorStateConditionType represents the type of condition for a generator state.
| Value | Description |
|---|---|
"Ready" |
GeneratorStateReady indicates the generator state is ready and available. |
(Appears on: GeneratorState)
GeneratorStateSpec defines the desired state of a generator state resource.
| Field | Description |
|---|---|
garbageCollectionDeadline |
Kubernetes meta/v1.Time
GarbageCollectionDeadline is the time after which the generator state will be deleted. It is set by the controller which creates the generator state and can be set configured by the user. If the garbage collection deadline is not set the generator state will not be deleted. |
resource |
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
Resource is the generator manifest that produced the state. It is a snapshot of the generator manifest at the time the state was produced. This manifest will be used to delete the resource. Any configuration that is referenced in the manifest should be available at the time of garbage collection. If that is not the case deletion will be blocked by a finalizer. |
stateState is the state that was produced by the generator implementation.
(Appears on: GeneratorState)
GeneratorStateStatus defines the observed state of a generator state resource.
| Field | Description |
|---|---|
conditions |
[]GeneratorStateStatusCondition
(Appears on: GeneratorStateStatus)
GeneratorStateStatusCondition represents the observed condition of a generator state.
| Field | Description |
|---|---|
type |
GeneratorStateConditionType
|
status |
Kubernetes core/v1.ConditionStatus
reasonmessagelastTransitionTime
GithubAccessToken generates ghs_ accessToken
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
GithubAccessTokenSpec
|
appID |
string
|
installID |
string
repositoriesList of repositories the token will have access to. If omitted, defaults to all repositories the GitHub App is installed to.
permissionsMap of permissions the token will have. If omitted, defaults to all permissions the GitHub App has.
authAuth configures how ESO authenticates with a Github instance.
(Appears on: GeneratorSpec, GithubAccessToken)
GithubAccessTokenSpec defines the desired state to generate a GitHub access token.
| Field | Description |
|---|---|
url |
string
URL configures the GitHub instance URL. Defaults to https://github.com/. |
appID |
string
installIDrepositoriesList of repositories the token will have access to. If omitted, defaults to all repositories the GitHub App is installed to.
permissionsMap of permissions the token will have. If omitted, defaults to all permissions the GitHub App has.
authAuth configures how ESO authenticates with a Github instance.
(Appears on: GithubAccessTokenSpec)
GithubAuth defines the authentication configuration for GitHub access.
| Field | Description |
|---|---|
privateKey |
GithubSecretRef
(Appears on: GithubAuth)
GithubSecretRef references a secret containing GitHub credentials.
| Field | Description |
|---|---|
secretRef |
External Secrets meta/v1.SecretKeySelector
Grafana represents a generator for Grafana service account tokens.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
GrafanaSpec
|
auth |
GrafanaAuth
Auth is the authentication configuration to authenticate against the Grafana instance. |
serviceAccount |
GrafanaServiceAccount
ServiceAccount is the configuration for the service account that is supposed to be generated by the generator. |
(Appears on: GrafanaSpec)
GrafanaAuth defines the authentication methods for connecting to a Grafana instance.
| Field | Description |
|---|---|
token |
SecretKeySelector
(Optional)
A service account token used to authenticate against the Grafana instance. Note: you need a token which has elevated permissions to create service accounts. See here for the documentation on basic roles offered by Grafana: https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/ |
basic |
GrafanaBasicAuth
(Optional)
Basic auth credentials used to authenticate against the Grafana instance. Note: you need a token which has elevated permissions to create service accounts. See here for the documentation on basic roles offered by Grafana: https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/ |
(Appears on: GrafanaAuth)
GrafanaBasicAuth defines the credentials for basic authentication with Grafana.
| Field | Description |
|---|---|
username |
string
A basic auth username used to authenticate against the Grafana instance. |
password |
SecretKeySelector
A basic auth password used to authenticate against the Grafana instance. |
(Appears on: GrafanaSpec)
GrafanaServiceAccount defines the configuration for a Grafana service account to be created.
| Field | Description |
|---|---|
name |
string
Name is the name of the service account that will be created by ESO. |
role |
string
Role is the role of the service account. See here for the documentation on basic roles offered by Grafana: https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/ |
GrafanaServiceAccountTokenState is the state type produced by the Grafana generator. It contains the service account ID, login and token ID which is enough to identify the service account.
| Field | Description |
|---|---|
serviceAccount |
GrafanaStateServiceAccount
(Appears on: GeneratorSpec, Grafana)
GrafanaSpec controls the behavior of the grafana generator.
| Field | Description |
|---|---|
url |
string
URL is the URL of the Grafana instance. |
auth |
GrafanaAuth
Auth is the authentication configuration to authenticate against the Grafana instance. |
serviceAccountServiceAccount is the configuration for the service account that is supposed to be generated by the generator.
(Appears on: GrafanaServiceAccountTokenState)
GrafanaStateServiceAccount contains the service account ID, login and token ID.
| Field | Description |
|---|---|
id |
int64
|
login |
string
tokenID
MFA generates a new TOTP token that is compliant with RFC 6238.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
MFASpec
|
length |
int
Length defines the token length. Defaults to 6 characters. |
timePeriod |
int
TimePeriod defines how long the token can be active. Defaults to 30 seconds. |
algorithmAlgorithm to use for encoding. Defaults to SHA1 as per the RFC.
whenWhen defines a time parameter that can be used to pin the origin time of the generated token.
(Appears on: GeneratorSpec, MFA)
MFASpec controls the behavior of the mfa generator.
| Field | Description |
|---|---|
secret |
External Secrets meta/v1.SecretKeySelector
Secret is a secret selector to a secret containing the seed secret to generate the TOTP value from. |
length |
int
Length defines the token length. Defaults to 6 characters. |
timePeriodTimePeriod defines how long the token can be active. Defaults to 30 seconds.
algorithmAlgorithm to use for encoding. Defaults to SHA1 as per the RFC.
whenWhen defines a time parameter that can be used to pin the origin time of the generated token.
(Appears on: AuthorizationProtocol)
NTLMProtocol contains the NTLM-specific configuration.
| Field | Description |
|---|---|
usernameSecret |
External Secrets meta/v1.SecretKeySelector
|
passwordSecret |
External Secrets meta/v1.SecretKeySelector
Password generates a random password based on the configuration parameters in spec. You can specify the length, characterset and other attributes.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
PasswordSpec
|
digits |
int
Digits specifies the number of digits in the generated password. If omitted it defaults to 25% of the length of the password |
symbols |
int
Symbols specifies the number of symbol characters in the generated password. If omitted it defaults to 25% of the length of the password |
symbolCharactersSymbolCharacters specifies the special characters that should be used in the generated password.
noUpperSet NoUpper to disable uppercase characters
allowRepeatset AllowRepeat to true to allow repeating characters.
secretKeysSecretKeys defines the keys that will be populated with generated passwords. Defaults to “password” when not set.
encodingEncoding specifies the encoding of the generated password. Valid values are: - “raw” (default): no encoding - “base64”: standard base64 encoding - “base64url”: base64url encoding - “base32”: base32 encoding - “hex”: hexadecimal encoding
(Appears on: GeneratorSpec, Password)
PasswordSpec controls the behavior of the password generator.
| Field | Description |
|---|---|
length |
int
Length of the password to be generated. Defaults to 24 |
digits |
int
Digits specifies the number of digits in the generated password. If omitted it defaults to 25% of the length of the password |
symbolsSymbols specifies the number of symbol characters in the generated password. If omitted it defaults to 25% of the length of the password
symbolCharactersSymbolCharacters specifies the special characters that should be used in the generated password.
noUpperSet NoUpper to disable uppercase characters
allowRepeatset AllowRepeat to true to allow repeating characters.
secretKeysSecretKeys defines the keys that will be populated with generated passwords. Defaults to “password” when not set.
encodingEncoding specifies the encoding of the generated password. Valid values are: - “raw” (default): no encoding - “base64”: standard base64 encoding - “base64url”: base64url encoding - “base32”: base32 encoding - “hex”: hexadecimal encoding
QuayAccessToken generates Quay oauth token for pulling/pushing images
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
QuayAccessTokenSpec
|
robotAccount |
string
Name of the robot account you are federating with |
serviceAccountRef |
External Secrets meta/v1.ServiceAccountSelector
Name of the service account you are federating with |
(Appears on: GeneratorSpec, QuayAccessToken)
QuayAccessTokenSpec defines the desired state to generate a Quay access token.
| Field | Description |
|---|---|
url |
string
URL configures the Quay instance URL. Defaults to quay.io. |
robotAccount |
string
Name of the robot account you are federating with |
serviceAccountRefName of the service account you are federating with
(Appears on: STSSessionTokenSpec)
RequestParameters contains parameters that can be passed to the STS service.
| Field | Description |
|---|---|
sessionDuration |
int32
(Optional) |
serialNumber |
string
(Optional)
SerialNumber is the identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Possible values: hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user) |
tokenCodeTokenCode is the value provided by the MFA device, if MFA is required.
SSHKey generates SSH key pairs.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
SSHKeySpec
|
keySize |
int
KeySize specifies the key size for RSA keys (default: 2048) and ECDSA keys (default: 256).
For RSA keys: 2048, 3072, 4096
For ECDSA keys: 256, 384, 521
Ignored for |
comment |
string
Comment specifies an optional comment for the SSH key |
(Appears on: GeneratorSpec, SSHKey)
SSHKeySpec controls the behavior of the ssh key generator.
| Field | Description |
|---|---|
keyType |
string
KeyType specifies the SSH key type (rsa, ecdsa, |
keySize |
int
KeySize specifies the key size for RSA keys (default: 2048) and ECDSA keys (default: 256).
For RSA keys: 2048, 3072, 4096
For ECDSA keys: 256, 384, 521
Ignored for |
commentComment specifies an optional comment for the SSH key
STSSessionToken uses the GetSessionToken API to retrieve an authorization token. The authorization token is valid for 12 hours. The authorizationToken returned is a base64 encoded string that can be decoded. For more information, see GetSessionToken (https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html).
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
STSSessionTokenSpec
|
auth |
AWSAuth
(Optional)
Auth defines how to authenticate with AWS |
role |
string
(Optional)
You can assume a role before making calls to the desired AWS service. |
requestParametersRequestParameters contains parameters that can be passed to the STS service.
(Appears on: GeneratorSpec, STSSessionToken)
STSSessionTokenSpec defines the desired state to generate an AWS STS session token.
| Field | Description |
|---|---|
region |
string
Region specifies the region to operate in. |
auth |
AWSAuth
(Optional)
Auth defines how to authenticate with AWS |
roleYou can assume a role before making calls to the desired AWS service.
requestParametersRequestParameters contains parameters that can be passed to the STS service.
(Appears on: GrafanaAuth, GrafanaBasicAuth, WebhookSecret)
SecretKeySelector defines a reference to a specific key within a Kubernetes Secret.
| Field | Description |
|---|---|
name |
string
The name of the Secret resource being referred to. |
key |
string
The key where the token is found. |
StatefulResource represents a Kubernetes resource that has state which can be tracked.
UUID generates a version 1 UUID (e56657e3-764f-11ef-a397-65231a88c2).
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
UUIDSpec
|
(Appears on: GeneratorSpec, UUID)
UUIDSpec controls the behavior of the uuid generator.
VaultDynamicSecret represents a generator that can create dynamic secrets from HashiCorp Vault.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
VaultDynamicSecretSpec
|
method |
string
Vault API method to use (GET/POST/other) |
parameters |
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
Parameters to pass to Vault write (for non-GET methods) |
resultTypeResult type defines which data is returned from the generator. By default, it is the “data” section of the Vault API response. When using e.g. /auth/token/create the “data” section is empty but the “auth” section contains the generated token. Please refer to the vault docs regarding the result data structure. Additionally, accessing the raw response is possibly by using “Raw” result type.
retrySettingsUsed to configure http retries if failed
providerVault provider common spec
pathVault path to obtain the dynamic secret from
allowEmptyResponseDo not fail if no secrets are found. Useful for requests where no data is expected.
string alias)(Appears on: VaultDynamicSecretSpec)
VaultDynamicSecretResultType defines which part of the Vault API response should be returned.
| Value | Description |
|---|---|
"Auth" |
VaultDynamicSecretResultTypeAuth specifies to return the “auth” section of the Vault API response. |
"Data" |
VaultDynamicSecretResultTypeData specifies to return the “data” section of the Vault API response. |
"Raw" |
VaultDynamicSecretResultTypeRaw specifies to return the raw response from the Vault API. |
(Appears on: GeneratorSpec, VaultDynamicSecret)
VaultDynamicSecretSpec defines the desired spec of VaultDynamicSecret.
| Field | Description |
|---|---|
controller |
string
(Optional)
Used to select the correct ESO controller (think: ingress.ingressClassName) The ESO controller is instantiated with a specific controller name and filters VDS based on this property |
method |
string
Vault API method to use (GET/POST/other) |
parametersParameters to pass to Vault write (for non-GET methods)
resultTypeResult type defines which data is returned from the generator. By default, it is the “data” section of the Vault API response. When using e.g. /auth/token/create the “data” section is empty but the “auth” section contains the generated token. Please refer to the vault docs regarding the result data structure. Additionally, accessing the raw response is possibly by using “Raw” result type.
retrySettingsUsed to configure http retries if failed
providerVault provider common spec
pathVault path to obtain the dynamic secret from
allowEmptyResponseDo not fail if no secrets are found. Useful for requests where no data is expected.
Webhook connects to a third party API server to handle the secrets generation configuration parameters in spec. You can specify the server, the token, and additional body parameters. See documentation for the full API specification for requests and responses.
| Field | Description |
|---|---|
metadata |
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
spec |
WebhookSpec
|
url |
string
Webhook url to call |
headers |
map[string]string
(Optional)
Headers |
authAuth specifies a authorization protocol. Only one protocol may be set.
bodyBody
timeoutTimeout
resultResult formatting
secretsSecrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name
caBundlePEM encoded CA bundle used to validate webhook server certificate. Only used if the Server URL is using HTTPS protocol. This parameter is ignored for plain HTTP protocol connection. If not set the system root certificates are used to validate the TLS connection.
caProviderThe provider for the CA bundle to use to validate webhook server certificate.
(Appears on: WebhookSpec)
WebhookCAProvider defines a location to fetch the cert for the webhook provider from.
| Field | Description |
|---|---|
type |
WebhookCAProviderType
The type of provider to use such as “Secret”, or “ConfigMap”. |
name |
string
The name of the object located at the provider type. |
keyThe key where the CA certificate can be found in the Secret or ConfigMap.
namespaceThe namespace the Provider type is in.
string alias)(Appears on: WebhookCAProvider)
WebhookCAProviderType defines the type of provider for webhook CA certificates.
| Value | Description |
|---|---|
"ConfigMap" |
WebhookCAProviderTypeConfigMap indicates the CA provider is a ConfigMap resource. |
"Secret" |
WebhookCAProviderTypeSecret indicates the CA provider is a Secret resource. |
(Appears on: WebhookSpec)
WebhookResult defines how to format and extract results from the webhook response.
| Field | Description |
|---|---|
jsonPath |
string
(Optional)
Json path of return value |
(Appears on: WebhookSpec)
WebhookSecret defines a secret reference that will be used in webhook templates.
| Field | Description |
|---|---|
name |
string
Name of this secret in templates |
secretRef |
SecretKeySelector
Secret ref to fill in credentials |
(Appears on: GeneratorSpec, Webhook)
WebhookSpec controls the behavior of the external generator. Any body parameters should be passed to the server through the parameters field.
| Field | Description |
|---|---|
method |
string
Webhook Method |
url |
string
Webhook url to call |
headersHeaders
authAuth specifies a authorization protocol. Only one protocol may be set.
bodyBody
timeoutTimeout
resultResult formatting
secretsSecrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name
caBundlePEM encoded CA bundle used to validate webhook server certificate. Only used if the Server URL is using HTTPS protocol. This parameter is ignored for plain HTTP protocol connection. If not set the system root certificates are used to validate the TLS connection.
caProviderThe provider for the CA bundle to use to validate webhook server certificate.
Generated with gen-crd-api-reference-docs.