DevKekOps
- TODO: Investigate
available_versions.contains_security_updates
field in the artifacthub helm chart response. Sounds interesting.
- TODO: Implement resolving repo url to repo name for all commands
- TODO: It's easy to get rate limited by Artifact Hub, try to handle this
- TODO: Add better help outputs for the subcommands
Get info about helm charts such as available versions and vulnerabilites using Artifact Hub. If the chart is not on artifacthub, it's rendered using helm and scanned with trivy.
Usage
To identify a chart, use the repo name and chart name according to artifacthub. To find out what that is, you can use search
.
Search
devkekops search alloy
ORGANIZATION REPO CHART URL
grafana grafana alloy https://artifacthub.io/packages/helm/grafana/alloy
portefaix portefaix-hub alloy-mixin https://artifacthub.io/packages/helm/portefaix-hub/alloy-mixin
Compare vulnerabilities with the latest version of a chart
Artifact Hub uses Trivy to scan images.
devkekops compare grafana/alloy:0.8.1
CHART VERSION CRITICAL HIGH MEDIUM LOW
alloy 0.10.0 1 4 20 8
alloy 0.8.1 1 3 21 8
Use -diff
to output the difference between the latest and current chart:
CHART VERSION CRITICAL HIGH MEDIUM LOW URL
alloy 0.8.1 -> 0.10.0 0 1 -1 0 https://artifacthub.io/packages/helm/grafana/alloy
To compare many charts, add -file config.yaml
where config.yaml
looks like this:
# TODO: Maybe have separate fields for repo and repoUrl
- repo: ghcr.io
chart: actions/actions-runner-controller-charts/gha-runner-scale-set
version: 0.9.3
- repo: grafana
chart: alloy
version: 0.6.0
- repo: https://grafana.github.io/helm-charts
chart: alloy
version: 0.6.0
You can use a repo url, i.e. the url to where the helm registry, instead of the repo name.
Get available versions
devkekops versions grafana/alloy
0.10.0
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.1
0.5.0
0.4.0
0.3.2
0.3.1
0.3.0
0.2.0
0.1.1
0.1.0
Open a chart on artifacthub
TODO: Only works on mac.
devkekops open grafana/alloy
Binaries
Upload binaries to to https://slarwise.srht.site, see https://srht.site/quickstart.
mkdir site
GOOS=linux GOARCH=amd64 go build -o site/devkekops-linux-amd64-0.0.1 .
cd site
tar -cvz devkekops-linux-amd64-0.0.1 > site.tar.gz
hut pages publish -d slarwise.srht.site site.tar.gz
To download and run, do
wget --quiet https://slarwise.srht.site/devkekops-linux-amd64-0.0.1
mv devkekops-linux-amd64-0.0.1 devkekops
chmod u+x ./devkekops
./devkekops --help