{"id":26096412,"url":"https://github.com/updatecli/policies","last_synced_at":"2025-06-20T12:12:57.898Z","repository":{"id":198383381,"uuid":"700705334","full_name":"updatecli/policies","owner":"updatecli","description":"Updatecli Policies","archived":false,"fork":false,"pushed_at":"2025-01-30T15:06:01.000Z","size":236,"stargazers_count":2,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-30T16:23:03.772Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Smarty","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/updatecli.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["olblak","dduportal"],"open_collective":"updatecli","liberapay":"updatecli"}},"created_at":"2023-10-05T06:12:32.000Z","updated_at":"2025-01-30T15:06:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"be76a329-cd9f-49e9-99d0-299de749e9e2","html_url":"https://github.com/updatecli/policies","commit_stats":null,"previous_names":["updatecli/policy-autodiscovery","updatecli/policies"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fpolicies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fpolicies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fpolicies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fpolicies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/updatecli","download_url":"https://codeload.github.com/updatecli/policies/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242705756,"owners_count":20172328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-09T14:46:14.455Z","updated_at":"2025-03-09T14:46:15.034Z","avatar_url":"https://github.com/updatecli.png","language":"Smarty","funding_links":["https://github.com/sponsors/olblak","https://github.com/sponsors/dduportal","https://opencollective.com/updatecli","https://liberapay.com/updatecli"],"categories":[],"sub_categories":[],"readme":"= README\n\nlink:https://matrix.to/#/#Updatecli_community:gitter.im[image:https://img.shields.io/matrix/updatecli:matrix.org[]]\nlink:https://github.com/updatecli/policies/blob/main/LICENSE[image:https://img.shields.io/github/license/updatecli/policies[GitHub]]\nlink:https://img.shields.io/github/actions/workflow/status/updatecli/policies/validate.yaml?branch=main[image:https://img.shields.io/github/actions/workflow/status/updatecli/policies/validate.yaml?branch=main[GitHub Workflow Status]]\n\n\nThis repository contains a list of common Updatecli published on ghcr.io/updatecli/policies/**\n\n== HOWTO\n\n**Login**\n\nEven though all Updatecli policies published on `ghcr.io` are meant to be public, you'll probably need to authenticate to reduce rate limiting by running:\n\n    docker login ghcr.io\n\n**Publish**\n\nEach policies defines in this repository are automatically published on ghcr.io via a GitHub Action workflow\n\n**Show**\n\nWe can see the content of the policy by running:\n\n    updatecli manifest show ghcr.io/updatecli/policies/\u003ca policy name\u003e:latest\n\n**Use**\n\nThey are two ways to execute an Updatecli policy, either running one policy or several policies at once.\n\nOne policy can be executed by running:\n\n    updatecli apply --config ghcr.io/updatecli/policies/\u003ca policy name\u003e:latest\n\n\nIMPORTANT: Any values files specified at runtime will override default values setting from the policy bundle\n\nAssuming we have a file named `update-compose.yaml`, multiple policies can be composed and executed by running:\n\n        updatecli compose apply\n\n.update-compose.yaml\n```yaml\npolicies:\n    - policy: \"ghcr.io/updatecli/policies/autodiscovery/golang:latest\"\n    - policy: \"ghcr.io/updatecli/policies/autodiscovery/npm:latest\"\n```\n\nMore information about Updatecli compose feature can be found link:https://www.updatecli.io/docs/core/compose/[here]\n\n== CONTRIBUTING\n\nPolicies can be added by creating a new folder under `updatecli/policies` directory.\nThe subfolder path will be used as the policy name.\n\nFor example if we want to create a policy named `autodiscovery/golang`, we need to create a folder named `updatecli/policies/autodiscovery/golang`.\nThis policy will be named `ghcr.io/updatecli/policies/autodiscovery/golang` and will be published on `ghcr.io` docker registry.\n\nThe policy folder must contain:\n\n* `Policy.yaml` file which contains the policy metadata.\n* `updatecli.d` directory which contains the policy configuration files.\n* `README.md` file which contains the policy documentation.\n* `CHANGELOG.md` file which contains the policy changelog.\n* `values.yaml` file which contains the default values for the policy.\n\n**Policy.yaml**\n\nThe `Policy.yaml` file must contain at least the following fields:\n\n```yaml\nurl: \u003clink to this git repository\u003e\ndocumentation: \u003clink to the policy documentation\u003e\nsource: \u003clink to this policy code\u003e\nversion: \u003cpolicy version\u003e\nchangelog: \u003clink to this policy changelog\u003e\ndescription: \u003cpolicy description with maximum 512 characters\u003e\n```\n\n**Version**\n\nThe version must be a valid semantic version. For example `1.0.0` or `1.0.0-beta.1`\nThe version will be used as the \"tag\" for the policy such as `ghcr.io/updatecli/policies/autodiscovery/golang:1.0.0`\n\nAny change to the policy code must be reflected by a new version. Policies are automatically published on `ghcr.io` if the version is updated.\n\n== FAQ\n\n=== Why a monorepo ?\n\nA monorepo is a repository that contains multiple projects. In our case, we have a single repository that contains multiple Updatecli policies.\n\nWe are still in a very early stage and we are not sure yet if we will keep this repository as a monorepo or if we will split it into multiple repositories.\n\nBut it is easier to handle a monorepo than multiple repositories while we build the tooling and the process to manage Updatecli policies.\n\n== LINKS\n\n* link:https://www.updatecli.io/docs/core/compose/[here]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupdatecli%2Fpolicies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupdatecli%2Fpolicies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupdatecli%2Fpolicies/lists"}