API Reference

This is a generated API documentation.

A more sophisticated documentation is available under doc.crds.dev/github.com/projectsyn/lieutenant-operator.

syn.tools/v1alpha1

AccessToken

Field Description

secretRef string

SecretRef references the secret the access token is stored in

BootstrapToken

BootstrapToken this key is used only once for Steward to register.

Appears In:
Field Description

token string

Token is the actual token to register the cluster

validUntil Time

ValidUntil timespan how long the token is valid. If the token is used after this timestamp it will be rejected.

tokenValid boolean

TokenValid indicates if the token is still valid or was already used.

Cluster

Cluster is the Schema for the clusters API

Appears In:
Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ClusterSpec

ClusterSpec defines the desired state of Cluster

Appears In:
Field Description

displayName string

DisplayName of cluster which could be different from metadata.name. Allows cluster renaming should it be needed.

gitRepoURL string

GitRepoURL git repository storing the cluster configuration catalog. If this is set, no gitRepoTemplate is needed.

gitHostKeys string

SSH GitHostKeys of the git server

gitRepoTemplate GitRepoTemplate

GitRepoTemplate template for managing the GitRepo object.

TenantRef reference to Tenant object the cluster belongs to.

tenantGitRepoRevision string

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.

globalGitRepoRevision string

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.

tokenLifeTime string

TokenLifetime set the token lifetime

facts Facts

Facts are key/value pairs for statically configured facts

deletionPolicy DeletionPolicy

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

creationPolicy CreationPolicy

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

enableCompilePipeline boolean

EnableCompilePipeline determines whether the gitops compile pipeline should be set up for this cluster

CompileMeta

CompileMeta contains information about the last compilation with Commodore.

Appears In:
Field Description

lastCompile Time

LastCompile is the time of the last successful compilation.

commodoreBuildInfo object (keys:string, values:string)

CommodoreBuildInfo is the freeform build information reported by the Commodore binary used for the last compilation.

Global contains the information of the global configuration used for the last compilation.

Tenant contains the information of the tenant configuration used for the last compilation.

packages object (keys:string, values:CompileMetaVersionInfo)

Packages contains the information of the packages used for the last compilation.

instances object (keys:string, values:CompileMetaInstanceVersionInfo)

Instances contains the information of the component instances used for the last compilation. The key is the name of the component instance.

CompileMetaInstanceVersionInfo

CompileMetaInstanceVersionInfo contains information about the version of a component instance.

Appears In:
Field Description

url string

URL is the URL of the git repository.

gitSha string

GitSHA is the git commit SHA of the used commit.

version string

Version is the version of the configuration. Can point to a tag, branch or any other git reference.

path string

Path is the path inside the git repository where the configuration is stored.

component string

Component is the name of a component instance.

CompileMetaVersionInfo

CompileMetaVersionInfo contains information about the version of a configuration repo or a package.

Field Description

url string

URL is the URL of the git repository.

gitSha string

GitSHA is the git commit SHA of the used commit.

version string

Version is the version of the configuration. Can point to a tag, branch or any other git reference.

path string

Path is the path inside the git repository where the configuration is stored.

CompilePipelineSpec

Appears In:
Field Description

enabled boolean

Enabled enables or disables the compile pipeline for this tenant

pipelineFiles object (keys:string, values:string)

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

CompilePipelineStatus

Appears In:
Field Description

clusters string array

Clusters contains the list of all clusters for which the automatically configured compile pipeline is enabled

CreationPolicy (string)

CreationPolicy defines the type creation policy

DeletionPolicy (string)

DeletionPolicy defines the type deletion policy

DeployKey

DeployKey defines an SSH key to be used for git operations.

Field Description

type string

Type defines what type the key is (rsa, ed25519, etc…​)

key string

Key is the actual key

writeAccess boolean

WriteAccess if the key has RW access or not

EnvVar

EnvVar represents an environment added to the CI system of the Git repository.

Field Description

name string

Name of the environment variable

value string

Value of the environment variable

valueFrom EnvVarSource

