Skip to content

A command line tool to create Helm Chart dependency graphs.

License

Notifications You must be signed in to change notification settings

sunnyvale-it/helm-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Sep 1, 2021
0447a8f · Sep 1, 2021

History

18 Commits
Sep 1, 2021
Aug 31, 2021
Aug 31, 2021
Sep 1, 2021
Sep 1, 2021
Sep 1, 2021
Aug 5, 2021
Sep 1, 2021
Sep 1, 2021
Sep 1, 2021
Aug 5, 2021

Repository files navigation

Usage examples

No dependencies:

$ helm-graph render --name "common" -r https://charts.bitnami.com/bitnami -v 1.8.0 -o yaml
name: common
version: 1.8.0
repo: https://charts.bitnami.com/bitnami
deps: []

Nested dependencies:

$ helm-graph render --name "kafka" -r https://charts.bitnami.com/bitnami -v 14.0.5 -o yaml
name: kafka
version: 14.0.5
repo: https://charts.bitnami.com/bitnami
deps:
- name: common
  version: 1.8.0
  repo: https://charts.bitnami.com/bitnami
  deps: []
- name: zookeeper
  version: 7.4.1
  repo: https://charts.bitnami.com/bitnami
  deps:
  - name: common
    version: 1.8.0
    repo: https://charts.bitnami.com/bitnami
    deps: []

Pretty print json output with jq

$ helm-graph render --name "kafka" -r https://charts.bitnami.com/bitnami -v 14.0.5 -o json | jq .
{
  "Name": "kafka",
  "Version": "14.0.5",
  "Repo": "https://charts.bitnami.com/bitnami",
  "Deps": [
    {
      "Name": "common",
      "Version": "1.8.0",
      "Repo": "https://charts.bitnami.com/bitnami",
      "Deps": null
    },
    {
      "Name": "zookeeper",
      "Version": "7.4.1",
      "Repo": "https://charts.bitnami.com/bitnami",
      "Deps": [
        {
          "Name": "common",
          "Version": "1.8.0",
          "Repo": "https://charts.bitnami.com/bitnami",
          "Deps": null
        }
      ]
    }
  ]
}

Flat json output with jq:

$ helm-graph render --name "kafka" -r https://charts.bitnami.com/bitnami -v 14.0.5 -o json |  jq '[leaf_paths as $path | {"key": $path | join("."), "value": getpath($path)}] | from_entries'
{
  "Name": "kafka",
  "Version": "14.0.5",
  "Repo": "https://charts.bitnami.com/bitnami",
  "Deps.0.Name": "common",
  "Deps.0.Version": "1.8.0",
  "Deps.0.Repo": "https://charts.bitnami.com/bitnami",
  "Deps.1.Name": "zookeeper",
  "Deps.1.Version": "7.4.1",
  "Deps.1.Repo": "https://charts.bitnami.com/bitnami",
  "Deps.1.Deps.0.Name": "common",
  "Deps.1.Deps.0.Version": "1.8.0",
  "Deps.1.Deps.0.Repo": "https://charts.bitnami.com/bitnami"
}

All the charts as objects in a flat array, removing duplicated:

$ helm-graph render --name "airflow" -r https://charts.bitnami.com/bitnami -v 10.3.1 -o json |  jq '[.. | objects | select(has("Deps")) | {Name: .Name, Version: .Version, Repo: .Repo}] |unique'                                                                                                     
[
  {
    "Name": "airflow",
    "Version": "10.3.1",
    "Repo": "https://charts.bitnami.com/bitnami"
  },
  {
    "Name": "common",
    "Version": "1.7.1",
    "Repo": "https://charts.bitnami.com/bitnami"
  },
  {
    "Name": "common",
    "Version": "1.8.0",
    "Repo": "https://charts.bitnami.com/bitnami"
  },
  {
    "Name": "postgresql",
    "Version": "10.9.3",
    "Repo": "https://charts.bitnami.com/bitnami"
  },
  {
    "Name": "redis",
    "Version": "14.8.11",
    "Repo": "https://charts.bitnami.com/bitnami"
  }
]

About

A command line tool to create Helm Chart dependency graphs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages