Skip to content
On this page

API Reference

This page includes the full API documentation of the Kuberik project.


Kuberik Core

Core resource controllers enable deploying Kustomize layers from git in the simplest ways possible.

Resource Types:

Live

Live is deploying a single Kustomize layer from a commit in a git repository.

WARNING

It is recommended that users create Lives only through a Controller, and not directly. See Controllers: LiveDeployment, LiveDeploymentGroup.

FieldDescription
apiVersion
string
kuberik.io/v1alpha1
kind
string
Live
metadata
ObjectMeta
No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
LiveSpec
Specification of the desired behavior of the Live. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status
LiveStatus
Most recently observed status of the Live. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

LiveDeployment

LiveDeployment is continously deploying a single Kustomize layer from a branch every time the tip of the branch updates.

FieldDescription
apiVersion
string
kuberik.io/v1alpha1
kind
string
LiveDeployment
metadata
ObjectMeta
No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
LiveDeploymentSpec
Specification of the desired behavior of the LiveDeployment. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status
LiveDeploymentStatus
Most recently observed status of the LiveDeployment. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

LiveDeploymentGroup

LiveDeploymentGroup is deploying multiple Kustomize layers, each from the same path but from a different branch of a git repository.

Example
yaml
<!-- @include: ../../../manifests/ci/all-branches/ci.yaml -->
FieldDescription
apiVersion
string
kuberik.io/v1alpha1
kind
string
LiveDeploymentGroup
metadata
ObjectMeta
No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
LiveDeploymentGroupSpec
Specification of the desired behavior of the LiveDeploymentGroup. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status
LiveDeploymentGroupStatus
Most recently observed status of the LiveDeploymentGroup. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

Definitions

This section contains definitions for objects used in the Kuberik Core API.

LiveDeploymentGroupSpec

LiveDeploymentGroupSpec defines the desired state of LiveDeploymentGroup

FieldDescription
branchMatch
string
Regex pattern used to match branches that will be deployed
template
LiveTemplate
Template of the created Live resources that will be used to deploy latest commit from each matching branch.
pollIntervalSeconds
int32
The duration in seconds between each fetching of the git repository.

LiveDeploymentGroupStatus

LiveDeploymentGroupStatus defines the observed state of LiveDeploymentGroup

LiveDeploymentSpec

Appears in:

LiveDeploymentSpec defines the desired state of LiveDeployment

FieldDescription
branch
string
Branch of the git repository specified in the Live template that will be continuously deployed.
template
LiveTemplate
Template of the created Live resource that will be used to deploy latest commit from the specified branch.
pollIntervalSeconds
int32
The duration of seconds between each fetching of the git repository.

LiveDeploymentStatus

Appears in:

LiveDeploymentStatus defines the observed state of LiveDeployment

LiveSpec

Appears in:

LiveSpec defines the desired state of Live

FieldDescription
path
string
Relative path of the kustomize layer within the specified git repository which will be applied to the cluster.
commit
string
Commit of the git repository that will be checked out to deploy kustomize layer from.
repository
Repository
Git repository containing the kustomize layer that needs to be deployed
interruptible
bool
Interruptible defines if the Live can be updated while it is already actively reconciling
transformers
string
Transformers define kustomize transformer layer which will be used to transform the specified kustomize layer. The path specified needs to be relative path in the git repository. Live object will be included in the Kustomize layers with annotation config.kubernetes.io/local-config=true so that the transformers (most notably builtin ReplacementTransformer) can use the information from the Live objects (such as git commit hash).
serviceAccountName
string
Name of the ServiceAccount to use for deploying the resources.

LiveStatus

Appears in:

LiveStatus defines the observed state of Live

FieldDescription
conditions
[]Condition
Conditions is a list of conditions on the Live resource
retries
int
Number of consecutive apply attempts that resulted in a failure

LiveTemplate

LiveTemplate describes a Live that will be created

FieldDescription
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataRefer to the Kubernetes API documentation for the fields of the metadata field.
spec
LiveSpec
Specification of the desired behavior of the Live. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

Repository

Appears in:

Repository specifies details of a git repository

FieldDescription
url
string
URL of the git repository
auth
RepositoryAuth
Authentication configuration for the git repository

RepositoryAuth

Appears in:

RepositoryAuth defines authentication configuration for a git repository

FieldDescription
secretRef
LocalObjectReference
SecretRef is a reference to a secret containing the credentials for a git repository. Secret needs to contain the field token containing a GitHub or GitLab token which has the permissions to read the repository.

Released under the Apache-2.0 License.