Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +k8s:openapi-gen=true Package v1alpha1 is the v1alpha1 version of the API. +groupName=gitops.jenkins-x.io
Index ¶
- Constants
- type BackendType
- type Defaults
- type GcpSecretsManager
- type Mapping
- type Repository
- type RepositoryGroup
- type SecretMapping
- func (c *SecretMapping) Find(secretName string, dataKey string) *Mapping
- func (c *SecretMapping) FindRule(namespace string, secretName string) SecretRule
- func (c *SecretMapping) FindSecret(secretName string) *SecretRule
- func (c *SecretMapping) SaveConfig(fileName string) error
- func (c *SecretMapping) Validate() error
- type SecretMappingList
- type SecretMappingSpec
- type SecretRule
- type SourceConfig
- type SourceConfigList
- type SourceConfigSpec
Constants ¶
const ( // APIVersion the api version APIVersion = "gitops.jenkins-x.io/v1alpha1" // KindSecretMapping the kind KindSecretMapping = "SecretMapping" // KindSourceConfig the kind KindSourceConfig = "SourceConfig" )
const (
// SecretMappingFileName default name of the secret mappings file
SecretMappingFileName = "secret-mappings.yaml"
)
const (
// SourceConfigFileName default name of the source repository configuration
SourceConfigFileName = "source-config.yaml"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackendType ¶ added in v0.0.55
type BackendType string
BackendType describes a secrets backend
const ( // BackendTypeVault Vault is the Backed service BackendTypeVault BackendType = "vault" // BackendTypeGSM Google Secrets Manager is the Backed service BackendTypeGSM BackendType = "gcpSecretsManager" // BackendTypeNone if none is configured BackendTypeNone BackendType = "" )
type Defaults ¶ added in v0.0.161
type Defaults struct { // DefaultBackendType the default back end to use if there's no specific mapping BackendType BackendType `json:"backendType,omitempty" validate:"nonzero"` // GcpSecretsManager config GcpSecretsManager GcpSecretsManager `json:"gcpSecretsManager,omitempty"` }
Defaults contains default mapping configuration for any Kubernetes secrets to External Secrets
type GcpSecretsManager ¶ added in v0.0.151
type GcpSecretsManager struct { // Version of the referenced secret Version string `json:"version,omitempty"` // ProjectId for the secret, defaults to the current GCP project ProjectId string `json:"projectId,omitempty"` // UniquePrefix needs to be a unique prefix in the GCP project where the secret resides, defaults to cluster name UniquePrefix string `json:"uniquePrefix,omitempty"` }
GcpSecretsManager the predicates which must be true to invoke the associated tasks/pipelines
type Mapping ¶
type Mapping struct { // Name the secret entry name which maps to the Key of the Secret.Data map Name string `json:"name,omitempty"` // Key the Vault key to load the secret value // +optional Key string `json:"key,omitempty"` // Property the Vault property on the key to load the secret value // +optional Property string `json:"property,omitempty"` }
Mapping the predicates which must be true to invoke the associated tasks/pipelines
type Repository ¶ added in v0.0.189
type Repository struct { // Name the name of the repository Name string `json:"name,omitempty" validate:"nonzero"` // Scheduler the optional name of the scheduler to use if different to the group Scheduler string `json:"scheduler,omitempty"` // Description the optional description of this repository Description string `json:"description,omitempty"` // URL the URL to access this repository URL string `json:"url,omitempty"` // HTTPCloneURL the HTTP/HTTPS based clone URL HTTPCloneURL string `json:"httpCloneURL,omitempty"` // SSHCloneURL the SSH based clone URL SSHCloneURL string `json:"sshCloneURL,omitempty"` }
Repository the name of the repository to import and the optional scheduler
type RepositoryGroup ¶ added in v0.0.189
type RepositoryGroup struct { // Provider the git provider server URL Provider string `json:"provider,omitempty"` // ProviderKind the git provider kind ProviderKind string `json:"providerKind,omitempty"` // ProviderName the git provider name ProviderName string `json:"providerName,omitempty"` // Owner the name of the organisation/owner/project/user that owns the repository Owner string `json:"owner,omitempty" validate:"nonzero"` // Repositories the repositories for the Repositories []Repository `json:"repositories,omitempty"` // Scheduler the default scheduler for this group Scheduler string `json:"scheduler,omitempty"` }
SourceConfigSpec defines the desired state of SourceConfig.
type SecretMapping ¶
type SecretMapping struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata"` // Spec holds the desired state of the SecretMapping from the client // +optional Spec SecretMappingSpec `json:"spec"` }
SecretMapping represents a collection of mappings of Secrets to destinations in the underlying secret store (e.g. Vault keys)
+k8s:openapi-gen=true
func (*SecretMapping) Find ¶
func (c *SecretMapping) Find(secretName string, dataKey string) *Mapping
Find finds a secret rule for the given secret name
func (*SecretMapping) FindRule ¶ added in v0.0.57
func (c *SecretMapping) FindRule(namespace string, secretName string) SecretRule
FindRule finds a secret rule for the given secret name
func (*SecretMapping) FindSecret ¶ added in v0.0.151
func (c *SecretMapping) FindSecret(secretName string) *SecretRule
Find finds a secret rule for the given secret name
func (*SecretMapping) SaveConfig ¶ added in v0.0.161
func (c *SecretMapping) SaveConfig(fileName string) error
SaveConfig saves the configuration file to the given project directory
func (*SecretMapping) Validate ¶ added in v0.0.63
func (c *SecretMapping) Validate() error
validate the secrete mapping fields
type SecretMappingList ¶
type SecretMappingList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []SecretMapping `json:"items"` }
SecretMappingList contains a list of SecretMapping
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type SecretMappingSpec ¶
type SecretMappingSpec struct { // Secrets rules for each secret Secrets []SecretRule `json:"secrets,omitempty"` Defaults `json:"defaults,omitempty" validate:"nonzero"` }
SecretMappingSpec defines the desired state of SecretMapping.
type SecretRule ¶
type SecretRule struct { // Name name of the secret Name string `json:"name,omitempty"` // Namespace name of the secret Namespace string `json:"namespace,omitempty"` // BackendType for the secret BackendType BackendType `json:"backendType"` // Mappings one more mappings Mappings []Mapping `json:"mappings,omitempty"` // Mandatory marks this secret as being mandatory Mandatory bool `json:"mandatory,omitempty"` // GcpSecretsManager config GcpSecretsManager GcpSecretsManager `json:"gcpSecretsManager,omitempty"` }
SecretRule the rules for a specific Secret
func (*SecretRule) Find ¶
func (r *SecretRule) Find(dataKey string) *Mapping
Find finds a mapping for the given data name
type SourceConfig ¶ added in v0.0.189
type SourceConfig struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata"` // Spec holds the desired state of the SourceConfig from the client // +optional Spec SourceConfigSpec `json:"spec"` }
SourceConfig represents a collection source repostory groups and repositories
+k8s:openapi-gen=true
type SourceConfigList ¶ added in v0.0.189
type SourceConfigList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []SourceConfig `json:"items"` }
SourceConfigList contains a list of SourceConfig
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type SourceConfigSpec ¶ added in v0.0.189
type SourceConfigSpec struct { // Groups the groups of source repositories Groups []RepositoryGroup `json:"groups,omitempty"` // Scheduler the default scheduler for any group/repository which does not specify one Scheduler string `json:"scheduler,omitempty"` }
SourceConfigSpec defines the desired state of SourceConfig.