v1alpha1

package
v0.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2024 License: Apache-2.0 Imports: 18 Imported by: 13

Documentation

Overview

+groupName=engine.kubevault.com

Index

Constants

View Source
const (
	ResourceKindAWSRole = "AWSRole"
	ResourceAWSRole     = "awsrole"
	ResourceAWSRoles    = "awsroles"
)
View Source
const (
	AWSCredentialAccessKeyKey = "access_key"
	AWSCredentialSecretKeyKey = "secret_key"
)
View Source
const (
	ResourceKindAzureRole = "AzureRole"
	ResourceAzureRole     = "azurerole"
	ResourceAzureRoles    = "azureroles"
)
View Source
const (
	AzureClientSecret   = "client-secret"
	AzureSubscriptionID = "subscription-id"
	AzureTenantID       = "tenant-id"
	AzureClientID       = "client-id"
)
View Source
const (
	ResourceKindElasticsearchRole = "ElasticsearchRole"
	ResourceElasticsearchRole     = "elasticsearchrole"
	ResourceElasticsearchRoles    = "elasticsearchroles"
)
View Source
const (
	ResourceKindGCPRole = "GCPRole"
	ResourceGCPRole     = "gcprole"
	ResourceGCPRoles    = "gcproles"
)
View Source
const (
	ResourceKindMariaDBRole = "MariaDBRole"
	ResourceMariaDBRole     = "mariadbrole"
	ResourceMariaDBRoles    = "mariadbroles"
)
View Source
const (
	ResourceKindMongoDBRole = "MongoDBRole"
	ResourceMongoDBRole     = "mongodbrole"
	ResourceMongoDBRoles    = "mongodbroles"
)
View Source
const (
	ResourceKindMySQLRole = "MySQLRole"
	ResourceMySQLRole     = "mysqlrole"
	ResourceMySQLRoles    = "mysqlroles"
)
View Source
const (
	ResourceKindPKIRole = "PKIRole"
	ResourcePKIRole     = "pkirole"
	ResourcePKIRoles    = "pkiroles"
)
View Source
const (
	ResourceKindPostgresRole = "PostgresRole"
	ResourcePostgresRole     = "postgresrole"
	ResourcePostgresRoles    = "postgresroles"
)
View Source
const (
	ResourceKindRedisRole = "RedisRole"
	ResourceRedisRole     = "redisrole"
	ResourceRedisRoles    = "redisroles"
)
View Source
const (
	ResourceKindSecretAccessRequest = "SecretAccessRequest"
	ResourceSecretAccessRequest     = "secretaccessrequest"
	ResourceSecretAccessRequests    = "secretaccessrequests"
)
View Source
const (
	ResourceKindSecretEngine = "SecretEngine"
	ResourceSecretEngine     = "secretengine"
	ResourceSecretEngines    = "secretengines"
	EngineTypeAWS            = "aws"
	EngineTypeGCP            = "gcp"
	EngineTypeAzure          = "azure"
	EngineTypeDatabase       = "database"
	EngineTypeKV             = "kv"
	EngineTypePKI            = "pki"
)
View Source
const (
	ResourceKindSecretRoleBinding = "SecretRoleBinding"
	ResourceSecretRoleBinding     = "secretrolebinding"
	ResourceSecretRoleBindings    = "secretrolebindings"
)
View Source
const (
	SecretRoleBindingAnnotationName      = "secretrolebindings.engine.kubevault.com/name"
	SecretRoleBindingAnnotationNamespace = "secretrolebindings.engine.kubevault.com/namespace"
)
View Source
const (
	VaultPolicySuccess        = "VaultPolicySuccess"
	VaultPolicyBindingSuccess = "VaultPolicyBindingSuccess"
	SecretRoleBindingSuccess  = "SecretRoleBindingSuccess"
)
View Source
const (
	ConditionRequestExpired = "Expired"
)

SecretAccessRequest Conditions

View Source
const DefaultElasticsearchDatabasePlugin = "elasticsearch-database-plugin"
View Source
const DefaultMariaDBLDatabasePlugin = "mysql-database-plugin"
View Source
const DefaultMongoDBDatabasePlugin = "mongodb-database-plugin"
View Source
const DefaultMySQLDatabasePlugin = "mysql-database-plugin"
View Source
const DefaultPostgresDatabasePlugin = "postgresql-database-plugin"
View Source
const DefaultRedisDatabasePlugin = "redis-database-plugin"
View Source
const (
	GCPSACredentialJson = "sa.json"
)

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: engine.GroupName, Version: "v1alpha1"}

Functions

func GetDBNameFromAppBindingRef

func GetDBNameFromAppBindingRef(dbAppRef *appcat.AppReference) string

Generates unique database name from database appbinding reference

func Kind added in v0.8.0

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AWSAccessRequestConfiguration added in v0.5.0

type AWSAccessRequestConfiguration struct {
	// The ARN of the role to assume if credential_type on the Vault role is assumed_role.
	// Must match one of the allowed role ARNs in the Vault role. Optional if the Vault role
	// only allows a single AWS role ARN; required otherwise.
	RoleARN string `json:"roleARN,omitempty"`

	// If true, '/aws/sts' endpoint will be used to retrieve credential
	// Otherwise, '/aws/creds' endpoint will be used to retrieve credential
	UseSTS bool `json:"useSTS,omitempty"`
}

https://www.vaultproject.io/api/secret/aws/index.html#parameters-6 AWSAccessKeyRequestSpec contains information to request for vault aws credential

func (*AWSAccessRequestConfiguration) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSAccessRequestConfiguration.

func (*AWSAccessRequestConfiguration) DeepCopyInto added in v0.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSConfiguration

type AWSConfiguration struct {
	// Specifies the secret containing AWS access key ID and secret access key
	// secret.Data:
	//	- access_key=<value>
	//  - secret_key=<value>
	CredentialSecret string `json:"credentialSecret"`

	// Specifies the AWS region
	Region string `json:"region"`

	// Specifies a custom HTTP IAM enminidpoint to use
	IAMEndpoint string `json:"iamEndpoint,omitempty"`

	// Specifies a custom HTTP STS endpoint to use
	STSEndpoint string `json:"stsEndpoint,omitempty"`

	// Number of max retries the client should use for recoverable errors.
	// The default (-1) falls back to the AWS SDK's default behavior
	MaxRetries *int64 `json:"maxRetries,omitempty"`

	LeaseConfig *LeaseConfig `json:"leaseConfig,omitempty"`
}

https://www.vaultproject.io/api/secret/aws/index.html#configure-root-iam-credentials AWSConfiguration contains information to communicate with AWS

func (*AWSConfiguration) DeepCopy

func (in *AWSConfiguration) DeepCopy() *AWSConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSConfiguration.

func (*AWSConfiguration) DeepCopyInto

