Environment#
apiVersion: tronador.stakater.com/v1alpha2
kind: Environment
metadata:
name: pr-123-stakater-nordmart-inventory
spec:
application:
gitRepository:
gitImplementation: go-git
interval: 1m0s
ref:
branch: master
timeout: 20s
url: 'https://github.com/stakater-lab/stakater-nordmart-inventory'
release:
chart:
spec:
chart: deploy/
reconcileStrategy: ChartVersion
sourceRef:
kind: GitRepository
name: dte-master
version: '*'
interval: 1m0s
releaseName: master
valuesFrom:
- configMapKeyRef:
name: default-values
namespace: my-ns
key: values.yaml
optional: false
- secretKeyRef:
name: default-values
namespace: my-ns
key: values.yaml
optional: true
values:
application:
deployment:
image:
tag: native
namespaceLabels:
label: value
stakater.com/tenant: alpha
owner: stakater
application
#
Values inside the application section are used to create the HelmRelease and GitRepository CRs that manage deployment of the application into the cluster.
gitRepository
#
Contains the needed details to create a GitRepository object in the cluster. All the fields present inside the official GitRepository spec can be used here as well. The important fields are:
- interval: Interval at which the HelmRelease object will reconcile.
- ref: Reference to the branch, tag, semver or commit to clone
- timeout: Optional field to specify a timeout for Git operations like cloning.
- URL: Required field that specifies the HTTP/S or SSH address of the Git repository.
- secretRef: This field will be filled by Tronador using the TronadorConfig CR.
secretRef
is used to specify a name reference to a Secret in the same namespace as the GitRepository, containing authentication credentials for the Git repository.
release
#
Contains the needed details to create a HelmRelease object in the cluster. All the fields present inside the official HelmRelease spec can be used here as well. The important fields are:
chart
: Spec for the HelmChart object that will be created by the HelmRelease.chart.spec.chart
(relative path to chart in repo) andchart.spec.sourceRef
(reference to the GitRepository object created by Tronador) are the important fields within this.interval
: Interval at which the HelmRelease object will reconcile.releaseName
: The name of the Helm release that will be deployed.valuesFrom
: holds references to resources containing Helm values for this HelmRelease, and information about how they should be merged. For more details, see the Official HelmRelease docs.values
: The values that to override within the Helm release. These need to be updated whenever a new image is created for testing. Using thecreate-environment
cluster task is recommended for this.
namespaceLabels
#
Optional field that contains a map of all labels needed to be placed inside the namespace provisioned by the Environment
. If they are removed from here, they will be removed from the namespace as well. Labels in the namespace that were never in this field will not be affected. A potential use case of this field is to allow compatibility with Multi Tenant Operator.