{"id":24961767,"url":"https://github.com/raffis/ceasing-kustomize-controller","last_synced_at":"2025-03-28T22:29:07.301Z","repository":{"id":57637533,"uuid":"429565673","full_name":"raffis/ceasing-kustomize-controller","owner":"raffis","description":"flux kustomization with expiration","archived":false,"fork":false,"pushed_at":"2021-11-18T20:30:47.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T20:54:36.644Z","etag":null,"topics":["flux","fluxcd","gitops","gitops-toolkit","k8s-controller","kustomize"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raffis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-18T20:09:53.000Z","updated_at":"2021-11-18T20:30:49.000Z","dependencies_parsed_at":"2022-09-02T02:12:53.188Z","dependency_job_id":null,"html_url":"https://github.com/raffis/ceasing-kustomize-controller","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raffis%2Fceasing-kustomize-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raffis%2Fceasing-kustomize-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raffis%2Fceasing-kustomize-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raffis%2Fceasing-kustomize-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raffis","download_url":"https://codeload.github.com/raffis/ceasing-kustomize-controller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246108633,"owners_count":20724764,"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":["flux","fluxcd","gitops","gitops-toolkit","k8s-controller","kustomize"],"created_at":"2025-02-03T08:56:34.141Z","updated_at":"2025-03-28T22:29:07.278Z","avatar_url":"https://github.com/raffis.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ceasing kustomization controller\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/raffis/ceasing-kustomize-controller)](https://goreportcard.com/report/github.com/raffis/ceasing-kustomize-controller)\n[![Coverage Status](https://coveralls.io/repos/github/raffis/ceasing-kustomize-controller/badge.svg?branch=master)](https://coveralls.io/github/raffis/ceasing-kustomize-controller?branch=master)\n[![Docker Pulls](https://img.shields.io/docker/pulls/raffis/ceasing-kustomize-controller.svg?maxAge=604800)](https://hub.docker.com/r/raffis/ceasing-kustomize-controller)\n[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/prometheus-ceasing-kustomize-controller)](https://artifacthub.io/packages/search?repo=prometheus-ceasing-kustomize-controller)\n\nA ceasing kustomization is a wrapper around flux2 kustomization CRD.\nIt introduces a kustomization with an expiration time.\nAfter the expiration is reached the managed kustomization is removed from the cluster and all resources created by the kustomization.\nThe CeasingKustomization continues to gate the managed kustomization and will not recreate it.\nThat way you can also distribute CeasingKustomizations via GitOps as you might already do with Kustomizations.\n\n**Note**: A CeasingKustomization always deploys the underlying kustomization as prunable no matter if it is set to true or false.\n\n## Use cases\nThe use case is primarily to create temporary resources so you don't need to remember it needs to be removed again,\nfor example:\n\n* Grant temporary RBAC rules, for example give a user temporary exec permission\n* Create temporary user accounts\n* Temporary preview tenants\n* ...\n\n## Example CeasingKustomization\n\n```yaml\napiVersion: kustomize.raffis.github.io/v1beta2\nkind: CeasingKustomization\nmetadata:\n  name: admin-access\nspec:\n  ttl: 1d\n  kustomizationTemplate:\n    spec:\n      interval: 5m\n      path: \"./base/admin-access\"\n      prune: false\n      sourceRef:\n        kind: GitRepository\n        name: gitops\n      timeout: 80s\n```\n\n## Configure the controller\n\nYou may change base settings for the controller using env variables (or alternatively command line arguments).\n\nAvailable env variables:\n\n| Name  | Description | Default |\n|-------|-------------| --------|\n| `METRICS_ADDR` | The address of the metric endpoint binds to. | `:9556` |\n| `PROBE_ADDR` | The address of the probe endpoints binds to. | `:9557` |\n| `ENABLE_LEADER_ELECTION` | Enable leader election for controller manager. | `true` |\n| `LEADER_ELECTION_NAMESPACE` | Change the leader election namespace. This is by default the same where the controller is deployed. | `` |\n| `NAMESPACES` | The controller listens by default for all namespaces. This may be limited to a comma delimited list of dedicated namespaces. | `` |\n| `CONCURRENT` | The number of concurrent reconcile workers.  | `4` |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraffis%2Fceasing-kustomize-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraffis%2Fceasing-kustomize-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraffis%2Fceasing-kustomize-controller/lists"}