Cloud material download
Docker images
Starting from Step 25, Step docker images (Controller and Agents) will be stored under the “docker” folder of each releases, on the FTP server.
Images are stored using the Docker “save” method, so you will have to use the Docker “load” command to add them to your Docker repository.
For example :
docker load -i PATH_TO_YOUR_IMAGE
Please consider the official Docker documentation available at https://docs.docker.com/reference/cli/docker/image/load/.
Helm Chart
Helm Charts can be downloaded from the “step-chart” folder present on Exense FTPs.
Values that could be used are listed below:
Image parameters
Name | Description | Value |
---|---|---|
image.repository |
Mongodb, Controller and Agent images repository base name | "" |
image.pullPolicy |
Mongodb, Controller and Agent images pull policy | Always |
imagePullSecrets |
Registry secret names as an array | [] |
Commons parameters
Name | Description | Value |
---|---|---|
commons.version |
Step version to use | 3.22.2 |
commons.edition |
Step edtion to use (os or ee) | ee |
commons.nodeSelector |
Node label for Mongodb, Controller and Agent pod assignement | {} |
Mongodb parameters. Subject to changes in a near future.
Name | Description | Value |
---|---|---|
mongodb.enabled |
Use MongoDB as database for Step | true |
mongodb.version |
MongoDB version to use | 4.2.1 |
mongodb.annotations |
Additional labels to be added to the MongoDB statefulset | {} |
mongodb.config.port |
MongoDB container port | 27017 |
mongodb.nodeSelector |
Node label for Mongodb pod assignment | {} |
mongodb.resources.requests |
The requested resources for MongoDB container | {} |
mongodb.resources.limits |
The resources limits for MongoDB container | {} |
mongodb.persistence.enabled |
Persist MongoDB data on PVCs or not | true |
mongodb.persistence.pvc.data.mountPath |
Pod path where MongoDB data are stored | /data/db |
mongodb.persistence.pvc.data.size |
PVC storage request for MongoDB data volume | 30Gi |
mongodb.persistence.pvc.data.storageClass.name |
PVC Storage Class for Mongodb data volume | default |
mongodb.persistence.pvc.config.mountPath |
Pod path where MongoDB config is stored | /data/configdb |
mongodb.persistence.pvc.config.size |
PVC storage request for MongoDB config volume | 1Gi |
mongodb.persistence.pvc.config.storageClass.name |
PVC Storage Class for Mongodb config volume | default |
Mongodb backups. The param mongodb.backups.partial key is an example. Any number of key can be used.
Name | Description | Value |
---|---|---|
mongodb.backups.partial.image |
Image to be used for the backup POD | docker.exense.ch/backup:4.2.1 |
mongodb.backups.partial.suspend |
Define if the MongoDB partial backup CronJob is suspended | false |
mongodb.backups.partial.schedule |
MongoDB partial backup CronJob schedule | 00 02 * * * |
mongodb.backups.partial.historyLimit |
Number of MongoDB partial backup archives to retain | 5 |
mongodb.backups.partial.extraEnvVars |
Extra environment variables | {} |
mongodb.backups.partial.command |
Command to be used to perform the backup | [] |
mongodb.backups.partial.args |
Command arguments used to perform the backup | [] |
mongodb.backups.partial.resources |
Backup POD resources | {} |
mongodb.backups.partial.extraVolumeMounts |
Backup POD extra volume mounts | [] |
mongodb.backups.partial.extraVolumes |
Backup POD extra volumes | [] |
mongodb.backups.partial.existingClaim |
Use the defined existing persistent volume claim | "" |
mongodb.backups.partial.affinity |
Backup POD affinity | {} |
Controller parameters
Name | Description | Value |
---|---|---|
controller.enabled |
Define if the Controller material should be created | true |
controller.serviceAccount.create |
Define if a dedicated service account should be created for the Controller | false |
controller.serviceAccount.automountServiceAccountToken |
Automatically mount the Controller service account token into the Pod | true |
controller.rbac.create |
Define if some custom RBAC rules needs to be created | false |
controller.rbac.rules |
RBAC rule to be created | [] |
controller.annotations |
Additional labels to be added to the Controller statefulset | {} |
controller.extraEnvVars |
Extra environment variables | {} |
controller.podSecurityContext |
Controller Pod security context | {} |
controller.topologySpreadConstraints |
Controller Pod topology spread constraint | {} |
controller.containerSecurityContext |
Controller Container security context | {} |
controller.license |
Base64 encoded Step license, to be used with Step version < 22 | "" |
controller.licenseconfig |
Base64 encoded Step license configuration, to be used with Step version >= 22 | "" |
controller.licenses |
Base64 encoded Step licenses, to be used with Step version >= 22 | "" |
controller.tech.type |
Used to build image tag ( commons.version-tech.type-tech.version) | java |
controller.tech.version |
Used to build image tag ( commons.version-tech.type-tech.version) | 17 |
controller.config.port |
Controller UI port | 8080 |
controller.config.NON_HEAP_MEMORY_MB |
Environment variable to set non heap memory and so Xmx value | 256 |
controller.config.STEP_DP |
Environment variable to install external dependencies from Exense private Nexus, format package=version | "" |
controller.config.FULL_STEP_DP |
Environment variable to install external dependecies using a fully qualified URL | "" |
controller.config.JAVA_OPTS |
Additional JVM options | "" |
controller.config.additionalProperties |
Additional properties to be added at the end of the Controller step.properties file | {} |
controller.nodeSelector |
Controller node selectors | {} |
controller.affinity |
Controller affinity | {} |
controller.resources |
Controller resources settings | {} |
controller.persistence.enabled |
Enabled data and / or persistence if enabled | true |
controller.persistence.pvc.data.mountPath |
Path to mount data PVC into the Controller | /home/controller/data |
controller.persistence.pvc.data.size |
Data PVC size | 30Gi |
controller.persistence.pvc.data.storageClass.name |
Storage class name to be used for data PVC | default |
controller.persistence.pvc.log.enabled |
Enable log persistence if enabled | false |
controller.persistence.pvc.log.mountPath |
Path to mount log PVC into the Controller | /home/controller/log |
controller.persistence.pvc.log.size |
Log PVC size | 10Gi |
controller.persistence.pvc.log.storageClass.name |
Storage class name to be used for log PVC | default |
controller.extraVolumeMounts |
Controller POD extra volume mounts | [] |
controller.extraVolumes |
Controller POD extra volumes | [] |
controller.extraVolumeClaimTemplates |
Controller POD extra volumes claim templates | [] |
Controller backups. The param controller.backups.partial key is an example. Any number of key can be used
Name | Description | Value |
---|---|---|
controller.backups.partial.image |
Image to be used for the backup POD | docker.exense.ch/backup:4.2.1 |
controller.backups.partial.suspend |
Define if the MongoDB partial backup CronJob is suspended | false |
controller.backups.partial.schedule |
MongoDB partial backup CronJob schedule | 00 02 * * * |
controller.backups.partial.historyLimit |
Number of MongoDB partial backup archives to retain | 5 |
controller.backups.partial.extraEnvVars |
Extra environment variables | {} |
controller.backups.partial.command |
Command to be used to perform the backup | [] |
controller.backups.partial.args |
Command arguments used to perform the backup | [] |
controller.backups.partial.resources |
Backup POD resources | {} |
controller.backups.partial.extraVolumeMounts |
Backup POD extra volume mounts | [] |
controller.backups.partial.extraVolumes |
Backup POD extra volumes | [] |
controller.backups.partial.existingClaim |
Use the defined existing persistent volume claim | "" |
controller.backups.partial.affinity |
Backup POD affinity | {} |
Grid parameters
Name | Description | Value |
---|---|---|
grid.config.port |
Grid port | 8081 |
grid.expose |
Define if the Grid service should be exposed to the external world via Ingress | false |
grid.client.ssl.allowinvalidcertificate |
Allow Step Agent invalid certificates (useful only when SSL is enabled on the Agent) | false |
grid.client.token.selection.matchexist.timeout.ms |
Defines the timeout of the token selection in case of matching tokens in the pool | 60000 |
grid.client.token.lifecycle.removeOn.tokenreleaseerror |
Defines if Agent tokens have to be marked as failing after a token release error | true |
grid.client.token.lifecycle.removeOn.tokenreservationerror |
Defines if Agent tokens have to be marked as failing after a token reservation error | true |
grid.client.token.lifecycle.removeOn.tokencallerror |
Defines if Agent tokens have to be marked as failing after a keyword call error | true |
grid.client.token.lifecycle.removeOn.agenterror |
Defines if agent tokens have to be marked as failing after an agent error (agent layer) | true |
Grid Proxy parameters
Name | Description | Value |
---|---|---|
gridproxy.enabled |
Should the Grid Proxy components be deployed | false |
gridproxy.annotations |
Additional labels to be added to the Grid Proxy statefulset | {} |
gridproxy.extraEnvVars |
Grid Proxy Extra environment variables | {} |
gridproxy.podSecurityContext |
Grid Proxy Pod security context | {} |
gridproxy.topologySpreadConstraints |
Grid Proxy Container topology spread constraint | {} |
gridproxy.containerSecurityContext |
Grid Proxy Container security context | {} |
gridproxy.tech.type |
Used to build image tag ( commons.version-tech.type-tech.version) | java |
gridproxy.tech.version |
Used to build image tag ( commons.version-tech.type-tech.version) | 11 |
gridproxy.config.port |
Grid Proxy port | 8081 |
gridproxy.config.NON_HEAP_MEMORY_MB |
Environment variable to set non heap memory and so Xmx value | 256 |
gridproxy.config.STEP_DP |
Environment variable to install external dependencies from Exense private Nexus, format package=version | "" |
gridproxy.config.FULL_STEP_DP |
Environment variable to install external dependecies using a fully qualified URL | "" |
gridproxy.config.JAVA_OPTS |
Additional JVM options | "" |
gridproxy.config.additionalProperties |
Additional properties to be added at the end of the Grid Proxy properties file | {} |
gridproxy.nodeSelector |
Grid Proxy node selectors | {} |
gridproxy.resources |
Grid Proxy resources settings | {} |
gridproxy.extraVolumeMounts |
Grid Proxy extra volume mounts | [] |
gridproxy.extraVolumes |
Grid Proxy extra volumes | [] |
Agents parameters
Name | Description | Value |
---|---|---|
agent.pools[0].name |
Agent pool name | java |
agent.pools[0].annotations |
Additional labels to be added to the Agent pool statefulset | {} |
agent.pools[0].extraEnvVars |
Agent Extra environment variables | {} |
agent.pools[0].probes |
Agent probes | {} |
agent.pools[0].tech.type |
Used to build image tag ( commons.version-tech.type-tech.version). Available values are java or dotnet | java |
agent.pools[0].tech.version |
Used to build image tag ( commons.version-tech.type-tech.version) Available valus are 11 and 17 for java, 5 and 6 for dotnet | 11 |
agent.pools[0].lifecycleHooks |
Agent custom lifecycle hooks | {} |
agent.pools[0].podSecurityContext |
Agent POD security context | {} |
agent.pools[0].topologySpreadConstraints |
Agent Pod topology spread constraint | {} |
agent.pools[0].containerSecurityContext |
Agent Container security context | {} |
agent.pools[0].replicaCount |
Number of Agents in the pool | 1 |
agent.pools[0].startup.xvfb |
Enable XVFB on startup | true |
agent.pools[0].terminationGracePeriodSeconds |
Agent termination grace period | 60 |
agent.pools[0].config.agentPort |
The port the Agent will use | 33333 |
agent.pools[0].config.STEP_DP |
Environment variable to install external dependencies from Exense private Nexus, format package=version | "" |
agent.pools[0].config.FULL_STEP_DP |
Environment variable to install external dependecies using a fully qualified URL | nil |
agent.pools[0].config.JAVA_OPTS |
Additional JVM options (only valid for Java agent) | "" |
agent.pools[0].config.NON_HEAP_MEMORY_MB |
Environment variable to set non heap memory and so Xmx value | 256 |
agent.pools[0].config.docker.enabled |
Define if Docker has to be installed in the Agent container | false |
agent.pools[0].config.tokenGroups |
Agent pool token groups configuration | [] |
agent.pools[0].nodeSelector |
Agent pool node selectors | {} |
agent.pools[0].resources |
Agent pool ressources settings | {} |
agent.pools[0].extraVolumeMounts |
Agent extra volume mounts | [] |
agent.pools[0].extraVolumes |
Agent extra volumes | [] |
agent.pools[0].extraVolumeClaimTemplates |
Agent extra volumes claim templates | [] |
Ingress definition
Name | Description | Value |
---|---|---|
ingress.enabled |
Define if an Ingress rule should be created to expose the Controller UI | true |
ingress.host |
Fully qualified URL under which the Controller UI will be reachable | step.stepcloud-test.ch |
ingress.domain |
Domain used to create certificate matching ingress.host | stepcloud-test.ch |
ingress.ingressClassName |
Ingress class name | nginx |
ingress.annotations |
Additional labels to be added to the Ingress rule | {} |
Refer to the Helm and Kubernetes requirements page for recommendations on how to run Step in a Cloud environment.