Packages:

external-secrets.io/v1

Package v1 contains resources for external-secrets

Resource Types:

AWSAuth

(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)

AWSAuthSecretRef

(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

sessionTokenSecretRef
External Secrets meta/v1.SecretKeySelector

The 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

AWSJWTAuth

(Appears on: AWSAuth)

AWSJWTAuth stores reference to Authenticate against AWS using service account tokens.

Field Description
serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector

AWSProvider

(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

role
string
(Optional)

Role is a Role ARN which the provider will assume

region
string

AWS Region to be used for the provider

additionalRoles
[]string
(Optional)

AdditionalRoles is a chained list of Role ARNs which the provider will sequentially assume before assuming the Role

externalID
string

AWS External ID set on assumed IAM roles

sessionTags
[]*github.com/external-secrets/external-secrets/apis/externalsecrets/v1.Tag
(Optional)

AWS STS assume role session tags

secretsManager
SecretsManager
(Optional)

SecretsManager defines how the provider behaves when interacting with AWS SecretsManager

transitiveTagKeys
[]string
(Optional)

AWS STS assume role transitive session tags. Required when multiple rules are used with the provider

prefix
string
(Optional)

Prefix adds a prefix to all retrieved values.

AWSServiceType (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

AkeylessAuth

(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.

AkeylessAuthSecretRef

(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
External Secrets meta/v1.SecretKeySelector

AkeylessKubernetesAuth

(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

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 Akeyless. If the service account selector is not supplied, the secretRef will be used instead.

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional 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.

AkeylessProvider

(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.

caBundle
[]byte
(Optional)

PEM/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.

caProvider
CAProvider
(Optional)

The provider for the CA bundle to use to validate Akeyless Gateway certificate.

AuthorizationProtocol

(Appears on: WebhookProvider)

AuthorizationProtocol contains the protocol-specific configuration

Field Description
ntlm
NTLMProtocol
(Optional)

NTLMProtocol configures the store to use NTLM for auth

AwsAuthCredentials

(Appears on: InfisicalAuth)

AwsAuthCredentials represents the credentials for AWS authentication.

Field Description
identityId
External Secrets meta/v1.SecretKeySelector

AwsCredentialsConfig

(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.

AzureAuthCredentials

(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)

AzureAuthType (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.

AzureCustomCloudConfig

(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

keyVaultDNSSuffix
string
(Optional)

KeyVaultDNSSuffix is the DNS suffix for Key Vault URLs

resourceManagerEndpoint
string
(Optional)

ResourceManagerEndpoint is the Azure Resource Manager endpoint

AzureEnvironmentType (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"

AzureKVAuth

(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.

clientSecret
External Secrets meta/v1.SecretKeySelector
(Optional)

The Azure ClientSecret of the service principle used for authentication.

clientCertificate
External Secrets meta/v1.SecretKeySelector
(Optional)

The Azure ClientCertificate of the service principle used for authentication.

AzureKVProvider

(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.

tenantId
string
(Optional)

TenantID configures the Azure Tenant to send requests to. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.

environmentType
AzureEnvironmentType

EnvironmentType 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.

authSecretRef
AzureKVAuth
(Optional)

Auth configures how the operator authenticates with Azure. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

ServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.

identityId
string
(Optional)

If multiple Managed Identity is assigned to the pod, you can select the one to be used

useAzureSDK
bool
(Optional)

UseAzureSDK 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).

customCloudConfig
AzureCustomCloudConfig
(Optional)

CustomCloudConfig 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.

BarbicanAuth

(Appears on: BarbicanProvider)

BarbicanAuth contains the authentication information for Barbican.

Field Description
username
BarbicanProviderUsernameRef
password
BarbicanProviderPasswordRef

BarbicanProvider

(Appears on: SecretStoreProvider)

BarbicanProvider setup a store to sync secrets with barbican.

Field Description
authURL
string
tenantName
string
domainName
string
region
string
auth
BarbicanAuth

BarbicanProviderPasswordRef

(Appears on: BarbicanAuth)

BarbicanProviderPasswordRef defines a reference to a secret containing password for the Barbican provider.

Field Description
secretRef
External Secrets meta/v1.SecretKeySelector

BarbicanProviderUsernameRef

(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

BeyondTrustProviderSecretRef

(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.

BeyondtrustAuth

(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.

clientSecret
BeyondTrustProviderSecretRef

ClientSecret is the API OAuth Client Secret.

certificate
BeyondTrustProviderSecretRef

Certificate (cert.pem) for use when authenticating with an OAuth client Id using a Client Certificate.

certificateKey
BeyondTrustProviderSecretRef

Certificate private key (key.pem). For use when authenticating with an OAuth client Id

BeyondtrustProvider

(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.

BeyondtrustServer

(Appears on: BeyondtrustProvider)

BeyondtrustServer configures a store to sync secrets using BeyondTrust Password Safe.

Field Description
apiUrl
string
apiVersion
string
retrievalType
string

The secret retrieval type. SECRET = Secrets Safe (credential, text, file). MANAGED_ACCOUNT = Password Safe account associated with a system.

separator
string

A character that separates the folder names.

decrypt
bool
(Optional)

When 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.

verifyCA
bool
clientTimeOutSeconds
int

Timeout 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.

BitwardenSecretsManagerAuth

(Appears on: BitwardenSecretsManagerProvider)

BitwardenSecretsManagerAuth contains the ref to the secret that contains the machine account token.

Field Description
secretRef
BitwardenSecretsManagerSecretRef

BitwardenSecretsManagerProvider

(Appears on: SecretStoreProvider)

BitwardenSecretsManagerProvider configures a store to sync secrets with a Bitwarden Secrets Manager instance.

Field Description
apiURL
string
identityURL
string
bitwardenServerSDKURL
string
caBundle
string
(Optional)

Base64 encoded certificate for the bitwarden server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.

caProvider
CAProvider
(Optional)

see: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider

organizationID
string

OrganizationID determines which organization this secret store manages.

projectID
string

ProjectID determines which project this secret store manages.

auth
BitwardenSecretsManagerAuth

Auth configures how secret-manager authenticates with a bitwarden machine account instance. Make sure that the token being used has permissions on the given secret.

BitwardenSecretsManagerSecretRef

(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.

ByID

(Appears on: FetchingPolicy)

ByID configures the provider to interpret the data.secretKey.remoteRef.key field in ExternalSecret as secret ID.

ByName

(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

CAProvider

(Appears on: AkeylessProvider, BitwardenSecretsManagerProvider, ConjurProvider, GitlabProvider, InfisicalProvider, KubernetesServer, 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.

key
string

The key where the CA certificate can be found in the Secret or ConfigMap.

namespace
string
(Optional)

The namespace the Provider type is in. Can only be defined when used in a ClusterSecretStore.

CAProviderType (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.

CSMAuth

(Appears on: CloudruSMProvider)

CSMAuth contains a secretRef for credentials.

Field Description
secretRef
CSMAuthSecretRef
(Optional)

CSMAuthSecretRef

(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

CacheConfig

(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.

CertAuth

(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

ChefAuth

(Appears on: ChefProvider)

ChefAuth contains a secretRef for credentials.

Field Description
secretRef
ChefAuthSecretRef

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.

ChefProvider

(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

serverUrl
string

ServerURL 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 “/”

CloudruSMProvider

(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

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


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

externalSecretMetadata
ExternalSecretMetadata
(Optional)

The metadata of the external secrets to be created

namespaceSelector
Kubernetes meta/v1.LabelSelector
(Optional)

The labels to select by to find the Namespaces to create the ExternalSecrets in. Deprecated: Use NamespaceSelectors instead.

namespaceSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector
(Optional)

A list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.

namespaces
[]string
(Optional)

Choose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing. Deprecated: Use NamespaceSelectors instead.

refreshTime
Kubernetes meta/v1.Duration

The time in which the controller should reconcile its objects and recheck namespaces for labels.

status
ClusterExternalSecretStatus

ClusterExternalSecretConditionType (string 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.

ClusterExternalSecretNamespaceFailure

(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

ClusterExternalSecretSpec

(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

externalSecretMetadata
ExternalSecretMetadata
(Optional)

The metadata of the external secrets to be created

namespaceSelector
Kubernetes meta/v1.LabelSelector
(Optional)

The labels to select by to find the Namespaces to create the ExternalSecrets in. Deprecated: Use NamespaceSelectors instead.

namespaceSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector
(Optional)

A list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.

namespaces
[]string
(Optional)

Choose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing. Deprecated: Use NamespaceSelectors instead.

refreshTime
Kubernetes meta/v1.Duration

The time in which the controller should reconcile its objects and recheck namespaces for labels.

ClusterExternalSecretStatus

(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

provisionedNamespaces
[]string
(Optional)

ProvisionedNamespaces are the namespaces where the ClusterExternalSecret has secrets

conditions
[]ClusterExternalSecretStatusCondition
(Optional)

ClusterExternalSecretStatusCondition

(Appears on: ClusterExternalSecretStatus)

ClusterExternalSecretStatusCondition defines the observed state of a ClusterExternalSecret resource.

Field Description
type
ClusterExternalSecretConditionType
status
Kubernetes core/v1.ConditionStatus
message
string
(Optional)

ClusterSecretStore

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


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

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure HTTP retries on failures.

refreshInterval
int
(Optional)

Used to configure store refresh interval in seconds. Empty or 0 will default to the controller config.

conditions
[]ClusterSecretStoreCondition
(Optional)

Used to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.

status
SecretStoreStatus

ClusterSecretStoreCondition

(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

namespaceRegexes
[]string
(Optional)

Choose namespaces by using regex matching

ConfigMapReference

(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.

key
string

key name holding the external account credential config.

ConjurAPIKey

(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, key is a required field.

apiKeyRef
External Secrets meta/v1.SecretKeySelector

A reference to a specific ‘key’ containing the Conjur API key within a Secret resource. In some instances, key is a required field.

ConjurAuth

(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.

ConjurJWT

(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

hostId
string
(Optional)

Optional HostID for JWT authentication. This may be used depending on how the Conjur JWT authenticator policy is configured.

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Conjur using the JWT authentication method.

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

Optional ServiceAccountRef specifies the Kubernetes service account for which to request a token for with the TokenRequest API.

ConjurProvider

(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.

caProvider
CAProvider
(Optional)

Used 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.

auth
ConjurAuth

Defines authentication settings for connecting to Conjur.

DVLSAuth

(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.

DVLSAuthSecretRef

(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.

DVLSProvider

(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.

auth
DVLSAuth

Auth defines the authentication method to use.

DelineaProvider

(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.

tenant
string

Tenant is the chosen hostname / site name.

urlTemplate
string
(Optional)

URLTemplate If unset, defaults to “https://%s.secretsvaultcloud.%s/v1/%s%s”.

tld
string
(Optional)

TLD is based on the server location that was chosen during provisioning. If unset, defaults to “com”.

DelineaProviderSecretRef

(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.

DopplerAuth

(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.

DopplerAuthSecretRef

(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.

DopplerOIDCAuth

(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.

expirationSeconds
int64
(Optional)

ExpirationSeconds sets the ServiceAccount token validity duration. Defaults to 10 minutes.

DopplerProvider

(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)

config
string
(Optional)

Doppler config (required if not using a Service Token)

nameTransformer
string
(Optional)

Environment variable compatible name transforms that change secret names to a different format

format
string
(Optional)

Format enables the downloading of secrets as a file (string)

ExternalSecret

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


secretStoreRef
SecretStoreRef
(Optional)
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

refreshInterval
Kubernetes meta/v1.Duration

RefreshInterval 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.

data
[]ExternalSecretData
(Optional)

Data defines the connection between the Kubernetes Secret keys and the Provider data

dataFrom
[]ExternalSecretDataFromRemoteRef
(Optional)

DataFrom 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

status
ExternalSecretStatus

ExternalSecretConditionType (string 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.

ExternalSecretConversionStrategy (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.

ExternalSecretCreationPolicy (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.

ExternalSecretData

(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.

sourceRef
StoreSourceRef

SourceRef allows you to override the source from which the value will be pulled.

ExternalSecretDataFromRemoteRef

(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.

rewrite
[]ExternalSecretRewrite
(Optional)

Used 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)

sourceRef
StoreGeneratorSourceRef

SourceRef 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

ExternalSecretDataRemoteRef

(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

property
string
(Optional)

Used to select a specific property of the Provider value (if a map), if supported

version
string
(Optional)

Used to select a specific version of the Provider value, if supported

conversionStrategy
ExternalSecretConversionStrategy
(Optional)

Used to define a conversion Strategy

decodingStrategy
ExternalSecretDecodingStrategy
(Optional)

Used to define a decoding Strategy

ExternalSecretDecodingStrategy (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.

ExternalSecretDeletionPolicy (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.

ExternalSecretFind

(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.

tags
map[string]string
(Optional)

Find secrets based on tags.

conversionStrategy
ExternalSecretConversionStrategy
(Optional)

Used to define a conversion Strategy

decodingStrategy
ExternalSecretDecodingStrategy
(Optional)

Used to define a decoding Strategy

ExternalSecretMetadata

(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)

ExternalSecretMetadataPolicy (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.

ExternalSecretRefreshPolicy (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.

ExternalSecretRewrite

(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.

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.

ExternalSecretRewriteMerge

(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.

priorityPolicy
ExternalSecretRewriteMergePriorityPolicy
(Optional)

Used to define the policy when a key in the priority list does not exist in the input.

conflictPolicy
ExternalSecretRewriteMergeConflictPolicy
(Optional)

Used to define the policy to use in conflict resolution.

strategy
ExternalSecretRewriteMergeStrategy
(Optional)

Used to define the strategy to use in the merge operation.

ExternalSecretRewriteMergeConflictPolicy (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.

ExternalSecretRewriteMergePriorityPolicy (string alias)

(Appears on: ExternalSecretRewriteMerge)

ExternalSecretRewriteMergePriorityPolicy defines the policy for handling missing keys in the priority list during merge operations.

Value Description

"IgnoreNotFound"

"Strict"

ExternalSecretRewriteMergeStrategy (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.

ExternalSecretRewriteRegexp

(Appears on: ExternalSecretRewrite)

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.

ExternalSecretRewriteTransform

(Appears on: ExternalSecretRewrite)

ExternalSecretRewriteTransform defines configuration for transforming secrets using templates.

Field Description
template
string

Used to define the template to apply on the secret name. .value will specify the secret name in the template.

ExternalSecretSpec

(Appears on: ClusterExternalSecretSpec, ExternalSecret)

ExternalSecretSpec defines the desired state of ExternalSecret.

Field Description
secretStoreRef
SecretStoreRef
(Optional)
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

refreshInterval
Kubernetes meta/v1.Duration

RefreshInterval 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.

data
[]ExternalSecretData
(Optional)

Data defines the connection between the Kubernetes Secret keys and the Provider data

dataFrom
[]ExternalSecretDataFromRemoteRef
(Optional)

DataFrom 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

ExternalSecretStatus

(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

conditions
[]ExternalSecretStatusCondition
(Optional)
binding
Kubernetes core/v1.LocalObjectReference

Binding represents a servicebinding.io Provisioned Service reference to the secret

ExternalSecretStatusCondition

(Appears on: ExternalSecretStatus)

ExternalSecretStatusCondition defines a status condition of an ExternalSecret resource.

Field Description
type
ExternalSecretConditionType
status
Kubernetes core/v1.ConditionStatus
reason
string
(Optional)
message
string
(Optional)
lastTransitionTime
Kubernetes meta/v1.Time
(Optional)

ExternalSecretTarget

(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”

deletionPolicy
ExternalSecretDeletionPolicy
(Optional)

DeletionPolicy defines rules on how to delete the resulting Secret. Defaults to “Retain”

template
ExternalSecretTemplate
(Optional)

Template defines a blueprint for the created Secret resource.

manifest
ManifestReference
(Optional)

Manifest 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.

immutable
bool
(Optional)

Immutable defines if the final secret will be immutable

ExternalSecretTemplate

(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[].

metadata
ExternalSecretTemplateMetadata
(Optional)
mergePolicy
TemplateMergePolicy
data
map[string]string
(Optional)
templateFrom
[]TemplateFrom
(Optional)

ExternalSecretTemplateMetadata

(Appears on: ExternalSecretTemplate)

ExternalSecretTemplateMetadata defines metadata fields for the Secret blueprint.

Field Description
annotations
map[string]string
(Optional)
labels
map[string]string
(Optional)
finalizers
[]string
(Optional)

ExternalSecretValidator

ExternalSecretValidator implements a validating webhook for ExternalSecrets.

FakeProvider

(Appears on: SecretStoreProvider)

FakeProvider configures a fake provider that returns static values.

Field Description
data
[]FakeProviderData
validationResult
ValidationResult

FakeProviderData

(Appears on: FakeProvider)

FakeProviderData defines a key-value pair with optional version for the fake provider.

Field Description
key
string
value
string
version
string

FetchingPolicy

(Appears on: YandexCertificateManagerProvider, YandexLockboxProvider)

FetchingPolicy configures how the provider interprets the data.secretKey.remoteRef.key field in ExternalSecret.

Field Description
byID
ByID
byName
ByName

FindName

(Appears on: ExternalSecretFind)

FindName defines criteria for finding secrets by name patterns.

Field Description
regexp
string
(Optional)

Finds secrets base

FortanixProvider

(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 sdkms.fortanix.com.

apiKey
FortanixProviderSecretRef

APIKey is the API token to access SDKMS Applications.

FortanixProviderSecretRef

(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.

GCPSMAuth

(Appears on: GCPSMProvider)

GCPSMAuth defines the authentication methods for Google Cloud Platform Secret Manager.

Field Description
secretRef
GCPSMAuthSecretRef
(Optional)
workloadIdentity
GCPWorkloadIdentity
(Optional)
workloadIdentityFederation
GCPWorkloadIdentityFederation
(Optional)

GCPSMAuthSecretRef

(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

GCPSMProvider

(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

location
string

Location optionally defines a location for a secret

secretVersionSelectionPolicy
SecretVersionSelectionPolicy
(Optional)

SecretVersionSelectionPolicy 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

GCPWorkloadIdentity

(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

clusterName
string
(Optional)

ClusterName is the name of the cluster If not specified, it fetches information from the metadata server

clusterProjectID
string
(Optional)

ClusterProjectID is the project ID of the cluster If not specified, it fetches information from the metadata server

GCPWorkloadIdentityFederation

(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.

awsSecurityCredentials
AwsCredentialsConfig

awsSecurityCredentials is for configuring AWS region and credentials to use for obtaining the access token, when using the AWS metadata server is not an option.

audience
string

audience 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.

externalTokenEndpoint
string

externalTokenEndpoint 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.

GcpIDTokenAuthCredentials

(Appears on: InfisicalAuth)

GcpIDTokenAuthCredentials represents the credentials for GCP ID token authentication.

Field Description
identityId
External Secrets meta/v1.SecretKeySelector

GcpIamAuthCredentials

(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

GeneratorRef

(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

name
string

Specify the name of the generator resource

GenericStore

GenericStore is a common interface for interacting with ClusterSecretStore or a namespaced SecretStore.

GenericStoreValidator

GenericStoreValidator implements webhook validation for SecretStore and ClusterSecretStore resources.

GithubAppAuth

(Appears on: GithubProvider)

GithubAppAuth defines authentication configuration using a GitHub App for accessing GitHub API.

Field Description
privateKey
External Secrets meta/v1.SecretKeySelector

GithubProvider

(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.

auth
GithubAppAuth

auth configures how secret-manager authenticates with a Github instance.

appID
int64

appID specifies the Github APP that will be used to authenticate the client

installationID
int64

installationID specifies the Github APP installation that will be used to authenticate the client

organization
string

organization will be used to fetch secrets from the Github organization

repository
string
(Optional)

repository will be used to fetch secrets from the Github repository within an organization

environment
string
(Optional)

environment will be used to fetch secrets from a particular environment within a github repository

GitlabAuth

(Appears on: GitlabProvider)

GitlabAuth defines the authentication method for accessing GitLab API.

Field Description
SecretRef
GitlabSecretRef

GitlabProvider

(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.

projectID
string

ProjectID specifies a project where secrets are located.

inheritFromGroups
bool

InheritFromGroups specifies whether parent groups should be discovered and checked for secrets.

groupIDs
[]string

GroupIDs specify, which gitlab groups to pull secrets from. Group secrets are read from left to right followed by the project variables.

environment
string

Environment 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)

caBundle
[]byte
(Optional)

Base64 encoded certificate for the GitLab server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.

caProvider
CAProvider
(Optional)

see: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider

GitlabSecretRef

(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.

IBMAuth

(Appears on: IBMProvider)

IBMAuth defines authentication options for connecting to IBM Cloud Secrets Manager.

Field Description
secretRef
IBMAuthSecretRef
containerAuth
IBMAuthContainerAuth

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
string

IBMAuthSecretRef

(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

IBMProvider

(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

InfisicalAuth

(Appears on: InfisicalProvider)

InfisicalAuth specifies the authentication configuration for Infisical.

Field Description
universalAuthCredentials
UniversalAuthCredentials
(Optional)
azureAuthCredentials
AzureAuthCredentials
(Optional)
gcpIdTokenAuthCredentials
GcpIDTokenAuthCredentials
(Optional)
gcpIamAuthCredentials
GcpIamAuthCredentials
(Optional)
jwtAuthCredentials
JwtAuthCredentials
(Optional)
ldapAuthCredentials
LdapAuthCredentials
(Optional)
ociAuthCredentials
OciAuthCredentials
(Optional)
kubernetesAuthCredentials
KubernetesAuthCredentials
(Optional)
awsAuthCredentials
AwsAuthCredentials
(Optional)
tokenAuthCredentials
TokenAuthCredentials
(Optional)

InfisicalProvider

(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

hostAPI
string
(Optional)

HostAPI specifies the base URL of the Infisical API. If not provided, it defaults to “https://app.infisical.com/api”.

caBundle
[]byte
(Optional)

CABundle is a PEM-encoded CA certificate bundle used to validate the Infisical server’s TLS certificate. Mutually exclusive with CAProvider.

caProvider
CAProvider
(Optional)

CAProvider 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.

IntegrationInfo

(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”.

JwtAuthCredentials

(Appears on: InfisicalAuth)

JwtAuthCredentials represents the credentials for JWT authentication.

Field Description
identityId
External Secrets meta/v1.SecretKeySelector
jwt
External Secrets meta/v1.SecretKeySelector

KeeperSecurityProvider

(Appears on: SecretStoreProvider)

KeeperSecurityProvider Configures a store to sync secrets using Keeper Security.

Field Description
authRef
External Secrets meta/v1.SecretKeySelector
folderID
string

KubernetesAuth

(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

serviceAccount
External Secrets meta/v1.ServiceAccountSelector
(Optional)

points to a service account that should be used for authentication

KubernetesAuthCredentials

(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)

KubernetesProvider

(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.

authRef
External Secrets meta/v1.SecretKeySelector
(Optional)

A reference to a secret that contains the auth information.

remoteNamespace
string
(Optional)

Remote namespace to fetch the secrets from

KubernetesServer

(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

caProvider
CAProvider
(Optional)

see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider

LdapAuthCredentials

(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
External Secrets meta/v1.SecretKeySelector

MachineIdentityScopeInWorkspace

(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.

environmentSlug
string

EnvironmentSlug is the required slug identifier for the environment.

projectSlug
string

ProjectSlug is the required slug identifier for the project.

expandSecretReferences
bool
(Optional)

ExpandSecretReferences indicates whether secret references should be expanded. Defaults to true if not provided.

MaintenanceStatus (string alias)

MaintenanceStatus defines a type for different maintenance states of a provider schema.

Value Description

"Deprecated"

"Maintained"

"NotMaintained"

ManifestReference

(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”)

NTLMProtocol

(Appears on: AuthorizationProtocol)

NTLMProtocol contains the NTLM-specific configuration.

Field Description
usernameSecret
External Secrets meta/v1.SecretKeySelector
passwordSecret
External Secrets meta/v1.SecretKeySelector

NgrokAuth

(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

NgrokProvider

(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.

vault
NgrokVault

Vault configures the ngrok vault to sync secrets with.

NgrokProviderSecretRef

(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.

NgrokVault

(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

NoSecretError shall be returned when a GetSecret can not find the desired secret. This is used for deletionPolicy.

NotModifiedError

NotModifiedError to signal that the webhook received no changes, and it should just return without doing anything.

OciAuthCredentials

(Appears on: InfisicalAuth)

OciAuthCredentials represents the credentials for OCI authentication.

Field Description
identityId
External Secrets meta/v1.SecretKeySelector
privateKey
External Secrets meta/v1.SecretKeySelector
privateKeyPassphrase
External Secrets meta/v1.SecretKeySelector
(Optional)
fingerprint
External Secrets meta/v1.SecretKeySelector
userId
External Secrets meta/v1.SecretKeySelector
tenancyId
External Secrets meta/v1.SecretKeySelector
region
External Secrets meta/v1.SecretKeySelector

OnboardbaseAuthSecretRef

(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

OnboardbaseProvider

(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/

project
string

Project is an onboardbase project that the secrets should be pulled from

environment
string

Environment is the name of an environmnent within a project to pull the secrets from

OnePasswordAuth

(Appears on: OnePasswordProvider)

OnePasswordAuth contains a secretRef for credentials.

Field Description
secretRef
OnePasswordAuthSecretRef

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.

OnePasswordProvider

(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

vaults
map[string]int

Vaults defines which OnePassword vaults to search in which order

OnePasswordSDKAuth

(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.

OnePasswordSDKProvider

(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 DefaultIntegrationName and DefaultIntegrationVersion, respectively.

auth
OnePasswordSDKAuth

Auth defines the information necessary to authenticate against OnePassword API.

cache
CacheConfig
(Optional)

Cache 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.

OracleAuth

(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.

secretRef
OracleSecretRef

SecretRef to pass through sensitive information.

OraclePrincipalType (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.

OracleProvider

(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.

compartment
string
(Optional)

Compartment is the vault compartment OCID. Required for PushSecret

encryptionKey
string
(Optional)

EncryptionKey is the OCID of the encryption key within the vault. Required for PushSecret

principalType
OraclePrincipalType
(Optional)

The 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.

auth
OracleAuth
(Optional)

Auth configures how secret-manager authenticates with the Oracle Vault. If empty, use the instance principal, otherwise the user credentials specified in Auth.

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

ServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.

OracleSecretRef

(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.

PassboltAuth

(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

PassboltProvider

(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

PasswordDepotAuth

(Appears on: PasswordDepotProvider)

PasswordDepotAuth defines the authentication method for the Password Depot provider.

Field Description
secretRef
PasswordDepotSecretRef

PasswordDepotProvider

(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

auth
PasswordDepotAuth

Auth configures how secret-manager authenticates with a Password Depot instance.

PasswordDepotSecretRef

(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.

PreviderAuth

(Appears on: PreviderProvider)

PreviderAuth contains a secretRef for credentials.

Field Description
secretRef
PreviderAuthSecretRef
(Optional)

PreviderAuthSecretRef

(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

PreviderProvider

(Appears on: SecretStoreProvider)

PreviderProvider configures a store to sync secrets using the Previder Secret Manager provider.

Field Description
auth
PreviderAuth
baseUri
string
(Optional)

Provider

Provider is a common interface for interacting with secret backends.

PulumiProvider

(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.

organization
string

Organization are a space to collaborate on shared projects and stacks. To create a new organization, visit https://app.pulumi.com/ and click “New Organization”.

project
string

Project is the name of the Pulumi ESC project the environment belongs to.

environment
string

Environment 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.

PulumiProviderSecretRef

(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

PushSecretData is an interface to allow using v1alpha1.PushSecretData content in Provider registered in v1.

PushSecretRemoteRef

PushSecretRemoteRef is an interface to allow using v1alpha1.PushSecretRemoteRef in Provider registered in v1.

ScalewayProvider

(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

projectId
string

ProjectID is the id of your project, which you can find in the console: https://console.scaleway.com/project/settings

accessKey
ScalewayProviderSecretRef

AccessKey is the non-secret part of the api key.

secretKey
ScalewayProviderSecretRef

SecretKey is the non-secret part of the api key.

ScalewayProviderSecretRef

(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.

SecretReference

(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.

SecretServerProvider

(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.

domain
string
(Optional)

Domain is the secret server domain.

serverURL
string

ServerURL URL to your secret server installation

caBundle
[]byte
(Optional)

PEM/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.

caProvider
CAProvider
(Optional)

The provider for the CA bundle to use to validate Secret ServerURL certificate.

SecretServerProviderRef

(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

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


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

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure HTTP retries on failures.

refreshInterval
int
(Optional)

Used to configure store refresh interval in seconds. Empty or 0 will default to the controller config.

conditions
[]ClusterSecretStoreCondition
(Optional)

Used to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.

status
SecretStoreStatus

SecretStoreCapabilities (string 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.

SecretStoreConditionType (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.

SecretStoreProvider

(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

akeyless
AkeylessProvider
(Optional)

Akeyless configures this store to sync secrets using Akeyless Vault provider

bitwardensecretsmanager
BitwardenSecretsManagerProvider
(Optional)

BitwardenSecretsManager configures this store to sync secrets using BitwardenSecretsManager provider

vault
VaultProvider
(Optional)

Vault configures this store to sync secrets using the HashiCorp Vault provider.

gcpsm
GCPSMProvider
(Optional)

GCPSM configures this store to sync secrets using Google Cloud Platform Secret Manager provider

oracle
OracleProvider
(Optional)

Oracle configures this store to sync secrets using Oracle Vault provider

ibm
IBMProvider
(Optional)

IBM configures this store to sync secrets using IBM Cloud provider

yandexcertificatemanager
YandexCertificateManagerProvider
(Optional)

YandexCertificateManager configures this store to sync secrets using Yandex Certificate Manager provider

yandexlockbox
YandexLockboxProvider
(Optional)

YandexLockbox configures this store to sync secrets using Yandex Lockbox provider

github
GithubProvider
(Optional)

Github 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

gitlab
GitlabProvider
(Optional)

GitLab configures this store to sync secrets using GitLab Variables provider

onepassword
OnePasswordProvider
(Optional)

OnePassword configures this store to sync secrets using the 1Password Cloud provider

onepasswordSDK
OnePasswordSDKProvider
(Optional)

OnePasswordSDK configures this store to use 1Password’s new Go SDK to sync secrets.

webhook
WebhookProvider
(Optional)

Webhook configures this store to sync secrets using a generic templated webhook

kubernetes
KubernetesProvider
(Optional)

Kubernetes configures this store to sync secrets using a Kubernetes cluster provider

fake
FakeProvider
(Optional)

Fake configures a store with static key/value pairs

senhasegura
SenhaseguraProvider
(Optional)

Senhasegura configures this store to sync secrets using senhasegura provider

scaleway
ScalewayProvider
(Optional)

Scaleway configures this store to sync secrets using the Scaleway provider.

doppler
DopplerProvider
(Optional)

Doppler configures this store to sync secrets using the Doppler provider

previder
PreviderProvider
(Optional)

Previder configures this store to sync secrets using the Previder provider

onboardbase
OnboardbaseProvider
(Optional)

Onboardbase configures this store to sync secrets using the Onboardbase provider

keepersecurity
KeeperSecurityProvider
(Optional)

KeeperSecurity configures this store to sync secrets using the KeeperSecurity provider

conjur
ConjurProvider
(Optional)

Conjur configures this store to sync secrets using conjur provider

delinea
DelineaProvider
(Optional)

Delinea DevOps Secrets Vault https://docs.delinea.com/online-help/products/devops-secrets-vault/current

secretserver
SecretServerProvider
(Optional)

SecretServer configures this store to sync secrets using SecretServer provider https://docs.delinea.com/online-help/secret-server/start.htm

chef
ChefProvider
(Optional)

Chef configures this store to sync secrets with chef server

pulumi
PulumiProvider
(Optional)

Pulumi configures this store to sync secrets using the Pulumi provider

fortanix
FortanixProvider
(Optional)

Fortanix configures this store to sync secrets using the Fortanix provider

passworddepot
PasswordDepotProvider
(Optional)
passbolt
PassboltProvider
(Optional)
dvls
DVLSProvider
(Optional)

DVLS configures this store to sync secrets using Devolutions Server provider

infisical
InfisicalProvider
(Optional)

Infisical configures this store to sync secrets using the Infisical provider

beyondtrust
BeyondtrustProvider
(Optional)

Beyondtrust configures this store to sync secrets using Password Safe provider.

cloudrusm
CloudruSMProvider
(Optional)

CloudruSM configures this store to sync secrets using the Cloud.ru Secret Manager provider

volcengine
VolcengineProvider
(Optional)

Volcengine configures this store to sync secrets using the Volcengine provider

ngrok
NgrokProvider
(Optional)

Ngrok configures this store to sync secrets using the ngrok provider.

barbican
BarbicanProvider
(Optional)

Barbican configures this store to sync secrets using the OpenStack Barbican provider

SecretStoreRef

(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 SecretStore

SecretStoreRetrySettings

(Appears on: SecretStoreSpec, VaultDynamicSecretSpec)

SecretStoreRetrySettings defines the retry settings for accessing external secrets manager stores.

Field Description
maxRetries
int32
retryInterval
string

SecretStoreSpec

(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

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure HTTP retries on failures.

refreshInterval
int
(Optional)

Used to configure store refresh interval in seconds. Empty or 0 will default to the controller config.

conditions
[]ClusterSecretStoreCondition
(Optional)

Used to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.

SecretStoreStatus

(Appears on: ClusterSecretStore, SecretStore)

SecretStoreStatus defines the observed state of the SecretStore.

Field Description
conditions
[]SecretStoreStatusCondition
(Optional)
capabilities
SecretStoreCapabilities
(Optional)

SecretStoreStatusCondition

(Appears on: SecretStoreStatus)

SecretStoreStatusCondition contains condition information for a SecretStore.

Field Description
type
SecretStoreConditionType
status
Kubernetes core/v1.ConditionStatus
reason
string
(Optional)
message
string
(Optional)
lastTransitionTime
Kubernetes meta/v1.Time
(Optional)

SecretVersionSelectionPolicy (string 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

SecretsClient provides access to secrets.

SecretsManager

(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

SenhaseguraAuth

(Appears on: SenhaseguraProvider)

SenhaseguraAuth tells the controller how to do auth in senhasegura.

Field Description
clientId
string
clientSecretSecretRef
External Secrets meta/v1.SecretKeySelector

SenhaseguraModuleType (string alias)

(Appears on: SenhaseguraProvider)

SenhaseguraModuleType enum defines senhasegura target module to fetch secrets

Value Description

"DSM"

	SenhaseguraModuleDSM is the senhasegura DevOps Secrets Management module
see: https://senhasegura.com/devops

SenhaseguraProvider

(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

auth
SenhaseguraAuth

Auth defines parameters to authenticate in senhasegura

ignoreSslCertificate
bool

IgnoreSslCertificate defines if SSL certificate must be ignored

StoreGeneratorSourceRef

(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.

StoreSourceRef

(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

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

TemplateEngineVersion (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.

TemplateFrom

(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
target
string
(Optional)

Target 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”.

literal
string
(Optional)

TemplateMergePolicy (string alias)

(Appears on: ExternalSecretTemplate)

TemplateMergePolicy defines how the rendered template should be merged with the existing Secret data.

Value Description

"Merge"

"Replace"

TemplateRef

(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

TemplateRefItem

(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

TemplateScope (string alias)

(Appears on: TemplateRefItem)

TemplateScope specifies how the template keys should be interpreted.

Value Description

"KeysAndValues"

"Values"

TokenAuth

(Appears on: KubernetesAuth)

TokenAuth defines token-based authentication configuration for Kubernetes.

Field Description
bearerToken
External Secrets meta/v1.SecretKeySelector

TokenAuthCredentials

(Appears on: InfisicalAuth)

TokenAuthCredentials represents the credentials for access token-based authentication.

Field Description
accessToken
External Secrets meta/v1.SecretKeySelector

UniversalAuthCredentials

(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

ValidationResult (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.

VaultAppRole

(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.

roleRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Reference 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.

secretRef
External Secrets meta/v1.SecretKeySelector

Reference 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.

VaultAuth

(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.

appRole
VaultAppRole
(Optional)

AppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.

kubernetes
VaultKubernetesAuth
(Optional)

Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server.

ldap
VaultLdapAuth
(Optional)

Ldap authenticates with Vault by passing username/password pair using the LDAP authentication method

jwt
VaultJwtAuth
(Optional)

Jwt authenticates with Vault by passing role and JWT token using the JWT/OIDC authentication method

cert
VaultCertAuth
(Optional)

Cert authenticates with TLS Certificates by passing client certificate, private key and ca certificate Cert authentication method

iam
VaultIamAuth
(Optional)

Iam authenticates with vault by passing a special AWS request signed with AWS IAM credentials AWS IAM authentication method

userPass
VaultUserPassAuth
(Optional)

UserPass authenticates with Vault by passing username/password pair

gcp
VaultGCPAuth
(Optional)

Gcp authenticates with Vault using Google Cloud Platform authentication method GCP authentication method

VaultAwsAuth

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)

VaultAwsAuthSecretRef

(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

sessionTokenSecretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

The 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

VaultAwsJWTAuth

(Appears on: VaultAwsAuth, VaultIamAuth)

VaultAwsJWTAuth Authenticate against AWS using service account tokens.

Field Description
serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

VaultCertAuth

(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”

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

VaultCheckAndSet

(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.

VaultClientTLS

(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’.

VaultGCPAuth

(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.

projectID
string
(Optional)

Project ID of the Google Cloud Platform project

location
string
(Optional)

Location optionally defines a location/region for the secret

secretRef
GCPSMAuthSecretRef
(Optional)

Specify credentials in a Secret object

workloadIdentity
GCPWorkloadIdentity
(Optional)

Specify a service account with Workload Identity

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

ServiceAccountRef to a service account for impersonation

VaultIamAuth

(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

role
string
(Optional)

This is the AWS role to be assumed before talking to vault

vaultRole
string

Vault 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

externalID
string

AWS External ID set on assumed IAM roles

vaultAwsIamServerID
string
(Optional)

X-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

secretRef
VaultAwsAuthSecretRef
(Optional)

Specify credentials in a Secret object

jwt
VaultAwsJWTAuth
(Optional)

Specify a service account with IRSA enabled

VaultJwtAuth

(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

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Vault using the JWT/OIDC authentication method.

kubernetesServiceAccountToken
VaultKubernetesServiceAccountTokenAuth
(Optional)

Optional ServiceAccountToken specifies the Kubernetes service account for which to request a token for with the TokenRequest API.

VaultKVStoreVersion (string alias)

(Appears on: VaultProvider)

VaultKVStoreVersion represents the version of the Vault KV secret engine.

Value Description

"v1"

"v2"

VaultKubernetesAuth

(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.

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional 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.

role
string

A required field containing the Vault Role to assume. A Role binds a Kubernetes ServiceAccount with a set of Vault policies.

VaultKubernetesServiceAccountTokenAuth

(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 serviceAccountRef. Defaults to a single audience vault it not specified. Deprecated: use serviceAccountRef.Audiences instead

expirationSeconds
int64
(Optional)

Optional 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.

VaultLdapAuth

(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

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

SecretRef to a key in a Secret resource containing password for the LDAP user used to authenticate with Vault using the LDAP authentication method

VaultProvider

(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”.

path
string
(Optional)

Path 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.

version
VaultKVStoreVersion

Version is the Vault KV secret engine version. This can be either “v1” or “v2”. Version defaults to “v2”.

namespace
string
(Optional)

Name 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

caBundle
[]byte
(Optional)

PEM 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.

tls
VaultClientTLS
(Optional)

The 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.

caProvider
CAProvider
(Optional)

The provider for the CA bundle to use to validate Vault server certificate.

readYourWrites
bool
(Optional)

ReadYourWrites 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

forwardInconsistent
bool
(Optional)

ForwardInconsistent 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

headers
map[string]string
(Optional)

Headers to be added in Vault request

checkAndSet
VaultCheckAndSet
(Optional)

CheckAndSet 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.

VaultUserPassAuth

(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

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

SecretRef to a key in a Secret resource containing password for the user used to authenticate with Vault using the UserPass authentication method

VolcengineAuth

(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.

VolcengineAuthSecretRef

(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.

token
External Secrets meta/v1.SecretKeySelector
(Optional)

Token is the reference to the secret containing the STS(Security Token Service) Token.

VolcengineProvider

(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).

WebhookCAProvider

(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.

key
string

The key where the CA certificate can be found in the Secret or ConfigMap.

namespace
string
(Optional)

The namespace the Provider type is in.

WebhookCAProviderType (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.

WebhookProvider

(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

headers
map[string]string
(Optional)

Headers

auth
AuthorizationProtocol
(Optional)

Auth specifies a authorization protocol. Only one protocol may be set.

body
string
(Optional)

Body

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout

result
WebhookResult
(Optional)

Result formatting

secrets
[]WebhookSecret
(Optional)

Secrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name

caBundle
[]byte
(Optional)

PEM 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.

caProvider
WebhookCAProvider
(Optional)

The provider for the CA bundle to use to validate webhook server certificate.

WebhookResult

(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

WebhookSecret

(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

YandexAuth

(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

YandexCAProvider

(Appears on: YandexCertificateManagerProvider, YandexLockboxProvider)

YandexCAProvider defines the configuration for Yandex custom certificate authority.

Field Description
certSecretRef
External Secrets meta/v1.SecretKeySelector

YandexCertificateManagerProvider

(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

caProvider
YandexCAProvider
(Optional)

The provider for the CA bundle to use to validate Yandex.Cloud server certificate.

fetching
FetchingPolicy
(Optional)

FetchingPolicy configures the provider to interpret the data.secretKey.remoteRef.key field in ExternalSecret as certificate ID or certificate name

YandexLockboxProvider

(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

caProvider
YandexCAProvider
(Optional)

The provider for the CA bundle to use to validate Yandex.Cloud server certificate.

fetching
FetchingPolicy
(Optional)

FetchingPolicy configures the provider to interpret the data.secretKey.remoteRef.key field in ExternalSecret as secret ID or secret name


external-secrets.io/v1alpha1

Package v1alpha1 contains resources for external-secrets

Resource Types:

ClusterPushSecret

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


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.

pushSecretName
string
(Optional)

The name of the push secrets to be created. Defaults to the name of the ClusterPushSecret

pushSecretMetadata
PushSecretMetadata
(Optional)

The metadata of the external secrets to be created

namespaceSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector
(Optional)

A list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.

status
ClusterPushSecretStatus

ClusterPushSecretCondition

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

ClusterPushSecretNamespaceFailure

(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

ClusterPushSecretSpec

(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.

pushSecretName
string
(Optional)

The name of the push secrets to be created. Defaults to the name of the ClusterPushSecret

pushSecretMetadata
PushSecretMetadata
(Optional)

The metadata of the external secrets to be created

namespaceSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector
(Optional)

A list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.

ClusterPushSecretStatus

(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

pushSecretName
string
conditions
[]PushSecretStatusCondition
(Optional)

PushSecret

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


refreshInterval
Kubernetes meta/v1.Duration

The Interval to which External Secrets will try to push a secret definition

secretStoreRefs
[]PushSecretStoreRef
updatePolicy
PushSecretUpdatePolicy
(Optional)

UpdatePolicy to handle Secrets in the provider.

deletionPolicy
PushSecretDeletionPolicy
(Optional)

Deletion Policy to handle Secrets in the provider.

selector
PushSecretSelector

The Secret Selector (k8s source) for the Push Secret

data
[]PushSecretData

Secret Data that should be pushed to providers

template
ExternalSecretTemplate
(Optional)

Template defines a blueprint for the created Secret resource.

status
PushSecretStatus

PushSecretConditionType (string alias)

(Appears on: PushSecretStatusCondition)

PushSecretConditionType indicates the condition of the PushSecret.

Value Description

"Ready"

PushSecretReady indicates the PushSecret resource is ready.

PushSecretConversionStrategy (string alias)

(Appears on: PushSecretData)

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.

PushSecretData

(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.

conversionStrategy
PushSecretConversionStrategy
(Optional)

Used to define a conversion Strategy for the secret keys

PushSecretDeletionPolicy (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.

PushSecretMatch

(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.

PushSecretMetadata

(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)

PushSecretRemoteRef

(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

PushSecretSecret

(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.

PushSecretSelector

(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.

PushSecretSpec

(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
updatePolicy
PushSecretUpdatePolicy
(Optional)

UpdatePolicy to handle Secrets in the provider.

deletionPolicy
PushSecretDeletionPolicy
(Optional)

Deletion Policy to handle Secrets in the provider.

selector
PushSecretSelector

The Secret Selector (k8s source) for the Push Secret

data
[]PushSecretData

Secret Data that should be pushed to providers

template
ExternalSecretTemplate
(Optional)

Template defines a blueprint for the created Secret resource.

PushSecretStatus

(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.

syncedPushSecrets
SyncedPushSecretsMap
(Optional)

Synced PushSecrets, including secrets that already exist in provider. Matches secret stores to PushSecretData that was stored to that secret store.

conditions
[]PushSecretStatusCondition
(Optional)

PushSecretStatusCondition

(Appears on: ClusterPushSecretStatus, PushSecretStatus)

PushSecretStatusCondition indicates the status of the PushSecret.

Field Description
type
PushSecretConditionType
status
Kubernetes core/v1.ConditionStatus
reason
string
(Optional)
message
string
(Optional)
lastTransitionTime
Kubernetes meta/v1.Time
(Optional)

PushSecretStoreRef

(Appears on: 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

kind
string
(Optional)

Kind of the SecretStore resource (SecretStore or ClusterSecretStore)

PushSecretUpdatePolicy (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.

SyncedPushSecretsMap (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.


external-secrets.io/v1beta1

Package v1beta1 contains resources for external-secrets

Resource Types:

AWSAuth

(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)

AWSAuthSecretRef

(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

sessionTokenSecretRef
External Secrets meta/v1.SecretKeySelector

The 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

AWSJWTAuth

(Appears on: AWSAuth)

AWSJWTAuth authenticates against AWS using service account tokens from the Kubernetes cluster.

Field Description
serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector

AWSProvider

(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

role
string
(Optional)

Role is a Role ARN which the provider will assume

region
string

AWS Region to be used for the provider

additionalRoles
[]string
(Optional)

AdditionalRoles is a chained list of Role ARNs which the provider will sequentially assume before assuming the Role

externalID
string

AWS External ID set on assumed IAM roles

sessionTags
[]*github.com/external-secrets/external-secrets/apis/externalsecrets/v1beta1.Tag
(Optional)

AWS STS assume role session tags

secretsManager
SecretsManager
(Optional)

SecretsManager defines how the provider behaves when interacting with AWS SecretsManager

transitiveTagKeys
[]*string
(Optional)

AWS STS assume role transitive session tags. Required when multiple rules are used with the provider

prefix
string
(Optional)

Prefix adds a prefix to all retrieved values.

AWSServiceType (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

AkeylessAuth

(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.

AkeylessAuthSecretRef

(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
External Secrets meta/v1.SecretKeySelector

AkeylessKubernetesAuth

(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

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 Akeyless. If the service account selector is not supplied, the secretRef will be used instead.

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional 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.

AkeylessProvider

(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.

caBundle
[]byte
(Optional)

PEM/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.

caProvider
CAProvider
(Optional)

The provider for the CA bundle to use to validate Akeyless Gateway certificate.

AlibabaAuth

(Appears on: AlibabaProvider)

AlibabaAuth contains a secretRef for credentials.

Field Description
secretRef
AlibabaAuthSecretRef
(Optional)
rrsa
AlibabaRRSAAuth
(Optional)

AlibabaAuthSecretRef

(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

AlibabaProvider

(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

AlibabaRRSAAuth

(Appears on: AlibabaAuth)

AlibabaRRSAAuth authenticates against Alibaba using RRSA (Resource-oriented RAM-based Service Authentication).

Field Description
oidcProviderArn
string
oidcTokenFilePath
string
roleArn
string
sessionName
string

AuthorizationProtocol

(Appears on: WebhookProvider)

AuthorizationProtocol contains the protocol-specific configuration

Field Description
ntlm
NTLMProtocol
(Optional)

NTLMProtocol configures the store to use NTLM for auth

AzureAuthType (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.

AzureEnvironmentType (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.

AzureKVAuth

(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.

clientSecret
External Secrets meta/v1.SecretKeySelector
(Optional)

The Azure ClientSecret of the service principle used for authentication.

clientCertificate
External Secrets meta/v1.SecretKeySelector
(Optional)

The Azure ClientCertificate of the service principle used for authentication.

AzureKVProvider

(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.

tenantId
string
(Optional)

TenantID configures the Azure Tenant to send requests to. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.

environmentType
AzureEnvironmentType

EnvironmentType 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

authSecretRef
AzureKVAuth
(Optional)

Auth configures how the operator authenticates with Azure. Required for ServicePrincipal auth type. Optional for WorkloadIdentity.

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

ServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.

identityId
string
(Optional)

If multiple Managed Identity is assigned to the pod, you can select the one to be used

BeyondTrustProviderSecretRef

(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.

BeyondtrustAuth

(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.

clientSecret
BeyondTrustProviderSecretRef

ClientSecret is the API OAuth Client Secret.

certificate
BeyondTrustProviderSecretRef

Certificate (cert.pem) for use when authenticating with an OAuth client Id using a Client Certificate.

certificateKey
BeyondTrustProviderSecretRef

Certificate private key (key.pem). For use when authenticating with an OAuth client Id

BeyondtrustProvider

(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.

BeyondtrustServer

(Appears on: BeyondtrustProvider)

BeyondtrustServer defines configuration for connecting to BeyondTrust Password Safe server.

Field Description
apiUrl
string
apiVersion
string
retrievalType
string

The secret retrieval type. SECRET = Secrets Safe (credential, text, file). MANAGED_ACCOUNT = Password Safe account associated with a system.

separator
string

A character that separates the folder names.

decrypt
bool
(Optional)

When 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.

verifyCA
bool
clientTimeOutSeconds
int

Timeout 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.

BitwardenSecretsManagerAuth

(Appears on: BitwardenSecretsManagerProvider)

BitwardenSecretsManagerAuth contains the ref to the secret that contains the machine account token.

Field Description
secretRef
BitwardenSecretsManagerSecretRef

BitwardenSecretsManagerProvider

(Appears on: SecretStoreProvider)

BitwardenSecretsManagerProvider configures a store to sync secrets with a Bitwarden Secrets Manager instance.

Field Description
apiURL
string
identityURL
string
bitwardenServerSDKURL
string
caBundle
string
(Optional)

Base64 encoded certificate for the bitwarden server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.

caProvider
CAProvider
(Optional)

see: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider

organizationID
string

OrganizationID determines which organization this secret store manages.

projectID
string

ProjectID determines which project this secret store manages.

auth
BitwardenSecretsManagerAuth

Auth configures how secret-manager authenticates with a bitwarden machine account instance. Make sure that the token being used has permissions on the given secret.

BitwardenSecretsManagerSecretRef

(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.

CAProvider

(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.

key
string

The key where the CA certificate can be found in the Secret or ConfigMap.

namespace
string
(Optional)

The namespace the Provider type is in. Can only be defined when used in a ClusterSecretStore.

CAProviderType (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.

CSMAuth

(Appears on: CloudruSMProvider)

CSMAuth contains a secretRef for credentials.

Field Description
secretRef
CSMAuthSecretRef
(Optional)

CSMAuthSecretRef

(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

CertAuth

(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

ChefAuth

(Appears on: ChefProvider)

ChefAuth contains a secretRef for credentials.

Field Description
secretRef
ChefAuthSecretRef

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.

ChefProvider

(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

serverUrl
string

ServerURL 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 “/”

CloudruSMProvider

(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

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


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

externalSecretMetadata
ExternalSecretMetadata
(Optional)

The metadata of the external secrets to be created

namespaceSelector
Kubernetes meta/v1.LabelSelector

The labels to select by to find the Namespaces to create the ExternalSecrets in

namespaceSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector
(Optional)

A list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.

namespaces
[]string
(Optional)

Choose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing. Deprecated: Use NamespaceSelectors instead.

refreshTime
Kubernetes meta/v1.Duration

The time in which the controller should reconcile its objects and recheck namespaces for labels.

status
ClusterExternalSecretStatus

ClusterExternalSecretConditionType (string alias)

(Appears on: ClusterExternalSecretStatusCondition)

ClusterExternalSecretConditionType indicates the condition of the ClusterExternalSecret.

Value Description

"Ready"

ClusterExternalSecretReady indicates the ClusterExternalSecret resource is ready.

ClusterExternalSecretNamespaceFailure

(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

ClusterExternalSecretSpec

(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

externalSecretMetadata
ExternalSecretMetadata
(Optional)

The metadata of the external secrets to be created

namespaceSelector
Kubernetes meta/v1.LabelSelector

The labels to select by to find the Namespaces to create the ExternalSecrets in

namespaceSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector
(Optional)

A list of labels to select by to find the Namespaces to create the ExternalSecrets in. The selectors are ORed.

namespaces
[]string
(Optional)

Choose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing. Deprecated: Use NamespaceSelectors instead.

refreshTime
Kubernetes meta/v1.Duration

The time in which the controller should reconcile its objects and recheck namespaces for labels.

ClusterExternalSecretStatus

(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

provisionedNamespaces
[]string
(Optional)

ProvisionedNamespaces are the namespaces where the ClusterExternalSecret has secrets

conditions
[]ClusterExternalSecretStatusCondition
(Optional)

ClusterExternalSecretStatusCondition

(Appears on: ClusterExternalSecretStatus)

ClusterExternalSecretStatusCondition indicates the status of the ClusterExternalSecret.

Field Description
type
ClusterExternalSecretConditionType
status
Kubernetes core/v1.ConditionStatus
message
string
(Optional)

ClusterSecretStore

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


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

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure HTTP retries on failures.

refreshInterval
int
(Optional)

Used to configure store refresh interval in seconds. Empty or 0 will default to the controller config.

conditions
[]ClusterSecretStoreCondition
(Optional)

Used to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.

status
SecretStoreStatus

ClusterSecretStoreCondition

(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

namespaceRegexes
[]string
(Optional)

Choose namespaces by using regex matching

ConjurAPIKey

(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, key is a required field.

apiKeyRef
External Secrets meta/v1.SecretKeySelector

A reference to a specific ‘key’ containing the Conjur API key within a Secret resource. In some instances, key is a required field.

ConjurAuth

(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.

ConjurJWT

(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

hostId
string
(Optional)

Optional HostID for JWT authentication. This may be used depending on how the Conjur JWT authenticator policy is configured.

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Conjur using the JWT authentication method.

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

Optional ServiceAccountRef specifies the Kubernetes service account for which to request a token for with the TokenRequest API.

ConjurProvider

(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.

caProvider
CAProvider
(Optional)

Used 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.

auth
ConjurAuth

Defines authentication settings for connecting to Conjur.

DelineaProvider

(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.

tenant
string

Tenant is the chosen hostname / site name.

urlTemplate
string
(Optional)

URLTemplate If unset, defaults to “https://%s.secretsvaultcloud.%s/v1/%s%s”.

tld
string
(Optional)

TLD is based on the server location that was chosen during provisioning. If unset, defaults to “com”.

DelineaProviderSecretRef

(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.

Device42Auth

(Appears on: Device42Provider)

Device42Auth defines the authentication method for the Device42 provider.

Field Description
secretRef
Device42SecretRef

Device42Provider

(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.

Device42SecretRef

(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.

DopplerAuth

(Appears on: DopplerProvider)

DopplerAuth defines the authentication method for the Doppler provider.

Field Description
secretRef
DopplerAuthSecretRef

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.

DopplerProvider

(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)

config
string
(Optional)

Doppler config (required if not using a Service Token)

nameTransformer
string
(Optional)

Environment variable compatible name transforms that change secret names to a different format

format
string
(Optional)

Format enables the downloading of secrets as a file (string)

ExternalSecret

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


secretStoreRef
SecretStoreRef
(Optional)
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

refreshInterval
Kubernetes meta/v1.Duration

RefreshInterval 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.

data
[]ExternalSecretData
(Optional)

Data defines the connection between the Kubernetes Secret keys and the Provider data

dataFrom
[]ExternalSecretDataFromRemoteRef
(Optional)

DataFrom 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

status
ExternalSecretStatus

ExternalSecretConditionType (string 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.

ExternalSecretConversionStrategy (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.

ExternalSecretCreationPolicy (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.

ExternalSecretData

(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.

sourceRef
StoreSourceRef

SourceRef allows you to override the source from which the value will be pulled.

ExternalSecretDataFromRemoteRef

(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.

rewrite
[]ExternalSecretRewrite
(Optional)

Used 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)

sourceRef
StoreGeneratorSourceRef

SourceRef 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

ExternalSecretDataRemoteRef

(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

property
string
(Optional)

Used to select a specific property of the Provider value (if a map), if supported

version
string
(Optional)

Used to select a specific version of the Provider value, if supported

conversionStrategy
ExternalSecretConversionStrategy
(Optional)

Used to define a conversion Strategy

decodingStrategy
ExternalSecretDecodingStrategy
(Optional)

Used to define a decoding Strategy

ExternalSecretDecodingStrategy (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.

ExternalSecretDeletionPolicy (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.

ExternalSecretFind

(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.

tags
map[string]string
(Optional)

Find secrets based on tags.

conversionStrategy
ExternalSecretConversionStrategy
(Optional)

Used to define a conversion Strategy

decodingStrategy
ExternalSecretDecodingStrategy
(Optional)

Used to define a decoding Strategy

ExternalSecretMetadata

(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)

ExternalSecretMetadataPolicy (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.

ExternalSecretRefreshPolicy (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.

ExternalSecretRewrite

(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.

ExternalSecretRewriteRegexp

(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.

ExternalSecretRewriteTransform

(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. .value will specify the secret name in the template.

ExternalSecretSpec

(Appears on: ClusterExternalSecretSpec, ExternalSecret)

ExternalSecretSpec defines the desired state of ExternalSecret.

Field Description
secretStoreRef
SecretStoreRef
(Optional)
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

refreshInterval
Kubernetes meta/v1.Duration

RefreshInterval 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.

data
[]ExternalSecretData
(Optional)

Data defines the connection between the Kubernetes Secret keys and the Provider data

dataFrom
[]ExternalSecretDataFromRemoteRef
(Optional)

DataFrom 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

ExternalSecretStatus

(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

conditions
[]ExternalSecretStatusCondition
(Optional)
binding
Kubernetes core/v1.LocalObjectReference

Binding represents a servicebinding.io Provisioned Service reference to the secret

ExternalSecretStatusCondition

(Appears on: ExternalSecretStatus)

ExternalSecretStatusCondition contains condition information for an ExternalSecret.

Field Description
type
ExternalSecretConditionType
status
Kubernetes core/v1.ConditionStatus
reason
string
(Optional)
message
string
(Optional)
lastTransitionTime
Kubernetes meta/v1.Time
(Optional)

ExternalSecretTarget

(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”

deletionPolicy
ExternalSecretDeletionPolicy
(Optional)

DeletionPolicy defines rules on how to delete the resulting Secret. Defaults to “Retain”

template
ExternalSecretTemplate
(Optional)

Template defines a blueprint for the created Secret resource.

immutable
bool
(Optional)

Immutable defines if the final secret will be immutable

ExternalSecretTemplate

(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[].

metadata
ExternalSecretTemplateMetadata
(Optional)
mergePolicy
TemplateMergePolicy
data
map[string]string
(Optional)
templateFrom
[]TemplateFrom
(Optional)

ExternalSecretTemplateMetadata

(Appears on: ExternalSecretTemplate)

ExternalSecretTemplateMetadata defines metadata fields for the Secret blueprint.

Field Description
annotations
map[string]string
(Optional)
labels
map[string]string
(Optional)

ExternalSecretValidator

ExternalSecretValidator implements webhook validation for ExternalSecret resources.

FakeProvider

(Appears on: SecretStoreProvider)

FakeProvider configures a fake provider that returns static values.

Field Description
data
[]FakeProviderData

FakeProviderData

(Appears on: FakeProvider)

FakeProviderData defines a key-value pair for the fake provider used in testing.

Field Description
key
string
value
string
version
string

FindName

(Appears on: ExternalSecretFind)

FindName defines name matching criteria for finding secrets.

Field Description
regexp
string
(Optional)

Finds secrets base

FortanixProvider

(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 sdkms.fortanix.com.

apiKey
FortanixProviderSecretRef

APIKey is the API token to access SDKMS Applications.

FortanixProviderSecretRef

(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.

GCPSMAuth

(Appears on: GCPSMProvider)

GCPSMAuth defines the authentication methods for the GCP Secret Manager provider.

Field Description
secretRef
GCPSMAuthSecretRef
(Optional)
workloadIdentity
GCPWorkloadIdentity
(Optional)

GCPSMAuthSecretRef

(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

GCPSMProvider

(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

location
string

Location optionally defines a location for a secret

GCPWorkloadIdentity

(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

clusterName
string
(Optional)

ClusterName is the name of the cluster If not specified, it fetches information from the metadata server

clusterProjectID
string
(Optional)

ClusterProjectID is the project ID of the cluster If not specified, it fetches information from the metadata server

GeneratorRef

(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

name
string

Specify the name of the generator resource

GenericStore

GenericStore is a common interface for interacting with ClusterSecretStore or a namespaced SecretStore.

GenericStoreValidator

GenericStoreValidator provides validation for SecretStore and ClusterSecretStore resources.

GithubAppAuth

(Appears on: GithubProvider)

GithubAppAuth defines the GitHub App authentication mechanism for the GitHub provider.

Field Description
privateKey
External Secrets meta/v1.SecretKeySelector

GithubProvider

(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.

auth
GithubAppAuth

auth configures how secret-manager authenticates with a Github instance.

appID
int64

appID specifies the Github APP that will be used to authenticate the client

installationID
int64

installationID specifies the Github APP installation that will be used to authenticate the client

organization
string

organization will be used to fetch secrets from the Github organization

repository
string
(Optional)

repository will be used to fetch secrets from the Github repository within an organization

environment
string
(Optional)

environment will be used to fetch secrets from a particular environment within a github repository

GitlabAuth

(Appears on: GitlabProvider)

GitlabAuth defines the authentication method for the GitLab provider.

Field Description
SecretRef
GitlabSecretRef

GitlabProvider

(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.

projectID
string

ProjectID specifies a project where secrets are located.

inheritFromGroups
bool

InheritFromGroups specifies whether parent groups should be discovered and checked for secrets.

groupIDs
[]string

GroupIDs specify, which gitlab groups to pull secrets from. Group secrets are read from left to right followed by the project variables.

environment
string

Environment 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)

caBundle
[]byte
(Optional)

Base64 encoded certificate for the GitLab server sdk. The sdk MUST run with HTTPS to make sure no MITM attack can be performed.

caProvider
CAProvider
(Optional)

see: https://external-secrets.io/latest/spec/#external-secrets.io/v1alpha1.CAProvider

GitlabSecretRef

(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.

IBMAuth

(Appears on: IBMProvider)

IBMAuth defines the authentication methods for the IBM Cloud Secrets Manager provider.

Field Description
secretRef
IBMAuthSecretRef
containerAuth
IBMAuthContainerAuth

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
string

IBMAuthSecretRef

(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

IBMProvider

(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

InfisicalAuth

(Appears on: InfisicalProvider)

InfisicalAuth defines the authentication methods for the Infisical provider.

Field Description
universalAuthCredentials
UniversalAuthCredentials
(Optional)

InfisicalProvider

(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

hostAPI
string
(Optional)

HostAPI specifies the base URL of the Infisical API. If not provided, it defaults to “https://app.infisical.com/api”.

KeeperSecurityProvider

(Appears on: SecretStoreProvider)

KeeperSecurityProvider Configures a store to sync secrets using Keeper Security.

Field Description
authRef
External Secrets meta/v1.SecretKeySelector
folderID
string

KubernetesAuth

(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

serviceAccount
External Secrets meta/v1.ServiceAccountSelector
(Optional)

points to a service account that should be used for authentication

KubernetesProvider

(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.

authRef
External Secrets meta/v1.SecretKeySelector
(Optional)

A reference to a secret that contains the auth information.

remoteNamespace
string
(Optional)

Remote namespace to fetch the secrets from

KubernetesServer

(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

caProvider
CAProvider
(Optional)

see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider

MachineIdentityScopeInWorkspace

(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.

environmentSlug
string

EnvironmentSlug is the required slug identifier for the environment.

projectSlug
string

ProjectSlug is the required slug identifier for the project.

expandSecretReferences
bool
(Optional)

ExpandSecretReferences indicates whether secret references should be expanded. Defaults to true if not provided.

NTLMProtocol

(Appears on: AuthorizationProtocol)

NTLMProtocol contains the NTLM-specific configuration.

Field Description
usernameSecret
External Secrets meta/v1.SecretKeySelector
passwordSecret
External Secrets meta/v1.SecretKeySelector

NoSecretError

NoSecretError shall be returned when a GetSecret can not find the desired secret. This is used for deletionPolicy.

NotModifiedError

NotModifiedError to signal that the webhook received no changes, and it should just return without doing anything.

OnboardbaseAuthSecretRef

(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

OnboardbaseProvider

(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/

project
string

Project is an onboardbase project that the secrets should be pulled from

environment
string

Environment is the name of an environmnent within a project to pull the secrets from

OnePasswordAuth

(Appears on: OnePasswordProvider)

OnePasswordAuth contains a secretRef for credentials.

Field Description
secretRef
OnePasswordAuthSecretRef

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.

OnePasswordProvider

(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

vaults
map[string]int

Vaults defines which OnePassword vaults to search in which order

OracleAuth

(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.

secretRef
OracleSecretRef

SecretRef to pass through sensitive information.

OraclePrincipalType (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.

OracleProvider

(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.

compartment
string
(Optional)

Compartment is the vault compartment OCID. Required for PushSecret

encryptionKey
string
(Optional)

EncryptionKey is the OCID of the encryption key within the vault. Required for PushSecret

principalType
OraclePrincipalType
(Optional)

The 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.

auth
OracleAuth
(Optional)

Auth configures how secret-manager authenticates with the Oracle Vault. If empty, use the instance principal, otherwise the user credentials specified in Auth.

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

ServiceAccountRef specified the service account that should be used when authenticating with WorkloadIdentity.

OracleSecretRef

(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.

PassboltAuth

(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

PassboltProvider

(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

PasswordDepotAuth

(Appears on: PasswordDepotProvider)

PasswordDepotAuth defines the authentication method for the Password Depot provider.

Field Description
secretRef
PasswordDepotSecretRef

PasswordDepotProvider

(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

auth
PasswordDepotAuth

Auth configures how secret-manager authenticates with a Password Depot instance.

PasswordDepotSecretRef

(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.

PreviderAuth

(Appears on: PreviderProvider)

PreviderAuth contains a secretRef for credentials.

Field Description
secretRef
PreviderAuthSecretRef
(Optional)

PreviderAuthSecretRef

(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

PreviderProvider

(Appears on: SecretStoreProvider)

PreviderProvider configures a store to sync secrets using the Previder Secret Manager provider.

Field Description
auth
PreviderAuth
baseUri
string
(Optional)

Provider

Provider is a common interface for interacting with secret backends.

PulumiProvider

(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.

organization
string

Organization are a space to collaborate on shared projects and stacks. To create a new organization, visit https://app.pulumi.com/ and click “New Organization”.

project
string

Project is the name of the Pulumi ESC project the environment belongs to.

environment
string

Environment 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.

PulumiProviderSecretRef

(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

PushSecretData is an interface to allow using v1alpha1.PushSecretData content in Provider registered in v1beta1.

PushSecretRemoteRef

PushSecretRemoteRef is an interface to allow using v1alpha1.PushSecretRemoteRef in Provider registered in v1beta1.

ScalewayProvider

(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

projectId
string

ProjectID is the id of your project, which you can find in the console: https://console.scaleway.com/project/settings

accessKey
ScalewayProviderSecretRef

AccessKey is the non-secret part of the api key.

secretKey
ScalewayProviderSecretRef

SecretKey is the non-secret part of the api key.

ScalewayProviderSecretRef

(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.

SecretServerProvider

(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.

serverURL
string

ServerURL URL to your secret server installation

SecretServerProviderRef

(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

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


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

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure HTTP retries on failures.

refreshInterval
int
(Optional)

Used to configure store refresh interval in seconds. Empty or 0 will default to the controller config.

conditions
[]ClusterSecretStoreCondition
(Optional)

Used to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.

status
SecretStoreStatus

SecretStoreCapabilities (string 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.

SecretStoreConditionType (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.

SecretStoreProvider

(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

akeyless
AkeylessProvider
(Optional)

Akeyless configures this store to sync secrets using Akeyless Vault provider

bitwardensecretsmanager
BitwardenSecretsManagerProvider
(Optional)

BitwardenSecretsManager configures this store to sync secrets using BitwardenSecretsManager provider

vault
VaultProvider
(Optional)

Vault configures this store to sync secrets using the HashiCorp Vault provider.

gcpsm
GCPSMProvider
(Optional)

GCPSM configures this store to sync secrets using Google Cloud Platform Secret Manager provider

oracle
OracleProvider
(Optional)

Oracle configures this store to sync secrets using Oracle Vault provider

ibm
IBMProvider
(Optional)

IBM configures this store to sync secrets using IBM Cloud provider

yandexcertificatemanager
YandexCertificateManagerProvider
(Optional)

YandexCertificateManager configures this store to sync secrets using Yandex Certificate Manager provider

yandexlockbox
YandexLockboxProvider
(Optional)

YandexLockbox configures this store to sync secrets using Yandex Lockbox provider

github
GithubProvider
(Optional)

Github configures this store to push GitHub Actions secrets using the GitHub API provider.

gitlab
GitlabProvider
(Optional)

GitLab configures this store to sync secrets using GitLab Variables provider

alibaba
AlibabaProvider
(Optional)

Alibaba configures this store to sync secrets using Alibaba Cloud provider

onepassword
OnePasswordProvider
(Optional)

OnePassword configures this store to sync secrets using the 1Password Cloud provider

webhook
WebhookProvider
(Optional)

Webhook configures this store to sync secrets using a generic templated webhook

kubernetes
KubernetesProvider
(Optional)

Kubernetes configures this store to sync secrets using a Kubernetes cluster provider

fake
FakeProvider
(Optional)

Fake configures a store with static key/value pairs

senhasegura
SenhaseguraProvider
(Optional)

Senhasegura configures this store to sync secrets using senhasegura provider

scaleway
ScalewayProvider
(Optional)

Scaleway configures this store to sync secrets using the Scaleway provider.

doppler
DopplerProvider
(Optional)

Doppler configures this store to sync secrets using the Doppler provider

previder
PreviderProvider
(Optional)

Previder configures this store to sync secrets using the Previder provider

onboardbase
OnboardbaseProvider
(Optional)

Onboardbase configures this store to sync secrets using the Onboardbase provider

keepersecurity
KeeperSecurityProvider
(Optional)

KeeperSecurity configures this store to sync secrets using the KeeperSecurity provider

conjur
ConjurProvider
(Optional)

Conjur configures this store to sync secrets using conjur provider

delinea
DelineaProvider
(Optional)

Delinea DevOps Secrets Vault https://docs.delinea.com/online-help/products/devops-secrets-vault/current

secretserver
SecretServerProvider
(Optional)

SecretServer configures this store to sync secrets using SecretServer provider https://docs.delinea.com/online-help/secret-server/start.htm

chef
ChefProvider
(Optional)

Chef configures this store to sync secrets with chef server

pulumi
PulumiProvider
(Optional)

Pulumi configures this store to sync secrets using the Pulumi provider

fortanix
FortanixProvider
(Optional)

Fortanix configures this store to sync secrets using the Fortanix provider

passworddepot
PasswordDepotProvider
(Optional)
passbolt
PassboltProvider
(Optional)
device42
Device42Provider
(Optional)

Device42 configures this store to sync secrets using the Device42 provider

infisical
InfisicalProvider
(Optional)

Infisical configures this store to sync secrets using the Infisical provider

beyondtrust
BeyondtrustProvider
(Optional)

Beyondtrust configures this store to sync secrets using Password Safe provider.

cloudrusm
CloudruSMProvider
(Optional)

CloudruSM configures this store to sync secrets using the Cloud.ru Secret Manager provider

SecretStoreRef

(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 SecretStore

SecretStoreRetrySettings

(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.

SecretStoreSpec

(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

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure HTTP retries on failures.

refreshInterval
int
(Optional)

Used to configure store refresh interval in seconds. Empty or 0 will default to the controller config.

conditions
[]ClusterSecretStoreCondition
(Optional)

Used to constrain a ClusterSecretStore to specific namespaces. Relevant only to ClusterSecretStore.

SecretStoreStatus

(Appears on: ClusterSecretStore, SecretStore)

SecretStoreStatus defines the observed state of the SecretStore.

Field Description
conditions
[]SecretStoreStatusCondition
(Optional)
capabilities
SecretStoreCapabilities
(Optional)

SecretStoreStatusCondition

(Appears on: SecretStoreStatus)

SecretStoreStatusCondition defines the observed condition of the SecretStore.

Field Description
type
SecretStoreConditionType
status
Kubernetes core/v1.ConditionStatus
reason
string
(Optional)
message
string
(Optional)
lastTransitionTime
Kubernetes meta/v1.Time
(Optional)

SecretsClient

SecretsClient provides access to secrets.

SecretsManager

(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

SenhaseguraAuth

(Appears on: SenhaseguraProvider)

SenhaseguraAuth tells the controller how to do auth in senhasegura.

Field Description
clientId
string
clientSecretSecretRef
External Secrets meta/v1.SecretKeySelector

SenhaseguraModuleType (string alias)

(Appears on: SenhaseguraProvider)

SenhaseguraModuleType enum defines senhasegura target module to fetch secrets

Value Description

"DSM"

	SenhaseguraModuleDSM is the senhasegura DevOps Secrets Management module
see: https://senhasegura.com/devops

SenhaseguraProvider

(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

auth
SenhaseguraAuth

Auth defines parameters to authenticate in senhasegura

ignoreSslCertificate
bool

IgnoreSslCertificate defines if SSL certificate must be ignored

StoreGeneratorSourceRef

(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.

StoreSourceRef

(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

Tag defines a tag key and value for AWS resources.

Field Description
key
string
value
string

TemplateEngineVersion (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.

TemplateFrom

(Appears on: ExternalSecretTemplate)

TemplateFrom defines a source for template data.

Field Description
configMap
TemplateRef
secret
TemplateRef
target
TemplateTarget
(Optional)
literal
string
(Optional)

TemplateMergePolicy (string 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.

TemplateRef

(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

TemplateRefItem

(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

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.

TemplateTarget (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.

TokenAuth

(Appears on: KubernetesAuth)

TokenAuth defines token-based authentication for the Kubernetes provider.

Field Description
bearerToken
External Secrets meta/v1.SecretKeySelector

UniversalAuthCredentials

(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

ValidationResult (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.

VaultAppRole

(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.

roleRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Reference 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.

secretRef
External Secrets meta/v1.SecretKeySelector

Reference 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.

VaultAuth

(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.

appRole
VaultAppRole
(Optional)

AppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.

kubernetes
VaultKubernetesAuth
(Optional)

Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server.

ldap
VaultLdapAuth
(Optional)

Ldap authenticates with Vault by passing username/password pair using the LDAP authentication method

jwt
VaultJwtAuth
(Optional)

Jwt authenticates with Vault by passing role and JWT token using the JWT/OIDC authentication method

cert
VaultCertAuth
(Optional)

Cert authenticates with TLS Certificates by passing client certificate, private key and ca certificate Cert authentication method

iam
VaultIamAuth
(Optional)

Iam authenticates with vault by passing a special AWS request signed with AWS IAM credentials AWS IAM authentication method

userPass
VaultUserPassAuth
(Optional)

UserPass authenticates with Vault by passing username/password pair

VaultAwsAuth

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)

VaultAwsAuthSecretRef

(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

sessionTokenSecretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

The 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

VaultAwsJWTAuth

(Appears on: VaultAwsAuth, VaultIamAuth)

VaultAwsJWTAuth Authenticate against AWS using service account tokens.

Field Description
serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
(Optional)

VaultCertAuth

(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

VaultClientTLS

(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’.

VaultIamAuth

(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

role
string
(Optional)

This is the AWS role to be assumed before talking to vault

vaultRole
string

Vault 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

externalID
string

AWS External ID set on assumed IAM roles

vaultAwsIamServerID
string
(Optional)

X-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

secretRef
VaultAwsAuthSecretRef
(Optional)

Specify credentials in a Secret object

jwt
VaultAwsJWTAuth
(Optional)

Specify a service account with IRSA enabled

VaultJwtAuth

(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

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional SecretRef that refers to a key in a Secret resource containing JWT token to authenticate with Vault using the JWT/OIDC authentication method.

kubernetesServiceAccountToken
VaultKubernetesServiceAccountTokenAuth
(Optional)

Optional ServiceAccountToken specifies the Kubernetes service account for which to request a token for with the TokenRequest API.

VaultKVStoreVersion (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.

VaultKubernetesAuth

(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.

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

Optional 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.

role
string

A required field containing the Vault Role to assume. A Role binds a Kubernetes ServiceAccount with a set of Vault policies.

VaultKubernetesServiceAccountTokenAuth

(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 serviceAccountRef. Defaults to a single audience vault it not specified. Deprecated: use serviceAccountRef.Audiences instead

expirationSeconds
int64
(Optional)

Optional 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.

VaultLdapAuth

(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

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

SecretRef to a key in a Secret resource containing password for the LDAP user used to authenticate with Vault using the LDAP authentication method

VaultProvider

(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”.

path
string
(Optional)

Path 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.

version
VaultKVStoreVersion

Version is the Vault KV secret engine version. This can be either “v1” or “v2”. Version defaults to “v2”.

namespace
string
(Optional)

Name 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

caBundle
[]byte
(Optional)

PEM 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.

tls
VaultClientTLS
(Optional)

The 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.

caProvider
CAProvider
(Optional)

The provider for the CA bundle to use to validate Vault server certificate.

readYourWrites
bool
(Optional)

ReadYourWrites 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

forwardInconsistent
bool
(Optional)

ForwardInconsistent 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

headers
map[string]string
(Optional)

Headers to be added in Vault request

VaultUserPassAuth

(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

secretRef
External Secrets meta/v1.SecretKeySelector
(Optional)

SecretRef to a key in a Secret resource containing password for the user used to authenticate with Vault using the UserPass authentication method

WebhookCAProvider

(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.

key
string

The key where the CA certificate can be found in the Secret or ConfigMap.

namespace
string
(Optional)

The namespace the Provider type is in.

WebhookCAProviderType (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.

WebhookProvider

(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

headers
map[string]string
(Optional)

Headers

auth
AuthorizationProtocol
(Optional)

Auth specifies a authorization protocol. Only one protocol may be set.

body
string
(Optional)

Body

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout

result
WebhookResult

Result formatting

secrets
[]WebhookSecret
(Optional)

Secrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name

caBundle
[]byte
(Optional)

PEM 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.

caProvider
WebhookCAProvider
(Optional)

The provider for the CA bundle to use to validate webhook server certificate.

WebhookResult

(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

WebhookSecret

(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

YandexCertificateManagerAuth

(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

YandexCertificateManagerCAProvider

(Appears on: YandexCertificateManagerProvider)

YandexCertificateManagerCAProvider defines CA certificate configuration for Yandex Certificate Manager.

Field Description
certSecretRef
External Secrets meta/v1.SecretKeySelector

YandexCertificateManagerProvider

(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

caProvider
YandexCertificateManagerCAProvider
(Optional)

The provider for the CA bundle to use to validate Yandex.Cloud server certificate.

YandexLockboxAuth

(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

YandexLockboxCAProvider

(Appears on: YandexLockboxProvider)

YandexLockboxCAProvider defines CA certificate configuration for Yandex Lockbox.

Field Description
certSecretRef
External Secrets meta/v1.SecretKeySelector

YandexLockboxProvider

(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

caProvider
YandexLockboxCAProvider
(Optional)

The provider for the CA bundle to use to validate Yandex.Cloud server certificate.


generators.external-secrets.io/v1alpha1

Package v1alpha1 contains resources for generators

Resource Types:

ACRAccessToken

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


auth
ACRAuth
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

scope
string
(Optional)

Define 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/

environmentType
AzureEnvironmentType

EnvironmentType 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

ACRAccessTokenSpec

(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.

registry
string

the domain name of the ACR registry e.g. foobarexample.azurecr.io

scope
string
(Optional)

Define 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/

environmentType
AzureEnvironmentType

EnvironmentType 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

ACRAuth

(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.

workloadIdentity
AzureACRWorkloadIdentityAuth
(Optional)

WorkloadIdentity uses Azure Workload Identity to authenticate with Azure.

AWSAuth

(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)

AWSAuthSecretRef

(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

sessionTokenSecretRef
External Secrets meta/v1.SecretKeySelector

The 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

AWSJWTAuth

(Appears on: AWSAuth)

AWSJWTAuth provides configuration to authenticate against AWS using service account tokens.

Field Description
serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector

AuthorizationProtocol

(Appears on: WebhookSpec)

AuthorizationProtocol contains the protocol-specific configuration

Field Description
ntlm
NTLMProtocol
(Optional)

NTLMProtocol configures the store to use NTLM for auth

AzureACRManagedIdentityAuth

(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

AzureACRServicePrincipalAuth

(Appears on: ACRAuth)

AzureACRServicePrincipalAuth defines the configuration for using Azure Service Principal authentication.

Field Description
secretRef
AzureACRServicePrincipalAuthSecretRef

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.

AzureACRWorkloadIdentityAuth

(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

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


apiUrl
string

APIURL configures the Cloudsmith API URL. Defaults to https://api.cloudsmith.io.

orgSlug
string

OrgSlug is the organization slug in Cloudsmith

serviceSlug
string

ServiceSlug is the service slug in Cloudsmith for OIDC authentication

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector

Name of the service account you are federating with

CloudsmithAccessTokenSpec

(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

serviceSlug
string

ServiceSlug is the service slug in Cloudsmith for OIDC authentication

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector

Name of the service account you are federating with

ClusterGenerator

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


kind
GeneratorKind

Kind the kind of this generator.

generator
GeneratorSpec

Generator the spec for this generator, must match the kind.

ClusterGeneratorSpec

(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

ControllerClassResource defines a resource that can be assigned to a specific controller class.

Field Description
spec
struct{ControllerClass string "json:\"controller\""}


controller
string

ECRAuthorizationToken

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


region
string

Region specifies the region to operate in.

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.

scope
string
(Optional)

Scope specifies the ECR service scope. Valid options are private and public.

ECRAuthorizationTokenSpec

(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

role
string
(Optional)

You can assume a role before making calls to the desired AWS service.

scope
string
(Optional)

Scope specifies the ECR service scope. Valid options are private and public.

Fake

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


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.

FakeSpec

(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.

GCPSMAuth

(Appears on: GCRAccessTokenSpec)

GCPSMAuth defines the authentication methods for Google Cloud Platform.

Field Description
secretRef
GCPSMAuthSecretRef
(Optional)
workloadIdentity
GCPWorkloadIdentity
(Optional)
workloadIdentityFederation
GCPWorkloadIdentityFederation
(Optional)

GCPSMAuthSecretRef

(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

GCPWorkloadIdentity

(Appears on: GCPSMAuth)

GCPWorkloadIdentity defines the configuration for using GCP Workload Identity authentication.

Field Description
serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector
clusterLocation
string
clusterName
string
clusterProjectID
string

GCRAccessToken

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


auth
GCPSMAuth

Auth defines the means for authenticating with GCP

projectID
string

ProjectID defines which project to use to authenticate with

GCRAccessTokenSpec

(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

Generator is the common interface for all generators that is actually used to generate whatever is needed.

GeneratorKind (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

GeneratorProviderState represents the state of a generator provider that can be stored and retrieved.

GeneratorSpec

(Appears on: ClusterGeneratorSpec)

GeneratorSpec defines the configuration for various supported generator types.

Field Description
acrAccessTokenSpec
ACRAccessTokenSpec
cloudsmithAccessTokenSpec
CloudsmithAccessTokenSpec
ecrAuthorizationTokenSpec
ECRAuthorizationTokenSpec
fakeSpec
FakeSpec
gcrAccessTokenSpec
GCRAccessTokenSpec
githubAccessTokenSpec
GithubAccessTokenSpec
quayAccessTokenSpec
QuayAccessTokenSpec
passwordSpec
PasswordSpec
sshKeySpec
SSHKeySpec
stsSessionTokenSpec
STSSessionTokenSpec
uuidSpec
UUIDSpec
vaultDynamicSecretSpec
VaultDynamicSecretSpec
webhookSpec
WebhookSpec
grafanaSpec
GrafanaSpec
mfaSpec
MFASpec

GeneratorState

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


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.

state
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

State is the state that was produced by the generator implementation.

status
GeneratorStateStatus

GeneratorStateConditionType (string 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.

GeneratorStateSpec

(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.

state
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

State is the state that was produced by the generator implementation.

GeneratorStateStatus

(Appears on: GeneratorState)

GeneratorStateStatus defines the observed state of a generator state resource.

Field Description
conditions
[]GeneratorStateStatusCondition

GeneratorStateStatusCondition

(Appears on: GeneratorStateStatus)

GeneratorStateStatusCondition represents the observed condition of a generator state.

Field Description
type
GeneratorStateConditionType
status
Kubernetes core/v1.ConditionStatus
reason
string
(Optional)
message
string
(Optional)
lastTransitionTime
Kubernetes meta/v1.Time
(Optional)

GithubAccessToken

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


url
string

URL configures the GitHub instance URL. Defaults to https://github.com/.

appID
string
installID
string
repositories
[]string

List of repositories the token will have access to. If omitted, defaults to all repositories the GitHub App is installed to.

permissions
map[string]string

Map of permissions the token will have. If omitted, defaults to all permissions the GitHub App has.

auth
GithubAuth

Auth configures how ESO authenticates with a Github instance.

GithubAccessTokenSpec

(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
installID
string
repositories
[]string

List of repositories the token will have access to. If omitted, defaults to all repositories the GitHub App is installed to.

permissions
map[string]string

Map of permissions the token will have. If omitted, defaults to all permissions the GitHub App has.

auth
GithubAuth

Auth configures how ESO authenticates with a Github instance.

GithubAuth

(Appears on: GithubAccessTokenSpec)

GithubAuth defines the authentication configuration for GitHub access.

Field Description
privateKey
GithubSecretRef

GithubSecretRef

(Appears on: GithubAuth)

GithubSecretRef references a secret containing GitHub credentials.

Field Description
secretRef
External Secrets meta/v1.SecretKeySelector

Grafana

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


url
string

URL is the URL of the Grafana instance.

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.

GrafanaAuth

(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/

GrafanaBasicAuth

(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.

GrafanaServiceAccount

(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

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

GrafanaSpec

(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.

serviceAccount
GrafanaServiceAccount

ServiceAccount is the configuration for the service account that is supposed to be generated by the generator.

GrafanaStateServiceAccount

(Appears on: GrafanaServiceAccountTokenState)

GrafanaStateServiceAccount contains the service account ID, login and token ID.

Field Description
id
int64
login
string
tokenID
int64

MFA

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


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.

timePeriod
int

TimePeriod defines how long the token can be active. Defaults to 30 seconds.

algorithm
string

Algorithm to use for encoding. Defaults to SHA1 as per the RFC.

when
Kubernetes meta/v1.Time

When defines a time parameter that can be used to pin the origin time of the generated token.

MFASpec

(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.

timePeriod
int

TimePeriod defines how long the token can be active. Defaults to 30 seconds.

algorithm
string

Algorithm to use for encoding. Defaults to SHA1 as per the RFC.

when
Kubernetes meta/v1.Time

When defines a time parameter that can be used to pin the origin time of the generated token.

NTLMProtocol

(Appears on: AuthorizationProtocol)

NTLMProtocol contains the NTLM-specific configuration.

Field Description
usernameSecret
External Secrets meta/v1.SecretKeySelector
passwordSecret
External Secrets meta/v1.SecretKeySelector

Password

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


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

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

symbolCharacters
string

SymbolCharacters specifies the special characters that should be used in the generated password.

noUpper
bool

Set NoUpper to disable uppercase characters

allowRepeat
bool

set AllowRepeat to true to allow repeating characters.

secretKeys
[]string
(Optional)

SecretKeys defines the keys that will be populated with generated passwords. Defaults to “password” when not set.

encoding
string

Encoding 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

PasswordSpec

(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

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

symbolCharacters
string

SymbolCharacters specifies the special characters that should be used in the generated password.

noUpper
bool

Set NoUpper to disable uppercase characters

allowRepeat
bool

set AllowRepeat to true to allow repeating characters.

secretKeys
[]string
(Optional)

SecretKeys defines the keys that will be populated with generated passwords. Defaults to “password” when not set.

encoding
string

Encoding 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

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


url
string

URL configures the Quay instance URL. Defaults to quay.io.

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

QuayAccessTokenSpec

(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

serviceAccountRef
External Secrets meta/v1.ServiceAccountSelector

Name of the service account you are federating with

RequestParameters

(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)

tokenCode
string
(Optional)

TokenCode is the value provided by the MFA device, if MFA is required.

SSHKey

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


keyType
string

KeyType specifies the SSH key type (rsa, ecdsa, ed25519)

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 ed25519 keys

comment
string

Comment specifies an optional comment for the SSH key

SSHKeySpec

(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, ed25519)

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 ed25519 keys

comment
string

Comment specifies an optional comment for the SSH key

STSSessionToken

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


region
string

Region specifies the region to operate in.

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.

requestParameters
RequestParameters
(Optional)

RequestParameters contains parameters that can be passed to the STS service.

STSSessionTokenSpec

(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

role
string
(Optional)

You can assume a role before making calls to the desired AWS service.

requestParameters
RequestParameters
(Optional)

RequestParameters contains parameters that can be passed to the STS service.

SecretKeySelector

(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

StatefulResource represents a Kubernetes resource that has state which can be tracked.

UUID

UUID generates a version 1 UUID (e56657e3-764f-11ef-a397-65231a88c216).

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
UUIDSpec


UUIDSpec

(Appears on: GeneratorSpec, UUID)

UUIDSpec controls the behavior of the uuid generator.

VaultDynamicSecret

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


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)

parameters
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

Parameters to pass to Vault write (for non-GET methods)

resultType
VaultDynamicSecretResultType

Result 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.

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure http retries if failed

provider
VaultProvider

Vault provider common spec

path
string

Vault path to obtain the dynamic secret from

allowEmptyResponse
bool
(Optional)

Do not fail if no secrets are found. Useful for requests where no data is expected.

VaultDynamicSecretResultType (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.

VaultDynamicSecretSpec

(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)

parameters
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

Parameters to pass to Vault write (for non-GET methods)

resultType
VaultDynamicSecretResultType

Result 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.

retrySettings
SecretStoreRetrySettings
(Optional)

Used to configure http retries if failed

provider
VaultProvider

Vault provider common spec

path
string

Vault path to obtain the dynamic secret from

allowEmptyResponse
bool
(Optional)

Do not fail if no secrets are found. Useful for requests where no data is expected.

Webhook

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


method
string

Webhook Method

url
string

Webhook url to call

headers
map[string]string
(Optional)

Headers

auth
AuthorizationProtocol
(Optional)

Auth specifies a authorization protocol. Only one protocol may be set.

body
string
(Optional)

Body

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout

result
WebhookResult

Result formatting

secrets
[]WebhookSecret
(Optional)

Secrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name

caBundle
[]byte
(Optional)

PEM 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.

caProvider
WebhookCAProvider
(Optional)

The provider for the CA bundle to use to validate webhook server certificate.

WebhookCAProvider

(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.

key
string

The key where the CA certificate can be found in the Secret or ConfigMap.

namespace
string
(Optional)

The namespace the Provider type is in.

WebhookCAProviderType (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.

WebhookResult

(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

WebhookSecret

(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

WebhookSpec

(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

headers
map[string]string
(Optional)

Headers

auth
AuthorizationProtocol
(Optional)

Auth specifies a authorization protocol. Only one protocol may be set.

body
string
(Optional)

Body

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout

result
WebhookResult

Result formatting

secrets
[]WebhookSecret
(Optional)

Secrets to fill in templates These secrets will be passed to the templating function as key value pairs under the given name

caBundle
[]byte
(Optional)

PEM 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.

caProvider
WebhookCAProvider
(Optional)

The provider for the CA bundle to use to validate webhook server certificate.


Generated with gen-crd-api-reference-docs.