func (in *AWSConfiguration) DeepCopyInto(out *AWSConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSCredentialType

type AWSCredentialType string

+kubebuilder:validation:Enum=iam_user;assumed_role;federation_token

const (
	AWSCredentialIAMUser         AWSCredentialType = "iam_user"
	AWSCredentialAssumedRole     AWSCredentialType = "assumed_role"
	AWSCredentialFederationToken AWSCredentialType = "federation_token"
)

type AWSRole

type AWSRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AWSRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus  `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=awsroles,singular=awsrole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (AWSRole) CustomResourceDefinition

func (_ AWSRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*AWSRole) DeepCopy

func (in *AWSRole) DeepCopy() *AWSRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSRole.

func (*AWSRole) DeepCopyInto

func (in *AWSRole) DeepCopyInto(out *AWSRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSRole) DeepCopyObject

func (in *AWSRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (AWSRole) IsValid

func (r AWSRole) IsValid() error

func (AWSRole) RoleName

func (r AWSRole) RoleName() string

type AWSRoleList

type AWSRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of AWSRole objects
	Items []AWSRole `json:"items,omitempty"`
}

func (*AWSRoleList) DeepCopy

func (in *AWSRoleList) DeepCopy() *AWSRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSRoleList.

func (*AWSRoleList) DeepCopyInto

func (in *AWSRoleList) DeepCopyInto(out *AWSRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSRoleList) DeepCopyObject

func (in *AWSRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AWSRoleSpec

type AWSRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Specifies the type of credential to be used when retrieving credentials from the role
	CredentialType AWSCredentialType `json:"credentialType"`

	// Specifies the ARNs of the AWS roles this Vault role is allowed to assume.
	// Required when credential_type is assumed_role and prohibited otherwise
	RoleARNs []string `json:"roleARNs,omitempty"`

	// Specifies the ARNs of the AWS managed policies to be attached to IAM users when they are requested.
	// Valid only when credential_type is iam_user. When credential_type is iam_user,
	// at least one of policy_arns or policy_document must be specified.
	PolicyARNs []string `json:"policyARNs,omitempty"`

	// The IAM policy document for the role. The behavior depends on the credential type.
	// With iam_user, the policy document will be attached to the IAM user generated and
	// augment the permissions the IAM user has. With assumed_role and federation_token,
	// the policy document will act as a filter on what the credentials can do.
	// +optional
	PolicyDocument string `json:"policyDocument,omitempty"`

	// Specifies the IAM policy in JSON format.
	// +optional
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:pruning:PreserveUnknownFields
	Policy *runtime.RawExtension `json:"policy,omitempty"`

	// The default TTL for STS credentials. When a TTL is not specified when STS credentials are requested,
	// and a default TTL is specified on the role, then this default TTL will be used.
	// Valid only when credential_type is one of assumed_role or federation_token
	DefaultSTSTTL string `json:"defaultSTSTTL,omitempty"`

	// The max allowed TTL for STS credentials (credentials TTL are capped to max_sts_ttl).
	// Valid only when credential_type is one of assumed_role or federation_token
	MaxSTSTTL string `json:"maxSTSTTL,omitempty"`
}

AWSRoleSpec contains connection information, AWS role info, etc More info: https://www.vaultproject.io/api/secret/aws/index.html#parameters-3

func (*AWSRoleSpec) DeepCopy

func (in *AWSRoleSpec) DeepCopy() *AWSRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSRoleSpec.

func (*AWSRoleSpec) DeepCopyInto

func (in *AWSRoleSpec) DeepCopyInto(out *AWSRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureConfiguration

type AzureConfiguration struct {
	// Specifies the secret name containing Azure credentials
	// secret.Data:
	// 	- subscription-id: <value>, The subscription id for the Azure Active Directory.
	//	- tenant-id: <value>, The tenant id for the Azure Active Directory.
	//	- client-id: <value>, The OAuth2 client id to connect to Azure.
	//	- client-secret: <value>, The OAuth2 client secret to connect to Azure.
	CredentialSecret string `json:"credentialSecret"`

	// The Azure environment.
	// If not specified, Vault will use Azure Public Cloud.
	// +optional
	Environment string `json:"environment,omitempty"`
}

AzureConfiguration contains information to communicate with Azure

func (*AzureConfiguration) DeepCopy

func (in *AzureConfiguration) DeepCopy() *AzureConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureConfiguration.

func (*AzureConfiguration) DeepCopyInto

func (in *AzureConfiguration) DeepCopyInto(out *AzureConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureRole

type AzureRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AzureRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus    `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=azureroles,singular=azurerole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (AzureRole) CustomResourceDefinition

func (_ AzureRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*AzureRole) DeepCopy

func (in *AzureRole) DeepCopy() *AzureRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureRole.

func (*AzureRole) DeepCopyInto

func (in *AzureRole) DeepCopyInto(out *AzureRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AzureRole) DeepCopyObject

func (in *AzureRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (AzureRole) IsValid

func (r AzureRole) IsValid() error

func (AzureRole) RoleName

func (r AzureRole) RoleName() string

type AzureRoleList

type AzureRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of AzureRole objects
	Items []AzureRole `json:"items,omitempty"`
}

func (*AzureRoleList) DeepCopy

func (in *AzureRoleList) DeepCopy() *AzureRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureRoleList.

func (*AzureRoleList) DeepCopyInto

func (in *AzureRoleList) DeepCopyInto(out *AzureRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AzureRoleList) DeepCopyObject

func (in *AzureRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AzureRoleSpec

type AzureRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// List of Azure roles to be assigned to the generated service principal.
	// The array must be in JSON format, properly escaped as a string
	AzureRoles string `json:"azureRoles,omitempty"`

	// Application Object ID for an existing service principal
	// that will be used instead of creating dynamic service principals.
	// If present, azure_roles will be ignored.
	ApplicationObjectID string `json:"applicationObjectID,omitempty"`

	// Specifies the default TTL for service principals generated using this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to the system/engine default TTL time.
	TTL string `json:"ttl,omitempty"`

	// Specifies the maximum TTL for service principals
	// generated using this role. Accepts time suffixed strings ("1h")
	// or an integer number of seconds. Defaults to the system/engine max TTL time.
	MaxTTL string `json:"maxTTL,omitempty"`
}

AzureRoleSpec contains connection information, Azure role info, etc More info: https://www.vaultproject.io/api/secret/azure/index.html#create-update-role

func (*AzureRoleSpec) DeepCopy

func (in *AzureRoleSpec) DeepCopy() *AzureRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureRoleSpec.

func (*AzureRoleSpec) DeepCopyInto

func (in *AzureRoleSpec) DeepCopyInto(out *AzureRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureSecretType

type AzureSecretType string

type ConfigURL added in v0.18.0

type ConfigURL struct {
	IssuingCertificates   []string `json:"issuingCertificates,omitempty"`
	CRLDistributionPoints []string `json:"crlDistributionPoints,omitempty"`
	OCSPServers           []string `json:"ocspServers,omitempty"`
	EnableTemplating      bool     `json:"enableTemplating,omitempty"`
}

func (*ConfigURL) DeepCopy added in v0.18.0

func (in *ConfigURL) DeepCopy() *ConfigURL

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigURL.

func (*ConfigURL) DeepCopyInto added in v0.18.0

func (in *ConfigURL) DeepCopyInto(out *ConfigURL)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticsearchConfiguration

type ElasticsearchConfiguration struct {
	// Specifies the Elasticsearch database appbinding reference
	DatabaseRef appcat.AppReference `json:"databaseRef"`

	// List of the roles allowed to use this connection.
	// Defaults to empty (no roles), if contains a "*" any role can use this connection.
	AllowedRoles []string `json:"allowedRoles,omitempty"`

	// Specifies the name of the plugin to use for this connection.
	// Default plugin:
	//  - for elasticsearch: elasticsearch-database-plugin
	PluginName string `json:"pluginName,omitempty"`

	// The URL for Elasticsearch's API ("http://localhost:9200").
	// +kubebuilder:validation:Required
	Url string `json:"url,omitempty"`

	// The username to be used in the connection URL ("vault").
	// +kubebuilder:validation:Required
	Username string `json:"username,omitempty"`

	// The password to be used in the connection URL ("pa55w0rd").
	// +kubebuilder:validation:Required
	Password string `json:"password,omitempty"`

	// The path to a PEM-encoded CA cert file to use to verify the Elasticsearch server's identity.
	CACert string `json:"caCert,omitempty"`

	// The path to a directory of PEM-encoded CA cert files to use to verify the Elasticsearch server's identity.
	CAPath string `json:"caPath,omitempty"`

	// The path to the certificate for the Elasticsearch client to present for communication.
	ClientCert string `json:"clientCert,omitempty"`

	// The path to the key for the Elasticsearch client to use for communication.
	ClientKey string `json:"clientKey,omitempty"`

	// This, if set, is used to set the SNI host when connecting via 1TLS.
	TLSServerName string `json:"tlsServerName,omitempty"`

	// Not recommended. Default to false. Can be set to true to disable SSL verification.
	// +kubebuilder:default:=false
	Insecure bool `json:"insecure,omitempty"`
}

ElasticsearchConfiguration defines a Elasticsearch app configuration. https://www.vaultproject.io/api-docs/secret/databases/elasticdb TODO: Fill in the fields

func (*ElasticsearchConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchConfiguration.

func (*ElasticsearchConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ElasticsearchConfiguration) SetDefaults

func (m *ElasticsearchConfiguration) SetDefaults()

type ElasticsearchRole

type ElasticsearchRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ElasticsearchRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus            `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=elasticsearchroles,singular=elasticsearchrole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (ElasticsearchRole) CustomResourceDefinition

func (_ ElasticsearchRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*ElasticsearchRole) DeepCopy

func (in *ElasticsearchRole) DeepCopy() *ElasticsearchRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchRole.

func (*ElasticsearchRole) DeepCopyInto

func (in *ElasticsearchRole) DeepCopyInto(out *ElasticsearchRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ElasticsearchRole) DeepCopyObject

func (in *ElasticsearchRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ElasticsearchRole) IsValid

func (r ElasticsearchRole) IsValid() error

func (ElasticsearchRole) RoleName

func (r ElasticsearchRole) RoleName() string

type ElasticsearchRoleList

type ElasticsearchRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of ElasticsearchRole objects
	Items []ElasticsearchRole `json:"items,omitempty"`
}

func (*ElasticsearchRoleList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchRoleList.

func (*ElasticsearchRoleList) DeepCopyInto

func (in *ElasticsearchRoleList) DeepCopyInto(out *ElasticsearchRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ElasticsearchRoleList) DeepCopyObject

func (in *ElasticsearchRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ElasticsearchRoleSpec

type ElasticsearchRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Specifies the TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time
	DefaultTTL string `json:"defaultTTL,omitempty"`

	// Specifies the maximum TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time.
	MaxTTL string `json:"maxTTL,omitempty"`

	// https://www.vaultproject.io/api/secret/databases/elasticdb.html#creation_statements
	// Specifies the database statements executed to create and configure a user.
	CreationStatements []string `json:"creationStatements"`

	// https://www.vaultproject.io/api/secret/databases/elasticdb.html#revocation_statements
	// Specifies the database statements to be executed to revoke a user.
	RevocationStatements []string `json:"revocationStatements,omitempty"`
}

ElasticsearchRoleSpec contains connection information, Elasticsearch role info etc

func (*ElasticsearchRoleSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchRoleSpec.

func (*ElasticsearchRoleSpec) DeepCopyInto

func (in *ElasticsearchRoleSpec) DeepCopyInto(out *ElasticsearchRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPAccessRequestConfiguration added in v0.5.0

type GCPAccessRequestConfiguration struct {
	// Specifies the algorithm used to generate key.
	// Defaults to 2k RSA key.
	// Accepted values: KEY_ALG_UNSPECIFIED, KEY_ALG_RSA_1024, KEY_ALG_RSA_2048
	// +optional
	KeyAlgorithm string `json:"keyAlgorithm,omitempty"`

	// Specifies the private key type to generate.
	// Defaults to JSON credentials file
	// Accepted values: TYPE_UNSPECIFIED, TYPE_PKCS12_FILE, TYPE_GOOGLE_CREDENTIALS_FILE
	// +optional
	KeyType string `json:"keyType,omitempty"`
}

GCPAccessRequestConfiguration contains information to request for vault gcp credentials

func (*GCPAccessRequestConfiguration) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPAccessRequestConfiguration.

func (*GCPAccessRequestConfiguration) DeepCopyInto added in v0.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPConfiguration

type GCPConfiguration struct {
	// Specifies the secret containing GCP credentials
	// secret.Data:
	//	- sa.json
	CredentialSecret string `json:"credentialSecret"`

	// Specifies default config TTL for long-lived credentials
	// (i.e. service account keys).
	// +optional
	TTL string `json:"ttl,omitempty"`

	// Specifies the maximum config TTL for long-lived
	// credentials (i.e. service account keys).
	// +optional
	MaxTTL string `json:"maxTTL,omitempty"`
}

https://www.vaultproject.io/api/secret/gcp/index.html#write-config GCPConfiguration contains information to communicate with GCP

func (*GCPConfiguration) DeepCopy

func (in *GCPConfiguration) DeepCopy() *GCPConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPConfiguration.

func (*GCPConfiguration) DeepCopyInto

func (in *GCPConfiguration) DeepCopyInto(out *GCPConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPRole

type GCPRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GCPRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus  `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=gcproles,singular=gcprole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (GCPRole) CustomResourceDefinition

func (_ GCPRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*GCPRole) DeepCopy

func (in *GCPRole) DeepCopy() *GCPRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPRole.

func (*GCPRole) DeepCopyInto

func (in *GCPRole) DeepCopyInto(out *GCPRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCPRole) DeepCopyObject

func (in *GCPRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (GCPRole) IsValid

func (r GCPRole) IsValid() error

func (GCPRole) RoleName

func (r GCPRole) RoleName() string

type GCPRoleList

type GCPRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of GCPRole objects
	Items []GCPRole `json:"items,omitempty"`
}

func (*GCPRoleList) DeepCopy

func (in *GCPRoleList) DeepCopy() *GCPRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPRoleList.

func (*GCPRoleList) DeepCopyInto

func (in *GCPRoleList) DeepCopyInto(out *GCPRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCPRoleList) DeepCopyObject

func (in *GCPRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GCPRoleSpec

type GCPRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Path defines the path of the Google Cloud secret engine
	// default: gcp
	// More info: https://www.vaultproject.io/docs/auth/gcp.html#via-the-cli-helper
	// +optional
	Path string `json:"path,omitempty"`

	// Specifies the type of secret generated for this role set
	SecretType GCPSecretType `json:"secretType"`

	// Name of the GCP project that this roleset's service account will belong to.
	// Cannot be updated.
	Project string `json:"project"`

	// Bindings configuration string (expects HCL or JSON format in raw
	// or base64-encoded string)
	Bindings string `json:"bindings"`

	// List of OAuth scopes to assign to access_token secrets generated
	// under this role set (access_token role sets only)
	// +optional
	TokenScopes []string `json:"tokenScopes,omitempty"`
}

GCPRoleSpec contains connection information, GCP role info, etc More info: https://www.vaultproject.io/api/secret/gcp/index.html#parameters

func (*GCPRoleSpec) DeepCopy

func (in *GCPRoleSpec) DeepCopy() *GCPRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPRoleSpec.

func (*GCPRoleSpec) DeepCopyInto

func (in *GCPRoleSpec) DeepCopyInto(out *GCPRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPSecretType

type GCPSecretType string

+kubebuilder:validation:Enum=access_token;service_account_key

const (
	GCPSecretAccessToken       GCPSecretType = "access_token"
	GCPSecretServiceAccountKey GCPSecretType = "service_account_key"
)

type KVConfiguration

type KVConfiguration struct {
	// The version of the KV engine to enable. Defaults to "1", can be either "1" or "2"
	Version int64 `json:"version,omitempty"`

	// The maximum number of versions to keep for any given key. Defaults to 0, which indicates that the Vault default (10) should be
	// used.
	MaxVersions int64 `json:"maxVersions,omitempty"`

	// If true, then all operations on the KV store require the cas (Compare-and-Swap) parameter to be set.
	// https://www.vaultproject.io/api-docs/secret/kv/kv-v2#cas_required
	// https://www.vaultproject.io/docs/secrets/kv/kv-v2#usage
	CasRequired bool `json:"casRequired,omitempty"`

	// If set, keys will be automatically deleted after this length of time. Accepts a Go duration format
	// string.
	// https://golang.org/pkg/time/#ParseDuration
	DeleteVersionsAfter string `json:"deleteVersionsAfter,omitempty"`
}

KVConfiguration defines a Key-Value engine configuration TODO: fill in doc links

func (*KVConfiguration) DeepCopy

func (in *KVConfiguration) DeepCopy() *KVConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KVConfiguration.

func (*KVConfiguration) DeepCopyInto

func (in *KVConfiguration) DeepCopyInto(out *KVConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Lease

type Lease struct {
	// lease id
	ID string `json:"id,omitempty"`

	// lease duration
	Duration metav1.Duration `json:"duration,omitempty"`

	// Specifies whether this lease is renewable
	Renewable bool `json:"renewable,omitempty"`
}

Lease contains lease info

func (*Lease) DeepCopy

func (in *Lease) DeepCopy() *Lease

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lease.

func (*Lease) DeepCopyInto

func (in *Lease) DeepCopyInto(out *Lease)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LeaseConfig

type LeaseConfig struct {
	// Specifies the lease value provided as a string duration with time suffix.
	// "h" (hour) is the largest suffix.
	Lease string `json:"lease"`

	// Specifies the maximum lease value provided as a string duration with time suffix.
	// "h" (hour) is the largest suffix
	LeaseMax string `json:"leaseMax"`
}

https://www.vaultproject.io/api/secret/aws/index.html#configure-lease LeaseConfig contains lease configuration

func (*LeaseConfig) DeepCopy

func (in *LeaseConfig) DeepCopy() *LeaseConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseConfig.

func (*LeaseConfig) DeepCopyInto

func (in *LeaseConfig) DeepCopyInto(out *LeaseConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MariaDBConfiguration added in v0.8.0

type MariaDBConfiguration struct {
	// DatabaseRef refers to a MariaDB database AppBinding in any namespace
	DatabaseRef appcat.AppReference `json:"databaseRef"`

	// Specifies the name of the plugin to use for this connection.
	// Default plugin:
	//  - for mysql: mysql-database-plugin
	PluginName string `json:"pluginName,omitempty"`

	// List of the roles allowed to use this connection.
	// Defaults to empty (no roles), if contains a "*" any role can use this connection.
	AllowedRoles []string `json:"allowedRoles,omitempty"`

	// Specifies the maximum number of open connections to the database.
	MaxOpenConnections int64 `json:"maxOpenConnections,omitempty"`

	// Specifies the maximum number of idle connections to the database.
	// A zero uses the value of max_open_connections and a negative value disables idle connections.
	// If larger than max_open_connections it will be reduced to be equal.
	MaxIdleConnections int64 `json:"maxIdleConnections,omitempty"`

	// Specifies the maximum amount of time a connection may be reused.
	// If <= 0s connections are reused forever.
	MaxConnectionLifetime string `json:"maxConnectionLifetime,omitempty"`
}

MariaDBConfiguration defines a MariaDB app configuration. https://www.vaultproject.io/api/secret/databases/index.html https://www.vaultproject.io/api/secret/databases/mysql-maria.html#configure-connection

func (*MariaDBConfiguration) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBConfiguration.

func (*MariaDBConfiguration) DeepCopyInto added in v0.8.0

func (in *MariaDBConfiguration) DeepCopyInto(out *MariaDBConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MariaDBConfiguration) SetDefaults added in v0.8.0

func (m *MariaDBConfiguration) SetDefaults()

type MariaDBRole added in v0.8.0

type MariaDBRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MariaDBRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus      `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=mariadbroles,singular=mariadbrole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (MariaDBRole) CustomResourceDefinition added in v0.8.0

func (_ MariaDBRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MariaDBRole) DeepCopy added in v0.8.0

func (in *MariaDBRole) DeepCopy() *MariaDBRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBRole.

func (*MariaDBRole) DeepCopyInto added in v0.8.0

func (in *MariaDBRole) DeepCopyInto(out *MariaDBRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MariaDBRole) DeepCopyObject added in v0.8.0

func (in *MariaDBRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (MariaDBRole) IsValid added in v0.8.0

func (r MariaDBRole) IsValid() error

func (MariaDBRole) RoleName added in v0.8.0

func (r MariaDBRole) RoleName() string

type MariaDBRoleList added in v0.8.0

type MariaDBRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of MariaDBRole objects
	Items []MariaDBRole `json:"items,omitempty"`
}

func (*MariaDBRoleList) DeepCopy added in v0.8.0

func (in *MariaDBRoleList) DeepCopy() *MariaDBRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBRoleList.

func (*MariaDBRoleList) DeepCopyInto added in v0.8.0

func (in *MariaDBRoleList) DeepCopyInto(out *MariaDBRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MariaDBRoleList) DeepCopyObject added in v0.8.0

func (in *MariaDBRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MariaDBRoleSpec added in v0.8.0

type MariaDBRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Specifies the TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time
	DefaultTTL string `json:"defaultTTL,omitempty"`

	// Specifies the maximum TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time.
	MaxTTL string `json:"maxTTL,omitempty"`

	// https://www.vaultproject.io/api/secret/databases/mysql-maria.html#creation_statements
	// Specifies the database statements executed to create and configure a user.
	CreationStatements []string `json:"creationStatements"`

	// https://www.vaultproject.io/api/secret/databases/mysql-maria.html#revocation_statements
	// Specifies the database statements to be executed to revoke a user.
	RevocationStatements []string `json:"revocationStatements,omitempty"`
}

MariaDBRoleSpec contains connection information, mariadb role info etc

func (*MariaDBRoleSpec) DeepCopy added in v0.8.0

func (in *MariaDBRoleSpec) DeepCopy() *MariaDBRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBRoleSpec.

func (*MariaDBRoleSpec) DeepCopyInto added in v0.8.0

func (in *MariaDBRoleSpec) DeepCopyInto(out *MariaDBRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MongoDBConfiguration

type MongoDBConfiguration struct {
	// Specifies the database appbinding reference
	DatabaseRef appcat.AppReference `json:"databaseRef"`

	// Specifies the name of the plugin to use for this connection.
	// Default plugin:
	//  - for mongodb: mongodb-database-plugin
	PluginName string `json:"pluginName,omitempty"`

	// List of the roles allowed to use this connection.
	// Defaults to empty (no roles), if contains a "*" any role can use this connection.
	AllowedRoles []string `json:"allowedRoles,omitempty"`

	// Specifies the MongoDB write concern. This is set for the entirety
	// of the session, maintained for the lifecycle of the plugin process.
	WriteConcern string `json:"writeConcern,omitempty"`
}

MongoDBConfiguration defines a MongoDB app configuration. https://www.vaultproject.io/api/secret/databases/index.html https://www.vaultproject.io/api/secret/databases/mongodb.html#configure-connection

func (*MongoDBConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBConfiguration.

func (*MongoDBConfiguration) DeepCopyInto

func (in *MongoDBConfiguration) DeepCopyInto(out *MongoDBConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MongoDBConfiguration) SetDefaults

func (m *MongoDBConfiguration) SetDefaults()

type MongoDBRole

type MongoDBRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MongoDBRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus      `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=mongodbroles,singular=mongodbrole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (MongoDBRole) CustomResourceDefinition

func (_ MongoDBRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MongoDBRole) DeepCopy

func (in *MongoDBRole) DeepCopy() *MongoDBRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBRole.

func (*MongoDBRole) DeepCopyInto

func (in *MongoDBRole) DeepCopyInto(out *MongoDBRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MongoDBRole) DeepCopyObject

func (in *MongoDBRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (MongoDBRole) IsValid

func (r MongoDBRole) IsValid() error

func (MongoDBRole) RoleName

func (r MongoDBRole) RoleName() string

type MongoDBRoleList

type MongoDBRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of MongoDBRole objects
	Items []MongoDBRole `json:"items,omitempty"`
}

func (*MongoDBRoleList) DeepCopy

func (in *MongoDBRoleList) DeepCopy() *MongoDBRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBRoleList.

func (*MongoDBRoleList) DeepCopyInto

func (in *MongoDBRoleList) DeepCopyInto(out *MongoDBRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MongoDBRoleList) DeepCopyObject

func (in *MongoDBRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MongoDBRoleSpec

type MongoDBRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Specifies the TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time
	DefaultTTL string `json:"defaultTTL,omitempty"`

	// Specifies the maximum TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time.
	MaxTTL string `json:"maxTTL,omitempty"`

	// https://www.vaultproject.io/api/secret/databases/Mongodb-maria.html#creation_statements
	// Specifies the database statements executed to create and configure a user.
	CreationStatements []string `json:"creationStatements"`

	// https://www.vaultproject.io/api/secret/databases/Mongodb-maria.html#revocation_statements
	// Specifies the database statements to be executed to revoke a user.
	RevocationStatements []string `json:"revocationStatements,omitempty"`
}

MongoDBRoleSpec contains connection information, Mongodb role info etc

func (*MongoDBRoleSpec) DeepCopy

func (in *MongoDBRoleSpec) DeepCopy() *MongoDBRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBRoleSpec.

func (*MongoDBRoleSpec) DeepCopyInto

func (in *MongoDBRoleSpec) DeepCopyInto(out *MongoDBRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MySQLConfiguration

type MySQLConfiguration struct {
	// DatabaseRef refers to a MySQL/MariaDB database AppBinding in any namespace
	DatabaseRef appcat.AppReference `json:"databaseRef"`

	// Specifies the name of the plugin to use for this connection.
	// Default plugin:
	//  - for mysql: mysql-database-plugin
	PluginName string `json:"pluginName,omitempty"`

	// List of the roles allowed to use this connection.
	// Defaults to empty (no roles), if contains a "*" any role can use this connection.
	AllowedRoles []string `json:"allowedRoles,omitempty"`

	// Specifies the maximum number of open connections to the database.
	MaxOpenConnections int64 `json:"maxOpenConnections,omitempty"`

	// Specifies the maximum number of idle connections to the database.
	// A zero uses the value of max_open_connections and a negative value disables idle connections.
	// If larger than max_open_connections it will be reduced to be equal.
	MaxIdleConnections int64 `json:"maxIdleConnections,omitempty"`

	// Specifies the maximum amount of time a connection may be reused.
	// If <= 0s connections are reused forever.
	MaxConnectionLifetime string `json:"maxConnectionLifetime,omitempty"`
}

MySQLConfiguration defines a MySQL app configuration. https://www.vaultproject.io/api/secret/databases/index.html https://www.vaultproject.io/api/secret/databases/mysql-maria.html#configure-connection

func (*MySQLConfiguration) DeepCopy

func (in *MySQLConfiguration) DeepCopy() *MySQLConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLConfiguration.

func (*MySQLConfiguration) DeepCopyInto

func (in *MySQLConfiguration) DeepCopyInto(out *MySQLConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLConfiguration) SetDefaults

func (m *MySQLConfiguration) SetDefaults()

type MySQLRole

type MySQLRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MySQLRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus    `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=mysqlroles,singular=mysqlrole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (MySQLRole) CustomResourceDefinition

func (_ MySQLRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MySQLRole) DeepCopy

func (in *MySQLRole) DeepCopy() *MySQLRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLRole.

func (*MySQLRole) DeepCopyInto

func (in *MySQLRole) DeepCopyInto(out *MySQLRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLRole) DeepCopyObject

func (in *MySQLRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (MySQLRole) IsValid

func (r MySQLRole) IsValid() error

func (MySQLRole) RoleName

func (r MySQLRole) RoleName() string

type MySQLRoleList

type MySQLRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of MySQLRole objects
	Items []MySQLRole `json:"items,omitempty"`
}

func (*MySQLRoleList) DeepCopy

func (in *MySQLRoleList) DeepCopy() *MySQLRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLRoleList.

func (*MySQLRoleList) DeepCopyInto

func (in *MySQLRoleList) DeepCopyInto(out *MySQLRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLRoleList) DeepCopyObject

func (in *MySQLRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MySQLRoleSpec

type MySQLRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Specifies the TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time
	DefaultTTL string `json:"defaultTTL,omitempty"`

	// Specifies the maximum TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time.
	MaxTTL string `json:"maxTTL,omitempty"`

	// https://www.vaultproject.io/api/secret/databases/mysql-maria.html#creation_statements
	// Specifies the database statements executed to create and configure a user.
	CreationStatements []string `json:"creationStatements"`

	// https://www.vaultproject.io/api/secret/databases/mysql-maria.html#revocation_statements
	// Specifies the database statements to be executed to revoke a user.
	RevocationStatements []string `json:"revocationStatements,omitempty"`
}

MySQLRoleSpec contains connection information, mysql role info etc

func (*MySQLRoleSpec) DeepCopy

func (in *MySQLRoleSpec) DeepCopy() *MySQLRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLRoleSpec.

func (*MySQLRoleSpec) DeepCopyInto

func (in *MySQLRoleSpec) DeepCopyInto(out *MySQLRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PKIAccessRequestConfiguration added in v0.18.0

type PKIAccessRequestConfiguration struct {
	IssuerRef         string            `json:"issuerRef,omitempty"`
	CommonName        string            `json:"commonName,omitempty"`
	AltNames          string            `json:"altNames,omitempty"`
	TTL               string            `json:"ttl,omitempty"`
	AdditionalPayload map[string]string `json:"additionalPayload,omitempty"`
}

https://developer.hashicorp.com/vault/api-docs/secret/pki#generate-certificate-and-key

func (*PKIAccessRequestConfiguration) DeepCopy added in v0.18.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PKIAccessRequestConfiguration.

func (*PKIAccessRequestConfiguration) DeepCopyInto added in v0.18.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PKIConfiguration added in v0.18.0

type PKIConfiguration struct {
	IsRootCA          bool                   `json:"isRootCA"`
	ParentCARef       *kmapi.ObjectReference `json:"parentCARef,omitempty"`
	URLs              *ConfigURL             `json:"urls,omitempty"`
	CommonName        string                 `json:"commonName,omitempty"`
	AltNames          string                 `json:"altNames,omitempty"`
	IssuerName        string                 `json:"issuerName,omitempty"`
	CAType            string                 `json:"type,omitempty"`
	TTL               string                 `json:"ttl,omitempty"`
	MaxPathLength     *int                   `json:"maxPathLength,omitempty"`
	OU                string                 `json:"ou,omitempty"`
	Organization      string                 `json:"organization,omitempty"`
	Country           string                 `json:"country,omitempty"`
	AdditionalPayload map[string]string      `json:"additionalPayload,omitempty"`
}

https://developer.hashicorp.com/vault/api-docs/secret/pki#generate-root PKIConfiguration contains information about PKI Secret Engine

func (*PKIConfiguration) DeepCopy added in v0.18.0

func (in *PKIConfiguration) DeepCopy() *PKIConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PKIConfiguration.

func (*PKIConfiguration) DeepCopyInto added in v0.18.0

func (in *PKIConfiguration) DeepCopyInto(out *PKIConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PKIRole added in v0.18.0

type PKIRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PKIRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus  `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=pkiroles,singular=pkirole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (PKIRole) CustomResourceDefinition added in v0.18.0

func (_ PKIRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*PKIRole) DeepCopy added in v0.18.0

func (in *PKIRole) DeepCopy() *PKIRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PKIRole.

func (*PKIRole) DeepCopyInto added in v0.18.0

func (in *PKIRole) DeepCopyInto(out *PKIRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PKIRole) DeepCopyObject added in v0.18.0

func (in *PKIRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (PKIRole) IsValid added in v0.18.0

func (p PKIRole) IsValid() error

func (PKIRole) RoleName added in v0.18.0

func (p PKIRole) RoleName() string

type PKIRoleList added in v0.18.0

type PKIRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of PKIRole objects
	Items []PKIRole `json:"items,omitempty"`
}

func (*PKIRoleList) DeepCopy added in v0.18.0

func (in *PKIRoleList) DeepCopy() *PKIRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PKIRoleList.

func (*PKIRoleList) DeepCopyInto added in v0.18.0

func (in *PKIRoleList) DeepCopyInto(out *PKIRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PKIRoleList) DeepCopyObject added in v0.18.0

func (in *PKIRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PKIRoleSpec added in v0.18.0

type PKIRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef   core.LocalObjectReference `json:"secretEngineRef"`
	IssuerRef         string                    `json:"issuerRef,omitempty"`
	TTL               string                    `json:"ttl,omitempty"`
	MaxTTL            string                    `json:"maxTTL,omitempty"`
	AllowedDomains    []string                  `json:"allowedDomains,omitempty"`
	AllowSubdomains   *bool                     `json:"allowSubdomains,omitempty"`
	OU                string                    `json:"ou,omitempty"`
	Organization      string                    `json:"organization,omitempty"`
	Country           string                    `json:"country,omitempty"`
	AdditionalPayload map[string]string         `json:"additionalPayload,omitempty"`
}

PKIRoleSpec contains connection information, PKI role info, etc More info: https://developer.hashicorp.com/vault/api-docs/secret/pki#create-update-role

func (*PKIRoleSpec) DeepCopy added in v0.18.0

func (in *PKIRoleSpec) DeepCopy() *PKIRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PKIRoleSpec.

func (*PKIRoleSpec) DeepCopyInto added in v0.18.0

func (in *PKIRoleSpec) DeepCopyInto(out *PKIRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PostgresConfiguration

type PostgresConfiguration struct {
	// Specifies the Postgres database appbinding reference
	DatabaseRef appcat.AppReference `json:"databaseRef"`

	// Specifies the name of the plugin to use for this connection.
	// Default plugin:
	//	- for postgres: postgresql-database-plugin
	PluginName string `json:"pluginName,omitempty"`

	// List of the roles allowed to use this connection.
	// Defaults to empty (no roles), if contains a "*" any role can use this connection.
	AllowedRoles []string `json:"allowedRoles,omitempty"`

	// Specifies the maximum number of open connections to the database.
	MaxOpenConnections int64 `json:"maxOpenConnections,omitempty"`

	// Specifies the maximum number of idle connections to the database.
	// A zero uses the value of max_open_connections and a negative value disables idle connections.
	// If larger than max_open_connections it will be reduced to be equal.
	MaxIdleConnections int64 `json:"maxIdleConnections,omitempty"`

	// Specifies the maximum amount of time a connection may be reused.
	// If <= 0s connections are reused forever.
	MaxConnectionLifetime string `json:"maxConnectionLifetime,omitempty"`
}

PostgresConfiguration defines a PostgreSQL app configuration. https://www.vaultproject.io/api/secret/databases/index.html https://www.vaultproject.io/api/secret/databases/postgresql.html#configure-connection

func (*PostgresConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresConfiguration.

func (*PostgresConfiguration) DeepCopyInto

func (in *PostgresConfiguration) DeepCopyInto(out *PostgresConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PostgresConfiguration) SetDefaults

func (p *PostgresConfiguration) SetDefaults()

type PostgresRole

type PostgresRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PostgresRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus       `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=postgresroles,singular=postgresrole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (PostgresRole) CustomResourceDefinition

func (_ PostgresRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*PostgresRole) DeepCopy

func (in *PostgresRole) DeepCopy() *PostgresRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresRole.

func (*PostgresRole) DeepCopyInto

func (in *PostgresRole) DeepCopyInto(out *PostgresRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PostgresRole) DeepCopyObject

func (in *PostgresRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (PostgresRole) IsValid

func (r PostgresRole) IsValid() error

func (PostgresRole) RoleName

func (r PostgresRole) RoleName() string

type PostgresRoleList

type PostgresRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of PostgresRole objects
	Items []PostgresRole `json:"items,omitempty"`
}

func (*PostgresRoleList) DeepCopy

func (in *PostgresRoleList) DeepCopy() *PostgresRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresRoleList.

func (*PostgresRoleList) DeepCopyInto

func (in *PostgresRoleList) DeepCopyInto(out *PostgresRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PostgresRoleList) DeepCopyObject

func (in *PostgresRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PostgresRoleSpec

type PostgresRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Specifies the TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time
	DefaultTTL string `json:"defaultTTL,omitempty"`

	// Specifies the maximum TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time.
	MaxTTL string `json:"maxTTL,omitempty"`

	// https://www.vaultproject.io/api/secret/databases/postgresql.html#creation_statements
	// Specifies the database statements executed to create and configure a user.
	CreationStatements []string `json:"creationStatements"`

	// https://www.vaultproject.io/api/secret/databases/postgresql.html#revocation_statements
	// Specifies the database statements to be executed to revoke a user.
	RevocationStatements []string `json:"revocationStatements,omitempty"`

	// https://www.vaultproject.io/api/secret/databases/postgresql.html#rollback_statements
	// Specifies the database statements to be executed rollback a create operation in the event of an error.
	RollbackStatements []string `json:"rollbackStatements,omitempty"`

	// https://www.vaultproject.io/api/secret/databases/postgresql.html#renew_statements
	// Specifies the database statements to be executed to renew a user.
	RenewStatements []string `json:"renewStatements,omitempty"`
}

PostgresRoleSpec contains connection information, postgres role info etc

func (*PostgresRoleSpec) DeepCopy

func (in *PostgresRoleSpec) DeepCopy() *PostgresRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresRoleSpec.

func (*PostgresRoleSpec) DeepCopyInto

func (in *PostgresRoleSpec) DeepCopyInto(out *PostgresRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisConfiguration added in v0.13.0

type RedisConfiguration struct {
	// Specifies the database appbinding reference
	DatabaseRef appcat.AppReference `json:"databaseRef"`

	// Specifies the name of the plugin to use for this connection.
	// Default plugin:
	//  - for redis: redis-database-plugin
	PluginName string `json:"pluginName,omitempty"`

	// List of the roles allowed to use this connection.
	// Defaults to empty (no roles), if contains a "*" any role can use this connection.
	AllowedRoles []string `json:"allowedRoles,omitempty"`
}

RedisConfiguration defines a Redis app configuration. https://www.vaultproject.io/api/secret/databases/index.html https://developer.hashicorp.com/vault/api-docs/secret/databases/redis#configure-connection

func (*RedisConfiguration) DeepCopy added in v0.13.0

func (in *RedisConfiguration) DeepCopy() *RedisConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisConfiguration.

func (*RedisConfiguration) DeepCopyInto added in v0.13.0

func (in *RedisConfiguration) DeepCopyInto(out *RedisConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisConfiguration) SetDefaults added in v0.13.0

func (r *RedisConfiguration) SetDefaults()

type RedisRole added in v0.13.0

type RedisRole struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RedisRoleSpec `json:"spec,omitempty"`
	Status            RoleStatus    `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=redisroles,singular=redisrole,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (RedisRole) CustomResourceDefinition added in v0.13.0

func (_ RedisRole) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*RedisRole) DeepCopy added in v0.13.0

func (in *RedisRole) DeepCopy() *RedisRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisRole.

func (*RedisRole) DeepCopyInto added in v0.13.0

func (in *RedisRole) DeepCopyInto(out *RedisRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisRole) DeepCopyObject added in v0.13.0

func (in *RedisRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (RedisRole) IsValid added in v0.13.0

func (r RedisRole) IsValid() error

func (RedisRole) RoleName added in v0.13.0

func (r RedisRole) RoleName() string

type RedisRoleList added in v0.13.0

type RedisRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of RedisRole objects
	Items []RedisRole `json:"items,omitempty"`
}

func (*RedisRoleList) DeepCopy added in v0.13.0

func (in *RedisRoleList) DeepCopy() *RedisRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisRoleList.

func (*RedisRoleList) DeepCopyInto added in v0.13.0

func (in *RedisRoleList) DeepCopyInto(out *RedisRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisRoleList) DeepCopyObject added in v0.13.0

func (in *RedisRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RedisRoleSpec added in v0.13.0

type RedisRoleSpec struct {
	// SecretEngineRef is the name of a Secret Engine
	SecretEngineRef core.LocalObjectReference `json:"secretEngineRef"`

	// Specifies the TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time
	DefaultTTL string `json:"defaultTTL,omitempty"`

	// Specifies the maximum TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to system/engine default TTL time.
	MaxTTL string `json:"maxTTL,omitempty"`

	// https://developer.hashicorp.com/vault/api-docs/secret/databases/redis#creation_statements
	// Specifies the database statements executed to create and configure a user.
	CreationStatements []string `json:"creationStatements"`

	// Specifies the database statements to be executed to revoke a user.
	RevocationStatements []string `json:"revocationStatements,omitempty"`
}

RedisRoleSpec contains connection information, Redis role info etc

func (*RedisRoleSpec) DeepCopy added in v0.13.0

func (in *RedisRoleSpec) DeepCopy() *RedisRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisRoleSpec.

func (*RedisRoleSpec) DeepCopyInto added in v0.13.0

func (in *RedisRoleSpec) DeepCopyInto(out *RedisRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestStatusPhase

type RequestStatusPhase string

Specifies the access key request phase

const (
	SecretRoleBindingPhaseSuccess    RequestStatusPhase = "Success"
	SecretRoleBindingPhaseProcessing RequestStatusPhase = "Processing"
	SecretRoleBindingPhaseFailed     RequestStatusPhase = "Failed"
)
var (
	RequestStatusPhaseWaitingForApproval RequestStatusPhase = "WaitingForApproval"
	RequestStatusPhaseApproved           RequestStatusPhase = "Approved"
	RequestStatusPhaseDenied             RequestStatusPhase = "Denied"
	RequestStatusPhaseExpired            RequestStatusPhase = "Expired"
)

type RolePhase added in v0.5.0

type RolePhase string
const (
	// RolePhase constants
	RolePhaseSuccess    RolePhase = "Success"
	RolePhaseProcessing RolePhase = "Processing"
)

type RoleStatus added in v0.5.0

type RoleStatus struct {
	Phase RolePhase `json:"phase,omitempty"`

	// ObservedGeneration is the most recent generation observed for this MySQLRole. It corresponds to the
	// MySQLRole's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Represents the latest available observations of a MySQLRole current state.
	Conditions []kmapi.Condition `json:"conditions,omitempty"`

	PolicyRef *kmapi.ObjectReference `json:"policyRef,omitempty"`
}

func (*RoleStatus) DeepCopy added in v0.5.0

func (in *RoleStatus) DeepCopy() *RoleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleStatus.

func (*RoleStatus) DeepCopyInto added in v0.5.0

func (in *RoleStatus) DeepCopyInto(out *RoleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretAccessRequest added in v0.5.0

type SecretAccessRequest struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SecretAccessRequestSpec   `json:"spec,omitempty"`
	Status            SecretAccessRequestStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=secretaccessrequests,singular=secretaccessrequest,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Secret",type="string",JSONPath=".status.secret.name" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (SecretAccessRequest) CustomResourceDefinition added in v0.5.0

func (_ SecretAccessRequest) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*SecretAccessRequest) DeepCopy added in v0.5.0

func (in *SecretAccessRequest) DeepCopy() *SecretAccessRequest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretAccessRequest.

func (*SecretAccessRequest) DeepCopyInto added in v0.5.0

func (in *SecretAccessRequest) DeepCopyInto(out *SecretAccessRequest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretAccessRequest) DeepCopyObject added in v0.5.0

func (in *SecretAccessRequest) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (SecretAccessRequest) IsValid added in v0.5.0

func (d SecretAccessRequest) IsValid() error

type SecretAccessRequestConfiguration added in v0.5.0

type SecretAccessRequestConfiguration struct {
	// +optional
	AWS *AWSAccessRequestConfiguration `json:"aws,omitempty"`
	GCP *GCPAccessRequestConfiguration `json:"gcp,omitempty"`
	// +optional
	PKI *PKIAccessRequestConfiguration `json:"pki,omitempty"`
}

SecretAccessRequestConfiguration contains information to request for database credential

func (*SecretAccessRequestConfiguration) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretAccessRequestConfiguration.

func (*SecretAccessRequestConfiguration) DeepCopyInto added in v0.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretAccessRequestList added in v0.5.0

type SecretAccessRequestList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of SecretAccessRequest objects
	Items []SecretAccessRequest `json:"items,omitempty"`
}

func (*SecretAccessRequestList) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretAccessRequestList.

func (*SecretAccessRequestList) DeepCopyInto added in v0.5.0

func (in *SecretAccessRequestList) DeepCopyInto(out *SecretAccessRequestList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretAccessRequestList) DeepCopyObject added in v0.5.0

func (in *SecretAccessRequestList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SecretAccessRequestSpec added in v0.5.0

type SecretAccessRequestSpec struct {
	// Contains vault database role info
	RoleRef kmapi.TypedObjectReference `json:"roleRef"`

	Subjects []rbac.Subject `json:"subjects"`

	// Specifies the TTL for the leases associated with this role.
	// Accepts time suffixed strings ("1h") or an integer number of seconds.
	// Defaults to roles default TTL time
	TTL string `json:"ttl,omitempty"`

	SecretAccessRequestConfiguration `json:",inline"`
}

SecretAccessRequestSpec contains information to request for database credential

func (*SecretAccessRequestSpec) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretAccessRequestSpec.

func (*SecretAccessRequestSpec) DeepCopyInto added in v0.5.0

func (in *SecretAccessRequestSpec) DeepCopyInto(out *SecretAccessRequestSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretAccessRequestStatus added in v0.5.0

type SecretAccessRequestStatus struct {
	// Specifies the phase of SecretAccessRequest object
	Phase RequestStatusPhase `json:"phase,omitempty"`

	// Conditions applied to the request, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`

	// Contains lease info
	Lease *Lease `json:"lease,omitempty"`

	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Name of the secret containing secret engine role credentials
	Secret *kmapi.ObjectReference `json:"secret,omitempty"`
}

func (*SecretAccessRequestStatus) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretAccessRequestStatus.

func (*SecretAccessRequestStatus) DeepCopyInto added in v0.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretEngine

type SecretEngine struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SecretEngineSpec   `json:"spec,omitempty"`
	Status            SecretEngineStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=secretengines,singular=secretengine,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (SecretEngine) CustomResourceDefinition

func (_ SecretEngine) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*SecretEngine) DeepCopy

func (in *SecretEngine) DeepCopy() *SecretEngine

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretEngine.

func (*SecretEngine) DeepCopyInto

func (in *SecretEngine) DeepCopyInto(out *SecretEngine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretEngine) DeepCopyObject

func (in *SecretEngine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (SecretEngine) GetPolicyName

func (e SecretEngine) GetPolicyName() string

Generates the policy name which contains required permission for this secret engine

func (SecretEngine) GetSecretEnginePath added in v0.5.0

func (se SecretEngine) GetSecretEnginePath() string

func (SecretEngine) GetSecretEngineType added in v0.5.0

func (se SecretEngine) GetSecretEngineType() api.SecretEngineType

func (SecretEngine) IsValid

func (e SecretEngine) IsValid() error

type SecretEngineConfiguration

type SecretEngineConfiguration struct {
	AWS           *AWSConfiguration           `json:"aws,omitempty"`
	Azure         *AzureConfiguration         `json:"azure,omitempty"`
	GCP           *GCPConfiguration           `json:"gcp,omitempty"`
	Postgres      *PostgresConfiguration      `json:"postgres,omitempty"`
	MongoDB       *MongoDBConfiguration       `json:"mongodb,omitempty"`
	Redis         *RedisConfiguration         `json:"redis,omitempty"`
	MySQL         *MySQLConfiguration         `json:"mysql,omitempty"`
	MariaDB       *MariaDBConfiguration       `json:"mariadb,omitempty"`
	KV            *KVConfiguration            `json:"kv,omitempty"`
	Elasticsearch *ElasticsearchConfiguration `json:"elasticsearch,omitempty"`
	PKI           *PKIConfiguration           `json:"pki,omitempty"`
}

func (*SecretEngineConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretEngineConfiguration.

func (*SecretEngineConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretEngineList

type SecretEngineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []SecretEngine `json:"items,omitempty"`
}

func (*SecretEngineList) DeepCopy

func (in *SecretEngineList) DeepCopy() *SecretEngineList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretEngineList.

func (*SecretEngineList) DeepCopyInto

func (in *SecretEngineList) DeepCopyInto(out *SecretEngineList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretEngineList) DeepCopyObject

func (in *SecretEngineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SecretEnginePhase

type SecretEnginePhase string
const (
	SecretEnginePhaseSuccess    SecretEnginePhase = "Success"
	SecretEnginePhaseProcessing SecretEnginePhase = "Processing"

	ConditionCertificateSigned = "CertificateSigned"
)

type SecretEngineSpec

type SecretEngineSpec struct {
	VaultRef kmapi.ObjectReference `json:"vaultRef"`

	SecretEngineConfiguration `json:",inline"`

	DefaultLeaseTTL string `json:"defaultLeaseTTL,omitempty"`
	MaxLeaseTTL     string `json:"maxLeaseTTL,omitempty"`
}

func (*SecretEngineSpec) DeepCopy

func (in *SecretEngineSpec) DeepCopy() *SecretEngineSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretEngineSpec.

func (*SecretEngineSpec) DeepCopyInto

func (in *SecretEngineSpec) DeepCopyInto(out *SecretEngineSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretEngineStatus

type SecretEngineStatus struct {
	Phase SecretEnginePhase `json:"phase,omitempty"`

	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	Conditions []kmapi.Condition `json:"conditions,omitempty"`

	// Path defines the path used to enable this secret engine
	// Visible to user but immutable
	Path string `json:"path,omitempty"`
}

func (*SecretEngineStatus) DeepCopy

func (in *SecretEngineStatus) DeepCopy() *SecretEngineStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretEngineStatus.

func (*SecretEngineStatus) DeepCopyInto

func (in *SecretEngineStatus) DeepCopyInto(out *SecretEngineStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretRoleBinding added in v0.5.0

type SecretRoleBinding struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SecretRoleBindingSpec   `json:"spec,omitempty"`
	Status            SecretRoleBindingStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=secretrolebindings,singular=secretrolebinding,categories={vault,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (SecretRoleBinding) CustomResourceDefinition added in v0.5.0

func (_ SecretRoleBinding) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*SecretRoleBinding) DeepCopy added in v0.5.0

func (in *SecretRoleBinding) DeepCopy() *SecretRoleBinding

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRoleBinding.

func (*SecretRoleBinding) DeepCopyInto added in v0.5.0

func (in *SecretRoleBinding) DeepCopyInto(out *SecretRoleBinding)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretRoleBinding) DeepCopyObject added in v0.5.0

func (in *SecretRoleBinding) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (SecretRoleBinding) IsValid added in v0.5.0

func (d SecretRoleBinding) IsValid() error

func (SecretRoleBinding) VaultPolicyBindingName added in v0.5.0

func (srb SecretRoleBinding) VaultPolicyBindingName() string

func (SecretRoleBinding) VaultPolicyName added in v0.5.0

func (srb SecretRoleBinding) VaultPolicyName() string

type SecretRoleBindingList added in v0.5.0

type SecretRoleBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is a list of SecretRoleBinding objects
	Items []SecretRoleBinding `json:"items,omitempty"`
}

func (*SecretRoleBindingList) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRoleBindingList.

func (*SecretRoleBindingList) DeepCopyInto added in v0.5.0

func (in *SecretRoleBindingList) DeepCopyInto(out *SecretRoleBindingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretRoleBindingList) DeepCopyObject added in v0.5.0

func (in *SecretRoleBindingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SecretRoleBindingSpec added in v0.5.0

type SecretRoleBindingSpec struct {
	Roles []core.TypedLocalObjectReference `json:"roles"`

	Subjects []rbac.Subject `json:"subjects"`
}

SecretRoleBindingSpec contains information to request for database credential

func (*SecretRoleBindingSpec) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRoleBindingSpec.

func (*SecretRoleBindingSpec) DeepCopyInto added in v0.5.0

func (in *SecretRoleBindingSpec) DeepCopyInto(out *SecretRoleBindingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretRoleBindingStatus added in v0.5.0

type SecretRoleBindingStatus struct {
	// Specifies the phase of SecretRoleBinding object
	Phase RequestStatusPhase `json:"phase,omitempty"`

	// Conditions applied to the request, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`

	// Contains lease info
	Lease *Lease `json:"lease,omitempty"`

	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	PolicyRef *kmapi.ObjectReference `json:"policyRef,omitempty"`

	PolicyBindingRef *kmapi.ObjectReference `json:"policyBindingRef,omitempty"`
}

func (*SecretRoleBindingStatus) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRoleBindingStatus.

func (*SecretRoleBindingStatus) DeepCopyInto added in v0.5.0

func (in *SecretRoleBindingStatus) DeepCopyInto(out *SecretRoleBindingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL