{"id":19039890,"url":"https://github.com/cert-manager/helm-tool","last_synced_at":"2025-04-23T20:49:11.345Z","repository":{"id":216000299,"uuid":"740217928","full_name":"cert-manager/helm-tool","owner":"cert-manager","description":"helm-tool is an internal cert-manager utility (can be broken or removed) which generates Helm docs, schema files and performs linting.","archived":false,"fork":false,"pushed_at":"2025-04-17T09:16:50.000Z","size":358,"stargazers_count":10,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-18T00:15:26.926Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/cert-manager.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-07T21:21:11.000Z","updated_at":"2025-04-17T09:16:55.000Z","dependencies_parsed_at":"2024-01-23T03:06:11.979Z","dependency_job_id":"4fa1f8c3-4d37-4e89-9e6c-02432b8db6aa","html_url":"https://github.com/cert-manager/helm-tool","commit_stats":{"total_commits":41,"total_committers":5,"mean_commits":8.2,"dds":0.5365853658536586,"last_synced_commit":"abfac967be58da4aa543d3db9ac3b9f490718f6a"},"previous_names":["thatsmrtalbot/helm-docgen","cert-manager/helm-docgen","cert-manager/helm-tool"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Fhelm-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Fhelm-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Fhelm-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cert-manager%2Fhelm-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cert-manager","download_url":"https://codeload.github.com/cert-manager/helm-tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249565218,"owners_count":21292427,"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":"2024-11-08T22:19:24.450Z","updated_at":"2025-04-23T20:49:11.322Z","avatar_url":"https://github.com/cert-manager.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Helm tool\n\nTool for generating documentation, generating values.schema.json and linting values.yaml. It works by reading the yaml content and the surrounding comments to infer information.\n\n## Usage\n\n- `helm-tool schema -i values.yaml \u003e values.schema.json` - Generate a values.schema.json file based on the properties in values.yaml\n- `helm-tool lint -i values.yaml -d templates -e values.linter.exceptions` - Lint the values.yaml properties based on what properties are used in the template (imperfect linter, might miss errors or report false positives)\n\nThere are two commands that can be used to generate documentation, `helm-tool render` and `helm-tool inject`.\n\n- `helm-tool render` - The render command will simply render the markdown to the stdout\n- `helm-tool inject` - The inject command will inject the generated documentation into an existing markdown file, it will look for the `## Properties` header and inject the documentation between it and the next header. This can be useful for keeping a chart README up to date.\n\n## Customising the output\n\n### Sections\n\nDocumentation can be divided up into sections through the `+docs:section` tag, for example:\n\n```yaml\n# +docs:section=Global\n# This contains all parameters that are used by all deployments in this chart.\n\n# Foo parameter description\nfoo: bar\n\n# +docs:section=Application\n# Application specific parameters\n\n# Baz parameter description\nbaz: qux\n```\n\nWould produce the following markdown:\n\n```markdown\n### Global\nThis contains all parameters that are used by all deployments in this chart.\n\n|property|description|type|default|\n|--|--|--|--|\n|`foo`|\u003cp\u003eFoo parameter description\u003c/p\u003e|`string`|\u003cpre\u003ebar\u003c/pre\u003e|\n\n### Application\nApplication specific parameters\n\n|property|description|type|default|\n|--|--|--|--|\n|`baz`|\u003cp\u003eBaz parameter description\u003c/p\u003e|`string`|\u003cpre\u003equx\u003c/pre\u003e|\n```\n\n### Undefaulted properties\n\nOften helm values files have properties that do not require a default value commented out, this tool can find those \nby marking them with the `+docs:property` tag. \n\nFor example:\n\n```yaml\n# +docs:property\n# Property description here\n# foo: bar\n```\n\nWould produce the following markdown:\n\n```markdown\n|property|description|type|default|\n|--|--|--|--|\n|`foo`|\u003cp\u003eProperty description here\u003c/p\u003e|`string`|\u003cpre\u003eundefined\u003c/pre\u003e|\n```\n\n\nThe detected name and type is not always correct, these can be provided using tags. For example:\n```yaml\n# +docs:property=foo\n# +docs:type=string\n# Property description here\n```\n\n```markdown\n|property|description|type|default|\n|--|--|--|--|\n|`foo`|\u003cp\u003eProperty description here\u003c/p\u003e|`string`|\u003cpre\u003eundefined\u003c/pre\u003e|\n```\n\n### Tags\n\nTags are used to alter how the documentation is generated. They are comments that exist within a comment block\n\n- `+docs:section=\u003cname\u003e` - Creates a new documentation section\n- `+docs:property` - Marks the field as a property that needs documentation\n- `+docs:ignore` - Ignore the field, not generating documentation, not used for linting or json schema generation\n- `+docs:hidden` - Hide the field from the documentation, but still use it for linting and json schema generation\n- `+docs:type=\u003ctype\u003e` - Override the type information for the property\n- `+docs:default=\u003cdefault\u003e` - Override the default value for the property\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcert-manager%2Fhelm-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcert-manager%2Fhelm-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcert-manager%2Fhelm-tool/lists"}