{"id":21475106,"url":"https://github.com/snapp-incubator/helmfig","last_synced_at":"2025-07-15T09:32:08.280Z","repository":{"id":42123903,"uuid":"437079486","full_name":"snapp-incubator/helmfig","owner":"snapp-incubator","description":"A handy utility to generate configmap and values.yaml of your application for helmifying them","archived":false,"fork":false,"pushed_at":"2024-10-31T18:35:49.000Z","size":678,"stargazers_count":30,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-31T19:19:15.104Z","etag":null,"topics":["autogen","configmap","helm","helm-charts","kubernetes"],"latest_commit_sha":null,"homepage":"https://snapp-incubator.github.io/helmfig/","language":"Go","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/snapp-incubator.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":"2021-12-10T18:37:01.000Z","updated_at":"2024-10-31T18:09:08.000Z","dependencies_parsed_at":"2022-08-12T07:11:29.720Z","dependency_job_id":null,"html_url":"https://github.com/snapp-incubator/helmfig","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fhelmfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fhelmfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fhelmfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fhelmfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snapp-incubator","download_url":"https://codeload.github.com/snapp-incubator/helmfig/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226033302,"owners_count":17563125,"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":["autogen","configmap","helm","helm-charts","kubernetes"],"created_at":"2024-11-23T10:37:22.871Z","updated_at":"2024-11-23T10:37:23.437Z","avatar_url":"https://github.com/snapp-incubator.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Helmfig\n\n![Release workflow](https://github.com/snapp-incubator/helmfig/actions/workflows/release.yaml/badge.svg)\n\nAre you tired of writing `values.yaml` for `configmap` of your project when you are helmifying them? Helmfig is a handy\ntool that can generate the content of your `configmap` object and its parameters for `values.yaml` based on a config\nexample file.\n\nCurrently, we just support YAML config structure, but we will support JSON and ENV in the future.\n\n## What actually it does\n\nAssume that you have a file named `config.example.yaml` like the one below. You want to helmify your project, so you need\na `configmap` object file and an appropriate values for that `configmap`. Helmfig generate them for you.\n\n`config.example.yaml`\n```yaml\nlogger:\n  level: info\n  syslog:\n    enabled: false\n    server_address: localhost:514\n    network: udp\n    priority: info\nnats_streaming:\n  address: \"127.0.0.1:4222\"\n  connect_wait: 1s\n  pub_ack_wait: 2s\n  max_pub_acks_in_flight: 5\n  ping_interval: 2\n  ping_max_out: 150\n  cluster_id: test-cluster\n  client_id: app\n```\n\n`Configmap` output:\n```yaml\nlogger:\n  level: '{{ logger.level }}'\n  syslog:\n    enabled: '{{ logger.syslog.enabled }}'\n    network: '{{ logger.syslog.network }}'\n    priority: '{{ logger.syslog.priority }}'\n    server_address: '{{ logger.syslog.serverAddress }}'\nnats_streaming:\n  address: '{{ natsStreaming.address }}'\n  client_id: '{{ natsStreaming.clientId }}'\n  cluster_id: '{{ natsStreaming.clusterId }}'\n  connect_wait: '{{ natsStreaming.connectWait }}'\n  max_pub_acks_in_flight: '{{ natsStreaming.maxPubAcksInFlight }}'\n  ping_interval: '{{ natsStreaming.pingInterval }}'\n  ping_max_out: '{{ natsStreaming.pingMaxOut }}'\n  pub_ack_wait: '{{ natsStreaming.pubAckWait }}'\n```\n\n`Values` output:\n```yaml\nlogger:\n  level: info\n  syslog:\n    enabled: false\n    network: udp\n    priority: info\n    serverAddress: localhost:514\nnatsStreaming:\n  address: 127.0.0.1:4222\n  clientId: app\n  clusterId: test-cluster\n  connectWait: 1s\n  maxPubAcksInFlight: 5\n  pingInterval: 2\n  pingMaxOut: 150\n  pubAckWait: 2s\n```\n\n## How to use it?\n\n### Download released binary\n\n1. Go to release page of the repo and download the appropriate released binary with regard to your OS and arch.\n\n2. Put it in one of PATH directories\n\n3. Run it by simply typing `helmfig` in your desired terminal.\n\n### Build from source\n\n1. Install a golang compiler (at least version 1.16).\n\n2. Clone the project and compile it:\n\n```bash\ngit clone https://github.com/snapp-incubator/helmfig.git\ncd helmfig\ngo build .\n```\n\n3. Put your ```config.example.yaml``` near the compiled binary and run it via:\n\n```bash\n./helmfig yaml\n```\n\n4. If everything is OK, two files will be generated: `configmap.yaml` and `values.yaml`. You can use them in\nhelm chart of your desired application\n\n## License\n\nApache-2.0 License, see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnapp-incubator%2Fhelmfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnapp-incubator%2Fhelmfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnapp-incubator%2Fhelmfig/lists"}