Compose

Description

The updatecli compose feature allows specifying a list of updatecli policies to enforce. This is useful when applying the same policies on multiple repositories.

By default, it relies on a file named "updatecli-compose.yaml" such as in the follow example:

updatecli-compose.yaml
policies:
  - name: Local Updatecli Website Policies
    config:
      - updatecli/updatecli.d/

  - name: Handle Nodejs version in githubaction
    policy: ghcr.io/updatecli/policies/policies/nodejs/githubaction:latest
    values:
      - updatecli/values.d/scm.yaml
      - updatecli/values.d/nodejs.yaml
  • Running updatecli compose apply would enforce the state defined in each of the policies

  • Running updatecli compose diff would show the targeted state defined in each of the policies

  • Running updatecli compose show would show the manifest generated by each of the policies

Parameters

NameTypeDescriptionRequired
env_filesarray

Env_files contains a list of environment files

Example:

  • env_file1.env
  • env_file2.env
environmentsobject

Environment contains a list of environment variables

Example: ENV_VAR1: value1 ENV_VAR2: value2

includearrayInclude contains a list of compose files to include
namestringName contains the compose name
policiesarrayPolicies contains a list of policies
    configarrayConfig contains a list of Updatecli config file path
    idstringID contains the policy ID, it can be used to filter policies to execute
    namestringName contains the policy name
    policystringPolicy contains the policy OCI name
    secretsarraySecrets contains a list of Updatecli secret file path
    valuesarrayValues contains a list of Updatecli config file path
    valuesinlineobject

ValuesInline contains a list of inline values for Updatecli config A deep merge will be performed between global inline values and policy inline values if both are defined.

Example: key1: value1 key2: value2

secretsarraySecrets contains a list of Updatecli secret file path This is the default secret file that will be applied to all policies if not overridden by the policy secret file.
valuesarrayValues contains a list of Updatecli config file path This is the default values file that will be applied to all policies if not overridden by the policy values file.
valuesinlineobject

ValuesInline contains a list of inline values for Updatecli config This is the default inline values that will be applied to all policies if not overridden by the policy inline values. A deep merge will be performed between global inline values and policy inline values if both are defined.

Example: key1: value1 key2: value2

⚠ This table is generated from the Updatecli codebase and may contain inaccurate data. Feel free to report them on github.com/updatecli/updatecli
Important
Any value files or secrets file specified in the docker-compose.yaml overrides default values specified by the policy. It’s also worth mentioning that deep merge isn’t supported.

Examples

Updatecli

The repository updatecli/policies contains a list of common updatecli policies published on GitHub Registry.

Top