Type object
File match **/environment-definition.json **/environment-definition.yaml **/environment-definition.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/cdk-environment-manager-environment-definition/latest.json
Source https://www.schemastore.org/ti8m-cdk-environment-definition.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Definition of an application environment

Properties

app string required

the name of the application-(component) defined by this environment

config-set Record<string, object>

configuration sets, which can be referenced from the service definitions

services object[]

list of services which are part of this environment

Definitions

serviceConfiguration object
environment object

List of environment variables set in the Container/Pod

entrypoint string

The entrypoint that is used to start the image (Only works with docker-compose and OpenShift

additionalLabels object
2 nested properties
deployment object

List of labels

service object

List of labels

liveness object
One of: object object, object object, object object
4 nested properties
initialDelay number

(optional) the initial delay to wait before starting to probe in seconds

timeout number

(optional) the time in seconds to wait for an http response for each call to the probe endpoint

failureThreshold integer

(optional) the number of times the probe is allowed to fail the health check before performing its duty (e.g., recreating a pod or marking a pod as unavailable)

min=1
successThreshold integer

(optional) the number of times the probe has to pass the health check before performing its duty (e.g., marking a pod as available)

min=1
startup object
One of: object object, object object, object object
4 nested properties
initialDelay number

(optional) the initial delay to wait before starting to probe in seconds

timeout number

(optional) the time in seconds to wait for an http response for each call to the probe endpoint

failureThreshold integer

(optional) the number of times the probe is allowed to fail the health check before performing its duty (e.g., recreating a pod or marking a pod as unavailable)

min=1
successThreshold integer

(optional) the number of times the probe has to pass the health check before performing its duty (e.g., marking a pod as available)

min=1
readiness object
One of: object object, object object, object object
4 nested properties
initialDelay number

(optional) the initial delay to wait before starting to probe in seconds

timeout number

(optional) the time in seconds to wait for an http response for each call to the probe endpoint

failureThreshold integer

(optional) the number of times the probe is allowed to fail the health check before performing its duty (e.g., recreating a pod or marking a pod as unavailable)

min=1
successThreshold integer

(optional) the number of times the probe has to pass the health check before performing its duty (e.g., marking a pod as available)

min=1
deploymentStrategy object

How to roll out changed versions of the service (Recreate or Rolling)

2 nested properties
type enum
Default: "Recreate"
Values: "Rolling" "Recreate"
params object
5 nested properties
updatePeriodSeconds number

Number of seconds to wait between pod updates

intervalSeconds number

Number of seconds to wait between evaluations of the deployment status

timeoutSeconds number | templateParameterReference

Time to wait for a successful scale-up before rolling back to the previous deployment

maxSurge number | templateParameterReference

Maximum temporary excess number of pods above the desired number of replicas

maxUnavailable number | templateParameterReference

Maximum temporarily lacking pods compared to the desired number of replicas

needsDbSchema boolean

true, if this service needs a database schema to persist information.

pull-policy string

Image pull policy for openshift. Default: IfNotPresent

Values: "IfNotPresent" "Always"
service-account string

The service account to use for Openshift.

service-account-name string

The name of the service account to use for Openshift.

host-aliases object[]
replicas number | string | templateParameterReference

Number of desired instances.

resources object
2 nested properties
limits object
2 nested properties
cpu templateParameterReference | string required

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

memory string | templateParameterReference required

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

requests object
2 nested properties
cpu templateParameterReference | string required

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

memory string | templateParameterReference required

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

deploymentResources object
2 nested properties
limits object
2 nested properties
cpu templateParameterReference | string required

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

memory string | templateParameterReference required

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

requests object
2 nested properties
cpu templateParameterReference | string required

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

memory string | templateParameterReference required

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

nodeSelector object
2 nested properties
key string

nodeSelector key

value string

nodeSelector value

tolerations toleration[]

Tolerations section for Openshift

podAntiAffinity object
4 nested properties
key string

podAntiAffinity key

operator string

podAntiAffinity operator

values string[]

podAntiAffinity values

topologyKey string

podAntiAffinity topologyKey

port-override number | object[]
nlb boolean

marks this service as 'network load-balanced'. On AWS this is a simple alternative to setting up a router and ingresses, which is the preferred method.

config-files object[]

list of configuration files to be mapped into the service-container

secret-files object[]

list of secret files to be mounted in the service-container

volumes array | object
customData object

Custom data object which will be passed as is into the render context

expose exposure | exposure[]
template-parameters templateParameter[]
external-port number
external-ip string
disableAutomountServiceAccountToken boolean

(K8s/OpenShift only) Indicates whether a service account token should be mounted

disableServiceLinks boolean

(K8s/OpenShift only) Indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links

revisionHistoryLimit number

(K8s/OpenShift only) The number of old ReplicationControllers to retain to allow for rollbacks

probe object
initialDelay number

(optional) the initial delay to wait before starting to probe in seconds

timeout number

(optional) the time in seconds to wait for an http response for each call to the probe endpoint

failureThreshold integer

(optional) the number of times the probe is allowed to fail the health check before performing its duty (e.g., recreating a pod or marking a pod as unavailable)

min=1
successThreshold integer

(optional) the number of times the probe has to pass the health check before performing its duty (e.g., marking a pod as available)

min=1
resourceSpec object
limits object
2 nested properties
cpu templateParameterReference | string required

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

memory string | templateParameterReference required

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

requests object
2 nested properties
cpu templateParameterReference | string required

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

memory string | templateParameterReference required

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

nodeSelector object
key string

nodeSelector key

value string

nodeSelector value

podAntiAffinity object
key string

podAntiAffinity key

operator string

podAntiAffinity operator

values string[]

podAntiAffinity values

topologyKey string

podAntiAffinity topologyKey

toleration object
key string

Toleration key. The key is any string, up to 253 characters. The key must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores.

operator string

Toleration operator. The operator is one of the following: Equal or Exists

value string

Toleration value. The value is any string, up to 63 characters. The value must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores.

effect string

Toleration effect. The effect is one of the following: NoSchedule, PreferNoSchedule or NoExecute

resources object
cpu templateParameterReference | string required

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

memory string | templateParameterReference required

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

config-files object[]

list of configuration files to be mapped into the service-container

secret-files object[]

list of secret files to be mounted in the service-container

volumes object[]

list of volumes needed by this service, may result in persistent volume-claims or transient volumes

labels object

List of labels

host-aliases object[]
port-override number | object[]
expose exposure | exposure[]
exposure object

defines, which endpoints, if any, to expose to the outside of the cluster

path string[] required

list of paths (path-beginnings) to be routed to this service

hostname string

The host to be used for this exposure, the global cluster host is the default.

port integer

the internal port of the service that exposes the path

tls-termination string

TLS termination on OpenShift

Values: "edge" "passthrough" "reencrypt"
templateParameterReference string
templateParameter object
name string required
value string required
description string required