# Compose<no value>
// <!-- Required for asciidoctor -->
:toc:
// Set toclevels to be at least your hugo [markup.tableOfContents.endLevel] config key
:toclevels: 4

== 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

{{< composeparameters >}}

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 **link:https://github.com/updatecli/policies[updatecli/policies]** contains a list of common updatecli policies published on **link:https://github.com/orgs/updatecli/packages?tab=packages&q=policies[GitHub Registry]**.