ValueFrom is a reference to an object that contains the value of the environment variable

gitlabOptions EnvVarGitlabOptions

GitlabOptions contains additional options for GitLab CI variables

EnvVarGitlabOptions

Appears In:
Field Description

description string

Description is a description of the CI variable.

protected boolean

Protected will expose the variable only in protected branches and tags.

masked boolean

Masked will mask the variable in the job logs.

raw boolean

Raw will prevent the variable from being expanded.

EnvVarSource

EnvVarSource represents a source for the value of an EnvVar.

Appears In:
Field Description

secretKeyRef SecretKeySelector

Selects a key of a secret in the pod’s namespace

Facts (object)

Facts is a map of arbitrary facts for the cluster

GitPhase (string)

GitPhase is the enum for the git phase status

Appears In:

GitRepo

GitRepo is the Schema for the gitrepos API

Appears In:
Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

GitRepoSpec

GitRepoSpec defines the desired state of GitRepo

Appears In:
Field Description

apiSecretRef SecretReference

APISecretRef reference to secret containing connection information

deployKeys object (keys:string, values:DeployKey)

DeployKeys optional list of SSH deploy keys. If not set, not deploy keys will be configured

path string

Path to Git repository

repoName string

RepoName name of Git repository

repoType RepoType

RepoType specifies if a repo should be managed by the git controller. A value of 'unmanaged' means it’s not manged by the controller

displayName string

DisplayName of Git repository

templateFiles object (keys:string, values:string)

TemplateFiles is a list of files that should be pushed to the repository after its creation.

deletionPolicy DeletionPolicy

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

creationPolicy CreationPolicy

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

accessToken AccessToken

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.

ciVariables EnvVar array

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.

TenantRef references the tenant this repo belongs to

GitRepoTemplate

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.

Field Description

apiSecretRef SecretReference

APISecretRef reference to secret containing connection information

deployKeys object (keys:string, values:DeployKey)

DeployKeys optional list of SSH deploy keys. If not set, not deploy keys will be configured

path string

Path to Git repository

repoName string

RepoName name of Git repository

repoType RepoType

RepoType specifies if a repo should be managed by the git controller. A value of 'unmanaged' means it’s not manged by the controller

displayName string

DisplayName of Git repository

templateFiles object (keys:string, values:string)

TemplateFiles is a list of files that should be pushed to the repository after its creation.

deletionPolicy DeletionPolicy

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

creationPolicy CreationPolicy

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

accessToken AccessToken

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.

ciVariables EnvVar array

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.

GitType (string)

GitType as the enum for git types

Appears In:

RepoType (string)

RepoType specifies the type of the repo

Tenant

Tenant is the Schema for the tenants API

Appears In:
Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec TenantSpec

TenantSpec

TenantSpec defines the desired state of Tenant

Appears In:
Field Description

displayName string

DisplayName is the display name of the tenant.

gitRepoURL string

GitRepoURL git repository storing the tenant configuration. If this is set, no gitRepoTemplate is needed.

gitRepoRevision string

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.

globalGitRepoURL string

GlobalGitRepoURL git repository storing the global configuration.

globalGitRepoRevision string

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.

gitRepoTemplate GitRepoTemplate

GitRepoTemplate Template for managing the GitRepo object. If not set, no GitRepo object will be created.

deletionPolicy DeletionPolicy

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

creationPolicy CreationPolicy

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

clusterTemplate ClusterSpec

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 syn.tools/lieutenant-operator/explanations/templating.html for details.

compilePipeline CompilePipelineSpec

CompilePipeline contains the configuration for the automatically configured compile pipelines on this tenant

TenantTemplate

TenantTemplate is the Schema for the tenant templates API

Appears In:
Field Description

apiVersion string

syn.tools/v1alpha1

kind string

TenantTemplate

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec TenantSpec

TenantTemplateList

TenantTemplateList contains a list of TenantTemplate

Field Description

apiVersion string

syn.tools/v1alpha1

kind string

TenantTemplateList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items TenantTemplate array