| `OS_CLI_IMAGE`| the Docker image used to run OpenShift Client (OC) CLI commands <br/>:warning: **set the version required by your OpenShift server** | `quay.io/openshift/origin-cli:latest` |
| `OS_URL` | Default OpenShift API url | **has to be defined** |
| `cli-image` / `OS_CLI_IMAGE` | the Docker image used to run OpenShift Client (OC) CLI commands <br/>:warning: **set the version required by your OpenShift server** | `quay.io/openshift/origin-cli:latest` |
| `url` / `OS_URL` | Default OpenShift API url | **has to be defined** |
| :lock: `OS_TOKEN` | Default OpenShift API [token](#supported-authentication-methods) | **has to be defined** |
| `OS_BASE_APP_NAME`| Base application name | `$CI_PROJECT_NAME` ([see GitLab doc](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html)) |
| `OS_SCRIPTS_DIR` | directory where OpenShift scripts (templates, hook scripts) are located | `.` _(root project dir)_ |
| `OS_BASE_TEMPLATE_NAME` | Base OpenShift template name | `openshift` |
| `OS_APP_LABEL` | The OpenShift [label](https://docs.openshift.com/container-platform/latest/openshift_images/using-templates.html#writing-labels) set with the `$environment_name` [dynamic variable](#using-variables) value. _Advanced usage_ | `app` |
| `OS_ENV_LABEL` | The OpenShift [label](https://docs.openshift.com/container-platform/latest/openshift_images/using-templates.html#writing-labels) set with the `$environment_type` [dynamic variable](#using-variables) value (`review`, `integration`, `staging` or `prod`). _Advanced usage_ | `env` |
| `base-app-name` / `OS_BASE_APP_NAME` | Base application name | `$CI_PROJECT_NAME` ([see GitLab doc](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html)) |
| `scripts-dir` / `OS_SCRIPTS_DIR` | directory where OpenShift scripts (templates, hook scripts) are located | `.` _(root project dir)_ |
| `base-template-name` / `OS_BASE_TEMPLATE_NAME` | Base OpenShift template name | `openshift` |
| `app-label` / `OS_APP_LABEL` | The OpenShift [label](https://docs.openshift.com/container-platform/latest/openshift_images/using-templates.html#writing-labels) set with the `$environment_name` [dynamic variable](#using-variables) value. _Advanced usage_ | `app` |
| `env-label` / `OS_ENV_LABEL` | The OpenShift [label](https://docs.openshift.com/container-platform/latest/openshift_images/using-templates.html#writing-labels) set with the `$environment_type` [dynamic variable](#using-variables) value (`review`, `integration`, `staging` or `prod`). _Advanced usage_ | `env` |
### Review environments configuration
@@ -377,14 +408,14 @@ They are **disabled by default** and can be enabled by setting the `OS_REVIEW_PR
Here are variables supported to configure review environments:
| Name | Description | Default value |
| Input / Variable | Description | Default value |
| `OS_REVIEW_URL` | OpenShift API url for `review` env _(only define if different from default)_ | `$OS_URL` |
| :lock: `OS_REVIEW_TOKEN` | OpenShift API [token](#supported-authentication-methods) for `review` env _(only define if different from default)_ | `$OS_TOKEN` |
| `OS_REVIEW_APP_NAME` | Application name for `review` env | `"${OS_BASE_APP_NAME}-${CI_ENVIRONMENT_SLUG}"` (ex: `myproject-review-fix-bug-12`) |
| `OS_REVIEW_ENVIRONMENT_URL`| The review environments url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
| `OS_REVIEW_AUTOSTOP_DURATION`| The amount of time before GitLab will automatically stop `review` environments | `4 hours` |
| `review-url` / `OS_REVIEW_URL` | OpenShift API url for `review` env _(only define to override default)_ | `$OS_URL` |
| :lock: `OS_REVIEW_TOKEN` | OpenShift API [token](#supported-authentication-methods) for `review` env _(only define to override default)_ | `$OS_TOKEN` |
| `review-app-name` / `OS_REVIEW_APP_NAME` | Application name for `review` env | `"${OS_BASE_APP_NAME}-${CI_ENVIRONMENT_SLUG}"` (ex: `myproject-review-fix-bug-12`) |
| `review-environment-url` / `OS_REVIEW_ENVIRONMENT_URL`| The review environments url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
| `review-autostop-duration` / `OS_REVIEW_AUTOSTOP_DURATION`| The amount of time before GitLab will automatically stop `review` environments | `4 hours` |
### Integration environment configuration
@@ -394,13 +425,13 @@ It is **disabled by default** and can be enabled by setting the `OS_INTEG_PROJEC
Here are variables supported to configure the integration environment:
| Name | Description | Default value |
| Input / Variable | Description | Default value |
| `OS_INTEG_URL` | OpenShift API url for `integration` env _(only define if different from default)_ | `$OS_URL` |
| :lock: `OS_INTEG_TOKEN` | OpenShift API [token](#supported-authentication-methods) for `integration` env _(only define if different from default)_ | `$OS_TOKEN` |
| `OS_INTEG_APP_NAME` | Application name for `integration` env | `${OS_BASE_APP_NAME}-integration` |
| `OS_INTEG_ENVIRONMENT_URL`| The integration environment url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
| `integ-url` / `OS_INTEG_URL` | OpenShift API url for `integration` env _(only define to override default)_ | `$OS_URL` |
| :lock: `OS_INTEG_TOKEN` | OpenShift API [token](#supported-authentication-methods) for `integration` env _(only define to override default)_ | `$OS_TOKEN` |
| `integ-app-name` / `OS_INTEG_APP_NAME` | Application name for `integration` env | `${OS_BASE_APP_NAME}-integration` |
| `integ-environment-url` / `OS_INTEG_ENVIRONMENT_URL`| The integration environment url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
### Staging environment configuration
@@ -410,13 +441,13 @@ It is **disabled by default** and can be enabled by setting the `OS_STAGING_PROJ
Here are variables supported to configure the staging environment:
| Name | Description | Default value |
| Input / Variable | Description | Default value |
| `OS_STAGING_URL` | OpenShift API url for `staging` env _(only define if different from default)_ | `$OS_URL` |
| :lock: `OS_STAGING_TOKEN`| OpenShift API [token](#supported-authentication-methods) for `staging` env _(only define if different from default)_ | `$OS_TOKEN` |
| `OS_STAGING_APP_NAME` | Application name for `staging` env | `${OS_BASE_APP_NAME}-staging` |
| `OS_STAGING_ENVIRONMENT_URL`| The staging environment url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
| `staging-url` / `OS_STAGING_URL` | OpenShift API url for `staging` env _(only define to override default)_ | `$OS_URL` |
| :lock: `OS_STAGING_TOKEN`| OpenShift API [token](#supported-authentication-methods) for `staging` env _(only define to override default)_ | `$OS_TOKEN` |
| `staging-app-name` / `OS_STAGING_APP_NAME` | Application name for `staging` env | `${OS_BASE_APP_NAME}-staging` |
| `staging-environment-url` / `OS_STAGING_ENVIRONMENT_URL`| The staging environment url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
### Production environment configuration
@@ -426,14 +457,14 @@ It is **disabled by default** and can be enabled by setting the `OS_PROD_PROJECT
Here are variables supported to configure the production environment:
| Name | Description | Default value |
| Input / Variable | Description | Default value |
| `OS_PROD_URL` | OpenShift API url for `production` env _(only define if different from default)_| `$OS_URL` |
| :lock: `OS_PROD_TOKEN` | OpenShift API [token](#supported-authentication-methods) for `production` env _(only define if different from default)_ | `$OS_TOKEN` |
| `OS_PROD_APP_NAME` | Application name for `production` env | `$OS_BASE_APP_NAME` |
| `OS_PROD_ENVIRONMENT_URL`| The production environment url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
| `OS_PROD_DEPLOY_STRATEGY`| Defines the deployment to production strategy. One of `manual` (i.e. _one-click_) or `auto`. | `manual` |
| `prod-url` / `OS_PROD_URL` | OpenShift API url for `production` env _(only define to override default)_| `$OS_URL` |
| :lock: `OS_PROD_TOKEN` | OpenShift API [token](#supported-authentication-methods) for `production` env _(only define to override default)_ | `$OS_TOKEN` |
| `prod-app-name` / `OS_PROD_APP_NAME` | Application name for `production` env | `$OS_BASE_APP_NAME` |
| `prod-environment-url` / `OS_PROD_ENVIRONMENT_URL`| The production environment url _(only define for static environment URLs declaration and if different from default)_ | `$OS_ENVIRONMENT_URL` |
| `prod-deploy-strategy` / `OS_PROD_DEPLOY_STRATEGY`| Defines the deployment to production strategy. One of `manual` (i.e. _one-click_) or `auto`. | `manual` |
### `os-cleanup-all-review` job
@@ -476,11 +507,11 @@ This variant allows delegating your secrets management to a [Vault](https://www.
In order to be able to communicate with the Vault server, the variant requires the additional configuration parameters:
| Name | Description | Default value |
| Input / Variable | Description | Default value |
| `TBC_VAULT_IMAGE` | The [Vault Secrets Provider](https://gitlab.com/to-be-continuous/tools/vault-secrets-provider) image to use (can be overridden) | `registry.gitlab.com/to-be-continuous/tools/vault-secrets-provider:master` |
| `VAULT_BASE_URL` | The Vault server base API url | _none_ |
| `VAULT_OIDC_AUD` | The `aud` claim for the JWT | `$CI_SERVER_URL` |
| `vault-base-url` / `VAULT_BASE_URL` | The Vault server base API url | _none_ |
| `vault-oidc-aud` / `VAULT_OIDC_AUD` | The `aud` claim for the JWT | `$CI_SERVER_URL` |
| :lock: `VAULT_ROLE_ID` | The [AppRole](https://www.vaultproject.io/docs/auth/approle) RoleID | **must be defined** |
| :lock: `VAULT_SECRET_ID` | The [AppRole](https://www.vaultproject.io/docs/auth/approle) SecretID | **must be defined** |
@@ -494,7 +525,7 @@ Then you may retrieve any of your secret(s) from Vault using the following synta