{"id":13820745,"url":"https://github.com/arminc/k8s-platform-lcm","last_synced_at":"2025-08-20T18:34:12.109Z","repository":{"id":36701405,"uuid":"226695270","full_name":"arminc/k8s-platform-lcm","owner":"arminc","description":"A faster and easier way to manage the lifecycle of applications and tools, running and living around your Kubernetes platform","archived":false,"fork":false,"pushed_at":"2022-05-13T05:47:23.000Z","size":648,"stargazers_count":185,"open_issues_count":18,"forks_count":14,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-12-10T00:51:55.111Z","etag":null,"topics":["charts","docker","github","kubernetes","lifecycle","lifecycle-management","yaml"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arminc.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2019-12-08T16:15:49.000Z","updated_at":"2024-04-13T08:37:38.000Z","dependencies_parsed_at":"2022-08-09T03:15:17.018Z","dependency_job_id":null,"html_url":"https://github.com/arminc/k8s-platform-lcm","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arminc%2Fk8s-platform-lcm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arminc%2Fk8s-platform-lcm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arminc%2Fk8s-platform-lcm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arminc%2Fk8s-platform-lcm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arminc","download_url":"https://codeload.github.com/arminc/k8s-platform-lcm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230445927,"owners_count":18227060,"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":["charts","docker","github","kubernetes","lifecycle","lifecycle-management","yaml"],"created_at":"2024-08-04T08:01:08.203Z","updated_at":"2024-12-19T14:08:18.505Z","avatar_url":"https://github.com/arminc.png","language":"Go","funding_links":[],"categories":["kubernetes","Related Software","OPS"],"sub_categories":["[Jenkins](#jenkins)"],"readme":"# Kubernetes platform lifecycle management\n\n![Build](https://github.com/arminc/k8s-platform-lcm/workflows/test/badge.svg?branch=master)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/bf91530a165c4113b1691353ae51ae1d)](https://app.codacy.com/manual/armin/k8s-platform-lcm?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=arminc/k8s-platform-lcm\u0026utm_campaign=Badge_Grade_Dashboard)\n[![Go Report Card](https://goreportcard.com/badge/github.com/arminc/k8s-platform-lcm)](https://goreportcard.com/report/github.com/arminc/k8s-platform-lcm)\n[![CodeFactor](https://www.codefactor.io/repository/github/arminc/k8s-platform-lcm/badge)](https://www.codefactor.io/repository/github/arminc/k8s-platform-lcm)\n[![codecov](https://codecov.io/gh/arminc/k8s-platform-lcm/branch/master/graph/badge.svg)](https://codecov.io/gh/arminc/k8s-platform-lcm)\n\n\u003cimg src=\"https://github.com/arminc/k8s-platform-lcm/raw/master/assets/logo.png\" width=\"100\"\u003e\n\n----\n\nThis project helps you keep track of all your software and tools that are used or running in and around your Kubernetes platform. It helps you with part of the lifecycle management to keep your software up to data for feature completeness, security or compliance reasons.\n\n## Features\n\n-   [x] Keep track of versions of all the running containers (including init containers) inside the Kubernetes\n-   [x] Keep track of new image versions. Supporting Quay, Gcr, Docker hub, Jfrog Artifactory by default\n-   [x] Works with private registries and private images\n-   [x] Allow overriding of the registry to search latest versions from another registry\n-   [x] Keep track of image vulnerabilities using Jfrog Xray\n-   [x] Possibility to provide local tool versions (like terraform) and find the new versions on GitHub\n-   [x] Keep track of Helm chart deployments and track new versions of the charts\n-   [x] Present the information command line\n-   [x] Present the information trough a web UI\n-   [x] Export prometheus metrics\n-   [x] Filter out vulnerabilties which are accepted\n\n## Help (how to run)\n\nFor all the configuration options please have a look at the [exampleConfig.yaml](exampleConfig.yaml).\n\nWhen running lcm you can provide certain flags which are not available in the config. The application assumes there is a config.yaml available in the same folder.\n\n```bash\n./lcm --help\nusage: lcm [\u003cflags\u003e]\n\nKubernetes platform lifecycle management\n\nFlags:\n  --help                  Show context-sensitive help (also try --help-long and --help-man).\n  --version               Show application version.\n  --config=\"config.yaml\"  Provide the path to the config file. Default is config.yaml which is in the same folder as lcm\n  --local                 Run locally, default expected behavior is to run in the Kubernetes cluster\n  --verbose               Show more information. This overrides the config setting\n  --debug                 Show debug information, debug includes verbose. This overrides the config setting\n  --jsonLogging           Log in json format\n  --logFile=LOGFILE       Log file path\n  --server                Start the server\n  --metrics               Start the metric server (runs on port 9572)\n  --vul                   Print all vulnerabilities at the end\n```\n\n**Note:** If you are using `--server` option please make sure the `templates` and `static` folder are next to the binary so it can serve the page.\n\n### Docker\n\nDocker image is available at **arminc/lcm:VERSION** or **arminc/lcm:latest**. It is packaged with the template and css. Run it as following, and add any necessary flags you want or use the yaml file.\n\n```bash\ndocker run -it -v $(pwd)/config.yaml:/config.yaml -p 7321:7321 arminc/lcm:latest --local --server\n```\n\n## Example output\n\n### Command Line\n\n```bash\n+---------------------------------------+-------------------+----------+-------+\n|                 IMAGE                 |      VERSION      |  LATEST  | CVES  |\n+---------------------------------------+-------------------+----------+-------+\n| library/alpine                        |      3.10.1       |  3.10.3  | ERROR |\n| openpolicyagent/kube-mgmt             |        0.9        |   0.10   | 0     |\n| openpolicyagent/opa                   |      0.14.1       |  0.15.1  | 0     |\n| velero/velero                         |      v1.1.0       |  v1.2.0  | 0     |\n+---------------------------------------+-------------------+----------+-------+\n+----------------------------+------------+----------+\n|           CHART            |  VERSION   |  LATEST  |\n+----------------------------+------------+----------+\n| opa                        |   0.12.0   |  1.13.1  |\n| velero                     |   2.5.0    |  2.7.0   |\n+----------------------------+------------+----------+\n+---------------------+---------+----------+\n|        TOOL         | VERSION |  LATEST  |\n+---------------------+---------+----------+\n| derailed/popeye     | v0.4.1  |  v0.5.0  |\n| hashicorp/terraform | 0.11.14 | v0.12.18 |\n+---------------------+---------+----------+\n```\n\n### Metric output\n\n```text\nchart_info{chart=\"polaris\",latestVersion=\"1.1.0\",version=\"0.10.1\"} 0\nimage_info{image=\"storageos/csi-provisioner\",latestVersion=\"v1.4.0\",registry=\"docker.io\",version=\"v1.4.0\"} 1\ntool_info{latestVersion=\"v0.12.26\",tool=\"hashicorp/terraform\",version=\"0.11.14\"} 0\n```\n\n### Web UI\n\n\u003cimg src=\"assets/screenshot.png\" width=\"800\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farminc%2Fk8s-platform-lcm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farminc%2Fk8s-platform-lcm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farminc%2Fk8s-platform-lcm/lists"}