{"id":19075802,"url":"https://github.com/lpsm-dev/helm-recursive-library","last_synced_at":"2026-05-18T14:36:06.934Z","repository":{"id":37025012,"uuid":"383313091","full_name":"lpsm-dev/helm-recursive-library","owner":"lpsm-dev","description":"😏  Creating a Helm Recursive Library for code reuse and agility in the delivery of services in Kubernetes","archived":false,"fork":false,"pushed_at":"2023-12-14T20:05:37.000Z","size":175,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-02T18:17:22.044Z","etag":null,"topics":["helm","helm-chart","helm-library","kubernetes","recursive"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lpsm-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-07-06T02:11:06.000Z","updated_at":"2022-10-25T17:45:57.000Z","dependencies_parsed_at":"2023-12-14T21:24:57.293Z","dependency_job_id":null,"html_url":"https://github.com/lpsm-dev/helm-recursive-library","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/lpsm-dev%2Fhelm-recursive-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpsm-dev%2Fhelm-recursive-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpsm-dev%2Fhelm-recursive-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpsm-dev%2Fhelm-recursive-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lpsm-dev","download_url":"https://codeload.github.com/lpsm-dev/helm-recursive-library/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240127088,"owners_count":19751938,"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":["helm","helm-chart","helm-library","kubernetes","recursive"],"created_at":"2024-11-09T01:56:02.827Z","updated_at":"2026-05-18T14:36:06.891Z","avatar_url":"https://github.com/lpsm-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg alt=\"gif-header\" src=\"https://cdn.hackernoon.com/hn-images/0*KyeIBTwEiX6_sE06\" width=\"300\"/\u003e\n\n\u003ch2\u003e✨ Helm Chart Library ✨\u003c/h2\u003e\n\n[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/lpmatos/helm-library)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](https://github.com/lpmatos/helm-library)\n[![GitHub repo size](https://img.shields.io/github/repo-size/lpmatos/helm-library)](https://github.com/lpmatos/helm-library)\n\n---\n\n\u003cimg alt=\"gif-about\" src=\"https://i.stack.imgur.com/niIU6.gif\" width=\"225\"/\u003e\n\n\u003cp\u003e✨ This is a simple helm library that i use in GitLab to create recursive resources in Kubernetes ✨\u003c/p\u003e\n\n\u003cp\u003e\n  \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#motivation\"\u003eMotivation\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#versioning\"\u003eVersioning\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n## ➤ Getting Started \u003ca name = \"getting-started\"\u003e\u003c/a\u003e\n\nIf you want contribute on this project, first you need to make a **git clone**:\n\n\u003e\n\u003e 1. git clone --depth 1 \u003chttps://github.com/lpmatos/helm-library.git\u003e -b main\n\u003e\n\nThis will give you access to the code on your **local machine**.\n\n## ➤ Tools \u003ca name = \"tools\"\u003e\u003c/a\u003e\n\nList of tools thar i used in this project:\n\n- kubectl\n- helm\n- krew\n- kubeval\n- kube-linter\n- kube-score\n- checkov\n- datree\n- kubeaudit\n\n## ➤ Motivation \u003ca name = \"motivation\"\u003e\u003c/a\u003e\n\nHi stranger! Today I want to share with you my experience using Helm library chart daily on my work, but let's go back to the concepts. Helm is a package maneger that you can use to organize all kubernetes objects created in a cluster, all versioned and based on a standard structure.\n\nOver the time you realize that once you create the helm chart it will hardly have to change its structure. However, depending on your project and the amount of services that you have, this can become a challenge for you.\n\nWith that in mind we have the helm libraries, which help you share default settings for your catalogs. And that's what this project proposes: make a helm library for creating objects using recursion, speeding up the setup of your services in Kubernetes.\n\n## ➤ Usage \u003ca name = \"usage\"\u003e\u003c/a\u003e\n\nReference in `Chart.yaml`:\n\n```yaml\ndependencies:\n- name: common\n  version: 0.0.1\n  repository: file://../../chart\n```\n\nUpdate local chart:\n\n```bash\nhelm dependency update\n```\n\n## ➤ Audit \u003ca name = \"audit\"\u003e\u003c/a\u003e\n\nRun these commands in the context of `test/chart` folder:\n\n```bash\nhelm dependency update --debug\nhelm template . -n valida -f values.yaml \u003e manifest.yml\nkubeval manifest.yml --strict --force-color --exit-on-error\nkube-linter lint manifest.yml --config .kube-linter.yml\nkubectl score manifest.yml\ncheckov -f manifest.yml --framework kubernetes\ndatree test manifest.yml\nkubeaudit all -f manifest.yml\n```\n\n## ➤ Concepts \u003ca name = \"concepts\"\u003e\u003c/a\u003e\n\nThis section aims to describe at a high level what the tools we use are and how we use them, without reproducing documentation that is better written (and more up to date) in the repositories and websites of these tools themselves. It's recommended to familiarize yourself with these tools as early as possible.\n\n### Helm\n\nHelm is a templating system for Kubernetes resource manifests. A Helm chart is a bundle of resource templates that can take parameters (\"values\"). A Helm chart therefore describes a paramaterized deployment configuration that is environment-agnostic. Helm charts are distributed from Helm repositories, and Helm can act as a package manager to manage repositories and charts.\n\nAn instantiated deployment of a Helm chart is called a Helm release. We'll refer to these as \"releases\" for short. We can say that a release is a deployment of a Helm chart in an environment, where an environment is the combination of a set of parameters (\"values\") and a Kubernetes target.\n\n## ➤ Inspirations \u003ca name = \"inspirations\"\u003e\u003c/a\u003e\n\n- https://github.com/InsomniaCoder/helm-library\n- https://github.com/k8s-at-home/library-charts\n- https://github.com/prefapp/prefapp-helm\n- https://github.com/wuguteng/propeller\n\n## ➤ Versioning \u003ca name = \"versioning\"\u003e\u003c/a\u003e\n\nTo check the change history, please access the [**CHANGELOG.md**](CHANGELOG.md) file.\n\n## ➤ Project status \u003ca name = \"project-status\"\u003e\u003c/a\u003e\n\nCurrently the project is constantly being updated 👾.\n\n## ➤ Show your support \u003ca name = \"show-your-support\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nGive me a ⭐️ if this project helped you!\n\n\u003cimg alt=\"gif-header\" src=\"https://www.icegif.com/wp-content/uploads/baby-yoda-bye-bye-icegif.gif\" width=\"225\"/\u003e\n\nMade with 💜 by [me](https://github.com/lpmatos) :wave: inspired on [readme-md-generator](https://github.com/kefranabg/readme-md-generator)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpsm-dev%2Fhelm-recursive-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flpsm-dev%2Fhelm-recursive-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpsm-dev%2Fhelm-recursive-library/lists"}