Documentation
¶
Index ¶
- Constants
- Variables
- type AccessToken
- type BootstrapToken
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (c *Cluster) GetCreationPolicy() CreationPolicy
- func (c *Cluster) GetDeletionPolicy() DeletionPolicy
- func (c *Cluster) GetDisplayName() string
- func (c *Cluster) GetEnableCompilePipeline() bool
- func (c *Cluster) GetGitTemplate() *GitRepoTemplate
- func (c *Cluster) GetMeta() metav1.ObjectMeta
- func (c *Cluster) GetSpec() interface{}
- func (c *Cluster) GetStatus() interface{}
- func (c *Cluster) GetTenantRef() corev1.LocalObjectReference
- func (c *Cluster) SetGitRepoURLAndHostKeys(URL, hostKeys string)
- type ClusterList
- type ClusterSpec
- type ClusterStatus
- type CompileMeta
- type CompileMetaInstanceVersionInfo
- type CompileMetaVersionInfo
- type CompilePipelineSpec
- type CompilePipelineStatus
- type CreationPolicy
- type DeletionPolicy
- type DeployKey
- type EnvVar
- type EnvVarGitlabOptions
- type EnvVarSource
- type Facts
- type GitPhase
- type GitRepo
- func (in *GitRepo) DeepCopy() *GitRepo
- func (in *GitRepo) DeepCopyInto(out *GitRepo)
- func (in *GitRepo) DeepCopyObject() runtime.Object
- func (g *GitRepo) GetCreationPolicy() CreationPolicy
- func (g *GitRepo) GetDeletionPolicy() DeletionPolicy
- func (g *GitRepo) GetDisplayName() string
- func (g *GitRepo) GetGitTemplate() *GitRepoTemplate
- func (g *GitRepo) GetMeta() metav1.ObjectMeta
- func (g *GitRepo) GetSpec() interface{}
- func (g *GitRepo) GetStatus() interface{}
- func (g *GitRepo) GetTenantRef() corev1.LocalObjectReference
- func (g *GitRepo) SetGitRepoURLAndHostKeys(URL, hostKeys string)
- type GitRepoList
- type GitRepoSpec
- type GitRepoStatus
- type GitRepoTemplate
- type GitType
- type RepoType
- type Tenant
- func (t *Tenant) ApplyTemplate(template *TenantTemplate) error
- func (in *Tenant) DeepCopy() *Tenant
- func (in *Tenant) DeepCopyInto(out *Tenant)
- func (in *Tenant) DeepCopyObject() runtime.Object
- func (t *Tenant) GetCompilePipelineSpec() *CompilePipelineSpec
- func (t *Tenant) GetCompilePipelineStatus() *CompilePipelineStatus
- func (t *Tenant) GetCreationPolicy() CreationPolicy
- func (t *Tenant) GetDeletionPolicy() DeletionPolicy
- func (t *Tenant) GetDisplayName() string
- func (t *Tenant) GetGitTemplate() *GitRepoTemplate
- func (t *Tenant) GetMeta() metav1.ObjectMeta
- func (t *Tenant) GetSpec() interface{}
- func (t *Tenant) GetStatus() interface{}
- func (t *Tenant) GetTenantRef() corev1.LocalObjectReference
- func (t *Tenant) SetGitRepoURLAndHostKeys(URL, _ string)
- type TenantList
- type TenantSpec
- type TenantStatus
- type TenantTemplate
- type TenantTemplateList
Constants ¶
const ( LabelNameTenant = "syn.tools/tenant" FinalizerName = "cluster.lieutenant.syn.tools" PipelineFinalizerName = "cluster.lieutenant.syn.tools/pipelines" // DeleteProtectionAnnotation defines the delete protection annotation name DeleteProtectionAnnotation = "syn.tools/protected-delete" )
const ( GitLab = GitType("gitlab") GitHub = GitType("github") Gitea = GitType("gitea") TypeUnknown = GitType("") )
GitType enum values
const ( // AutoRepoType managed by the git controller AutoRepoType = RepoType("auto") // UnmanagedRepoType by the git controller. These objects are only used as data store UnmanagedRepoType = RepoType("unmanaged") // DefaultRepoType is auto DefaultRepoType = RepoType("") )
const ( Created GitPhase = "created" Creating GitPhase = "creating" Failed GitPhase = "failed" PhaseUnknown GitPhase = "" ArchivePolicy DeletionPolicy = "Archive" DeletePolicy DeletionPolicy = "Delete" RetainPolicy DeletionPolicy = "Retain" CreatePolicy CreationPolicy = "Create" AdoptPolicy CreationPolicy = "Adopt" )
GitPhase enum values
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "syn.tools", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AccessToken ¶ added in v1.10.0
type AccessToken struct {
// SecretRef references the secret the access token is stored in
SecretRef string `json:"secretRef,omitempty"`
}
func (*AccessToken) DeepCopy ¶ added in v1.10.0
func (in *AccessToken) DeepCopy() *AccessToken
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessToken.
func (*AccessToken) DeepCopyInto ¶ added in v1.10.0
func (in *AccessToken) DeepCopyInto(out *AccessToken)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BootstrapToken ¶
type BootstrapToken struct {
// Token is the actual token to register the cluster
Token string `json:"token,omitempty"`
// ValidUntil timespan how long the token is valid. If the token is
// used after this timestamp it will be rejected.
ValidUntil metav1.Time `json:"validUntil,omitempty"`
// TokenValid indicates if the token is still valid or was already used.
TokenValid bool `json:"tokenValid,omitempty"`
}
BootstrapToken this key is used only once for Steward to register.
func (*BootstrapToken) DeepCopy ¶
func (in *BootstrapToken) DeepCopy() *BootstrapToken
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootstrapToken.
func (*BootstrapToken) DeepCopyInto ¶
func (in *BootstrapToken) DeepCopyInto(out *BootstrapToken)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSpec `json:"spec,omitempty"`
Status ClusterStatus `json:"status,omitempty"`
}
Cluster is the Schema for the clusters API +kubebuilder:subresource:status +kubebuilder:resource:path=clusters,scope=Namespaced +kubebuilder:printcolumn:name="Display Name",type="string",JSONPath=".spec.displayName" +kubebuilder:printcolumn:name="Tenant",type="string",JSONPath=".spec.tenantRef.name" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) GetCreationPolicy ¶ added in v1.5.0
func (c *Cluster) GetCreationPolicy() CreationPolicy
GetCreationPolicy returns the object's creation policy
func (*Cluster) GetDeletionPolicy ¶
func (c *Cluster) GetDeletionPolicy() DeletionPolicy
GetDeletionPolicy returns the object's deletion policy
func (*Cluster) GetDisplayName ¶
GetDisplayName returns the display name of the object
func (*Cluster) GetEnableCompilePipeline ¶ added in v1.11.0
func (*Cluster) GetGitTemplate ¶
func (c *Cluster) GetGitTemplate() *GitRepoTemplate
GetGitTemplate returns the git repository template
func (*Cluster) GetMeta ¶
func (c *Cluster) GetMeta() metav1.ObjectMeta
func (*Cluster) GetTenantRef ¶
func (c *Cluster) GetTenantRef() corev1.LocalObjectReference
GetTenantRef returns the tenant of this CR
func (*Cluster) SetGitRepoURLAndHostKeys ¶
SetGitRepoURLAndHostKeys updates the GitRepoURL and the GitHostKeys in the Cluster at once
type ClusterList ¶
type ClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cluster `json:"items"`
}
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSpec ¶
type ClusterSpec struct {
// DisplayName of cluster which could be different from metadata.name. Allows cluster renaming should it be needed.
DisplayName string `json:"displayName,omitempty"`
// GitRepoURL git repository storing the cluster configuration catalog. If this is set, no gitRepoTemplate is needed.
GitRepoURL string `json:"gitRepoURL,omitempty"`
// SSH GitHostKeys of the git server
GitHostKeys string `json:"gitHostKeys,omitempty"`
// GitRepoTemplate template for managing the GitRepo object.
GitRepoTemplate *GitRepoTemplate `json:"gitRepoTemplate,omitempty"`
// TenantRef reference to Tenant object the cluster belongs to.
TenantRef corev1.LocalObjectReference `json:"tenantRef,omitempty"`
// TenantGitRepoRevision allows to configure the revision of the tenant configuration to use. It can be any git tree-ish reference. The revision from the tenant will be inherited if left empty.
TenantGitRepoRevision string `json:"tenantGitRepoRevision,omitempty"`
// GlobalGitRepoRevision allows to configure the revision of the global configuration to use. It can be any git tree-ish reference. The revision from the tenant will be inherited if left empty.
GlobalGitRepoRevision string `json:"globalGitRepoRevision,omitempty"`
// TokenLifetime set the token lifetime
TokenLifeTime string `json:"tokenLifeTime,omitempty"`
// Facts are key/value pairs for statically configured facts
Facts Facts `json:"facts,omitempty"`
// DeletionPolicy defines how the external resources should be treated upon CR deletion.
// Retain: will not delete any external resources
// Delete: will delete the external resources
// Archive: will archive the external resources, if it supports that
// +kubebuilder:validation:Enum=Delete;Retain;Archive
DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"`
// CreationPolicy defines how the external resources should be treated upon CR creation.
// Create: will only create a new external resource and will not manage already existing resources
// Adopt: will create a new external resource or will adopt and manage an already existing resource
// +kubebuilder:validation:Enum=Create;Adopt
CreationPolicy CreationPolicy `json:"creationPolicy,omitempty"`
// EnableCompilePipeline determines whether the gitops compile pipeline should be set up for this cluster
EnableCompilePipeline bool `json:"enableCompilePipeline,omitempty"`
}
ClusterSpec defines the desired state of Cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct {
// BootstrapTokenValid validity of the bootstrap token, set by the Lieutenant API.
BootstrapToken *BootstrapToken `json:"bootstrapToken,omitempty"`
// Facts are key/value pairs for dynamically fetched facts
Facts Facts `json:"facts,omitempty"`
// CompileMeta contains information about the last compilation with Commodore.
CompileMeta CompileMeta `json:"compileMeta,omitempty"`
}
ClusterStatus defines the observed state of Cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompileMeta ¶ added in v1.6.0
type CompileMeta struct {
// LastCompile is the time of the last successful compilation.
LastCompile metav1.Time `json:"lastCompile,omitempty"`
// CommodoreBuildInfo is the freeform build information reported by the Commodore binary used for the last compilation.
CommodoreBuildInfo map[string]string `json:"commodoreBuildInfo,omitempty"`
// Global contains the information of the global configuration used for the last compilation.
Global CompileMetaVersionInfo `json:"global,omitempty"`
// Tenant contains the information of the tenant configuration used for the last compilation.
Tenant CompileMetaVersionInfo `json:"tenant,omitempty"`
// Packages contains the information of the packages used for the last compilation.
Packages map[string]CompileMetaVersionInfo `json:"packages,omitempty"`
// Instances contains the information of the component instances used for the last compilation.
// The key is the name of the component instance.
Instances map[string]CompileMetaInstanceVersionInfo `json:"instances,omitempty"`
}
CompileMeta contains information about the last compilation with Commodore.
func (*CompileMeta) DeepCopy ¶ added in v1.6.0
func (in *CompileMeta) DeepCopy() *CompileMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompileMeta.
func (*CompileMeta) DeepCopyInto ¶ added in v1.6.0
func (in *CompileMeta) DeepCopyInto(out *CompileMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompileMetaInstanceVersionInfo ¶ added in v1.6.0
type CompileMetaInstanceVersionInfo struct {
CompileMetaVersionInfo `json:",inline"`
// Component is the name of a component instance.
Component string `json:"component,omitempty"`
}
CompileMetaInstanceVersionInfo contains information about the version of a component instance.
func (*CompileMetaInstanceVersionInfo) DeepCopy ¶ added in v1.6.0
func (in *CompileMetaInstanceVersionInfo) DeepCopy() *CompileMetaInstanceVersionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompileMetaInstanceVersionInfo.
func (*CompileMetaInstanceVersionInfo) DeepCopyInto ¶ added in v1.6.0
func (in *CompileMetaInstanceVersionInfo) DeepCopyInto(out *CompileMetaInstanceVersionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompileMetaVersionInfo ¶ added in v1.6.0
type CompileMetaVersionInfo struct {
// URL is the URL of the git repository.
URL string `json:"url,omitempty"`
// GitSHA is the git commit SHA of the used commit.
GitSHA string `json:"gitSha,omitempty"`
// Version is the version of the configuration.
// Can point to a tag, branch or any other git reference.
Version string `json:"version,omitempty"`
// Path is the path inside the git repository where the configuration is stored.
Path string `json:"path,omitempty"`
}
CompileMetaVersionInfo contains information about the version of a configuration repo or a package.
func (*CompileMetaVersionInfo) DeepCopy ¶ added in v1.6.0
func (in *CompileMetaVersionInfo) DeepCopy() *CompileMetaVersionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompileMetaVersionInfo.
func (*CompileMetaVersionInfo) DeepCopyInto ¶ added in v1.6.0
func (in *CompileMetaVersionInfo) DeepCopyInto(out *CompileMetaVersionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompilePipelineSpec ¶ added in v1.11.0
type CompilePipelineSpec struct {
// Enabled enables or disables the compile pipeline for this tenant
Enabled bool `json:"enabled,omitempty"`
// Pipelines contains a map of filenames and file contents, specifying files which are added to the GitRepoTemplate in order to set up the automatically configured compile pipeline
PipelineFiles map[string]string `json:"pipelineFiles,omitempty"`
}
func (*CompilePipelineSpec) DeepCopy ¶ added in v1.11.0
func (in *CompilePipelineSpec) DeepCopy() *CompilePipelineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompilePipelineSpec.
func (*CompilePipelineSpec) DeepCopyInto ¶ added in v1.11.0
func (in *CompilePipelineSpec) DeepCopyInto(out *CompilePipelineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompilePipelineStatus ¶ added in v1.11.0
type CompilePipelineStatus struct {
// Clusters contains the list of all clusters for which the automatically configured compile pipeline is enabled
Clusters []string `json:"clusters,omitempty"`
}
func (*CompilePipelineStatus) DeepCopy ¶ added in v1.11.0
func (in *CompilePipelineStatus) DeepCopy() *CompilePipelineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompilePipelineStatus.
func (*CompilePipelineStatus) DeepCopyInto ¶ added in v1.11.0
func (in *CompilePipelineStatus) DeepCopyInto(out *CompilePipelineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CreationPolicy ¶ added in v1.5.0
type CreationPolicy string
CreationPolicy defines the type creation policy
type DeployKey ¶
type DeployKey struct {
// Type defines what type the key is (rsa, ed25519, etc...)
Type string `json:"type,omitempty"`
// Key is the actual key
Key string `json:"key,omitempty"`
// WriteAccess if the key has RW access or not
WriteAccess bool `json:"writeAccess,omitempty"`
}
DeployKey defines an SSH key to be used for git operations.
func (*DeployKey) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployKey.
func (*DeployKey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVar ¶ added in v1.10.0
type EnvVar struct {
// Name of the environment variable
// +required
Name string `json:"name"`
// Value of the environment variable
// +optional
Value string `json:"value,omitempty"`
// ValueFrom is a reference to an object that contains the value of the environment variable
// +optional
ValueFrom *EnvVarSource `json:"valueFrom,omitempty"`
// GitlabOptions contains additional options for GitLab CI variables
// +optional
GitlabOptions EnvVarGitlabOptions `json:"gitlabOptions,omitempty"`
}
EnvVar represents an environment added to the CI system of the Git repository.
func (*EnvVar) DeepCopy ¶ added in v1.10.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar.
func (*EnvVar) DeepCopyInto ¶ added in v1.10.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVarGitlabOptions ¶ added in v1.10.0
type EnvVarGitlabOptions struct {
// Description is a description of the CI variable.
// +optional
Description string `json:"description,omitempty"`
// Protected will expose the variable only in protected branches and tags.
// +optional
Protected bool `json:"protected,omitempty"`
// Masked will mask the variable in the job logs.
// +optional
Masked bool `json:"masked,omitempty"`
// Raw will prevent the variable from being expanded.
// +optional
Raw bool `json:"raw,omitempty"`
}
func (*EnvVarGitlabOptions) DeepCopy ¶ added in v1.10.0
func (in *EnvVarGitlabOptions) DeepCopy() *EnvVarGitlabOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVarGitlabOptions.
func (*EnvVarGitlabOptions) DeepCopyInto ¶ added in v1.10.0
func (in *EnvVarGitlabOptions) DeepCopyInto(out *EnvVarGitlabOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVarSource ¶ added in v1.10.0
type EnvVarSource struct {
// Selects a key of a secret in the pod's namespace
// +optional
SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}
EnvVarSource represents a source for the value of an EnvVar.
func (*EnvVarSource) DeepCopy ¶ added in v1.10.0
func (in *EnvVarSource) DeepCopy() *EnvVarSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVarSource.
func (*EnvVarSource) DeepCopyInto ¶ added in v1.10.0
func (in *EnvVarSource) DeepCopyInto(out *EnvVarSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Facts ¶
Facts is a map of arbitrary facts for the cluster
func (Facts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Facts.
func (Facts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitRepo ¶
type GitRepo struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GitRepoSpec `json:"spec,omitempty"`
Status GitRepoStatus `json:"status,omitempty"`
}
GitRepo is the Schema for the gitrepos API +kubebuilder:subresource:status +kubebuilder:resource:path=gitrepos,scope=Namespaced +kubebuilder:printcolumn:name="Display Name",type="string",JSONPath=".spec.displayName" +kubebuilder:printcolumn:name="Repo Name",type="string",JSONPath=".spec.repoName" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*GitRepo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepo.
func (*GitRepo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitRepo) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GitRepo) GetCreationPolicy ¶ added in v1.5.0
func (g *GitRepo) GetCreationPolicy() CreationPolicy
GetCreationPolicy returns the object's creation policy
func (*GitRepo) GetDeletionPolicy ¶
func (g *GitRepo) GetDeletionPolicy() DeletionPolicy
GetDeletionPolicy returns the object's deletion policy
func (*GitRepo) GetDisplayName ¶
GetDisplayName returns the display name of the object
func (*GitRepo) GetGitTemplate ¶
func (g *GitRepo) GetGitTemplate() *GitRepoTemplate
GetGitTemplate returns the git repository template
func (*GitRepo) GetMeta ¶
func (g *GitRepo) GetMeta() metav1.ObjectMeta
func (*GitRepo) GetTenantRef ¶
func (g *GitRepo) GetTenantRef() corev1.LocalObjectReference
GetTenantRef returns the tenant of this CR
func (*GitRepo) SetGitRepoURLAndHostKeys ¶
SetGitRepoURLAndHostKeys is currenlty a noop for gitrepo
type GitRepoList ¶
type GitRepoList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GitRepo `json:"items"`
}
GitRepoList contains a list of GitRepo
func (*GitRepoList) DeepCopy ¶
func (in *GitRepoList) DeepCopy() *GitRepoList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepoList.
func (*GitRepoList) DeepCopyInto ¶
func (in *GitRepoList) DeepCopyInto(out *GitRepoList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitRepoList) DeepCopyObject ¶
func (in *GitRepoList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitRepoSpec ¶
type GitRepoSpec struct {
GitRepoTemplate `json:",inline"`
// TenantRef references the tenant this repo belongs to
TenantRef corev1.LocalObjectReference `json:"tenantRef,omitempty"`
}
GitRepoSpec defines the desired state of GitRepo
func (*GitRepoSpec) DeepCopy ¶
func (in *GitRepoSpec) DeepCopy() *GitRepoSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepoSpec.
func (*GitRepoSpec) DeepCopyInto ¶
func (in *GitRepoSpec) DeepCopyInto(out *GitRepoSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitRepoStatus ¶
type GitRepoStatus struct {
// Updated by Operator with current phase. The GitPhase enum will be used for application logic
// as using it directly would only print an integer.
Phase *GitPhase `json:"phase,omitempty"`
// Type autodiscovered Git repo type. Same behaviour for the enum as with the Phase.
Type GitType `json:"type,omitempty"`
// URL computed Git repository URL
URL string `json:"url,omitempty"`
// SSH HostKeys of the git server
HostKeys string `json:"hostKeys,omitempty"`
// LastAppliedCIVariables contains the last applied CI variables as a json string
LastAppliedCIVariables string `json:"lastAppliedCIVariables,omitempty"`
}
GitRepoStatus defines the observed state of GitRepo
func (*GitRepoStatus) DeepCopy ¶
func (in *GitRepoStatus) DeepCopy() *GitRepoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepoStatus.
func (*GitRepoStatus) DeepCopyInto ¶
func (in *GitRepoStatus) DeepCopyInto(out *GitRepoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitRepoTemplate ¶
type GitRepoTemplate struct {
// APISecretRef reference to secret containing connection information
APISecretRef corev1.SecretReference `json:"apiSecretRef,omitempty"`
// DeployKeys optional list of SSH deploy keys. If not set, not deploy keys will be configured
DeployKeys map[string]DeployKey `json:"deployKeys,omitempty"`
// Path to Git repository
Path string `json:"path,omitempty"`
// RepoName name of Git repository
RepoName string `json:"repoName,omitempty"`
// RepoType specifies if a repo should be managed by the git controller. A value of 'unmanaged' means it's not manged by the controller
// +kubebuilder:validation:Enum=auto;unmanaged
RepoType RepoType `json:"repoType,omitempty"`
// DisplayName of Git repository
DisplayName string `json:"displayName,omitempty"`
// TemplateFiles is a list of files that should be pushed to the repository
// after its creation.
TemplateFiles map[string]string `json:"templateFiles,omitempty"`
// DeletionPolicy defines how the external resources should be treated upon CR deletion.
// Retain: will not delete any external resources
// Delete: will delete the external resources
// Archive: will archive the external resources, if it supports that
// +kubebuilder:validation:Enum=Delete;Retain;Archive
DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"`
// CreationPolicy defines how the external resources should be treated upon CR creation.
// Create: will only create a new external resource and will not manage already existing resources
// Adopt: will create a new external resource or will adopt and manage an already existing resource
// +kubebuilder:validation:Enum=Create;Adopt
CreationPolicy CreationPolicy `json:"creationPolicy,omitempty"`
// AccessToken contains configuration for storing an access token in a secret.
// If set, the Lieutenant operator will store an access token into this secret, which can be used to access the Git repository.
// The token is stored under the key "token".
// In the case of GitLab, this would be a Project Access Token with read-write access to the repository.
AccessToken AccessToken `json:"accessToken,omitempty"`
// CIVariables is a list of key-value pairs that will be set as CI variables in the Git repository.
//
// The variables are not expanded like PodSpec environment variables.
CIVariables []EnvVar `json:"ciVariables,omitempty"`
}
GitRepoTemplate is used for templating git repos, it does not contain the tenantRef as it will be added by the controller creating the template instance.
func (*GitRepoTemplate) DeepCopy ¶
func (in *GitRepoTemplate) DeepCopy() *GitRepoTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepoTemplate.
func (*GitRepoTemplate) DeepCopyInto ¶
func (in *GitRepoTemplate) DeepCopyInto(out *GitRepoTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tenant ¶
type Tenant struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TenantSpec `json:"spec,omitempty"`
Status TenantStatus `json:"status,omitempty"`
}
Tenant is the Schema for the tenants API +kubebuilder:subresource:status +kubebuilder:resource:path=tenants,scope=Namespaced +kubebuilder:printcolumn:name="Display Name",type="string",JSONPath=".spec.displayName" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*Tenant) ApplyTemplate ¶
func (t *Tenant) ApplyTemplate(template *TenantTemplate) error
ApplyTemplate recursively merges in the values of the given template. The values of the tenant takes precedence.
func (*Tenant) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tenant.
func (*Tenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tenant) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Tenant) GetCompilePipelineSpec ¶ added in v1.11.0
func (t *Tenant) GetCompilePipelineSpec() *CompilePipelineSpec
GetCompilePipelineSpec returns the compile pipeline spec
func (*Tenant) GetCompilePipelineStatus ¶ added in v1.11.0
func (t *Tenant) GetCompilePipelineStatus() *CompilePipelineStatus
GetCompilePipelineStatus returns the compile pipeline status
func (*Tenant) GetCreationPolicy ¶ added in v1.5.0
func (t *Tenant) GetCreationPolicy() CreationPolicy
GetCreationPolicy returns the object's creation policy
func (*Tenant) GetDeletionPolicy ¶
func (t *Tenant) GetDeletionPolicy() DeletionPolicy
GetDeletionPolicy returns the object's deletion policy
func (*Tenant) GetDisplayName ¶
GetDisplayName returns the display name of the object
func (*Tenant) GetGitTemplate ¶
func (t *Tenant) GetGitTemplate() *GitRepoTemplate
GetGitTemplate returns the git repository template
func (*Tenant) GetMeta ¶
func (t *Tenant) GetMeta() metav1.ObjectMeta
func (*Tenant) GetTenantRef ¶
func (t *Tenant) GetTenantRef() corev1.LocalObjectReference
GetTenantRef returns the tenant of this CR
func (*Tenant) SetGitRepoURLAndHostKeys ¶
SetGitRepoURLAndHostKeys will only set the URL for the tenant
type TenantList ¶
type TenantList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Tenant `json:"items"`
}
TenantList contains a list of Tenant
func (*TenantList) DeepCopy ¶
func (in *TenantList) DeepCopy() *TenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantList.
func (*TenantList) DeepCopyInto ¶
func (in *TenantList) DeepCopyInto(out *TenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantList) DeepCopyObject ¶
func (in *TenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantSpec ¶
type TenantSpec struct {
// DisplayName is the display name of the tenant.
DisplayName string `json:"displayName,omitempty"`
// GitRepoURL git repository storing the tenant configuration. If this is set, no gitRepoTemplate is needed.
GitRepoURL string `json:"gitRepoURL,omitempty"`
// GitRepoRevision allows to configure the revision of the tenant configuration to use. It can be any git tree-ish reference. Defaults to HEAD if left empty.
GitRepoRevision string `json:"gitRepoRevision,omitempty"`
// GlobalGitRepoURL git repository storing the global configuration.
GlobalGitRepoURL string `json:"globalGitRepoURL,omitempty"`
// GlobalGitRepoRevision allows to configure the revision of the global configuration to use. It can be any git tree-ish reference. Defaults to HEAD if left empty.
GlobalGitRepoRevision string `json:"globalGitRepoRevision,omitempty"`
// GitRepoTemplate Template for managing the GitRepo object. If not set, no GitRepo object will be created.
GitRepoTemplate *GitRepoTemplate `json:"gitRepoTemplate,omitempty"`
// DeletionPolicy defines how the external resources should be treated upon CR deletion.
// Retain: will not delete any external resources
// Delete: will delete the external resources
// Archive: will archive the external resources, if it supports that
// +kubebuilder:validation:Enum=Delete;Retain;Archive
DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"`
// CreationPolicy defines how the external resources should be treated upon CR creation.
// Create: will only create a new external resource and will not manage already existing resources
// Adopt: will create a new external resource or will adopt and manage an already existing resource
// +kubebuilder:validation:Enum=Create;Adopt
CreationPolicy CreationPolicy `json:"creationPolicy,omitempty"`
// ClusterTemplate defines a template which will be used to set defaults for the clusters of this tenant.
// The fields within this can use Go templating.
// See https://syn.tools/lieutenant-operator/explanations/templating.html for details.
ClusterTemplate *ClusterSpec `json:"clusterTemplate,omitempty"`
// CompilePipeline contains the configuration for the automatically configured compile pipelines on this tenant
CompilePipeline *CompilePipelineSpec `json:"compilePipeline,omitempty"`
}
TenantSpec defines the desired state of Tenant
func (*TenantSpec) DeepCopy ¶
func (in *TenantSpec) DeepCopy() *TenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSpec.
func (*TenantSpec) DeepCopyInto ¶
func (in *TenantSpec) DeepCopyInto(out *TenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantStatus ¶
type TenantStatus struct {
// CompilePipeline contains the status of the automatically configured compile pipelines on this tenant
CompilePipeline *CompilePipelineStatus `json:"compilePipeline,omitempty"`
}
TenantStatus defines the observed state of Tenant
func (*TenantStatus) DeepCopy ¶
func (in *TenantStatus) DeepCopy() *TenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantStatus.
func (*TenantStatus) DeepCopyInto ¶
func (in *TenantStatus) DeepCopyInto(out *TenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantTemplate ¶
type TenantTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TenantSpec `json:"spec,omitempty"`
}
TenantTemplate is the Schema for the tenant templates API +kubebuilder:subresource:status +kubebuilder:resource:path=tenanttemplates,scope=Namespaced +kubebuilder:printcolumn:name="Display Name",type="string",JSONPath=".spec.displayName" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*TenantTemplate) DeepCopy ¶
func (in *TenantTemplate) DeepCopy() *TenantTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantTemplate.
func (*TenantTemplate) DeepCopyInto ¶
func (in *TenantTemplate) DeepCopyInto(out *TenantTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantTemplate) DeepCopyObject ¶
func (in *TenantTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantTemplateList ¶
type TenantTemplateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TenantTemplate `json:"items"`
}
TenantTemplateList contains a list of TenantTemplate
func (*TenantTemplateList) DeepCopy ¶
func (in *TenantTemplateList) DeepCopy() *TenantTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantTemplateList.
func (*TenantTemplateList) DeepCopyInto ¶
func (in *TenantTemplateList) DeepCopyInto(out *TenantTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantTemplateList) DeepCopyObject ¶
func (in *TenantTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.