Intro Extended
Let's try all features of Helmper in less than 5 minutes.
In this tutorial demonstrates the full functionality of Helmper, from identifying images in the Helm Chart to patching and signing the images.
Getting Started
Get started by setting up local services. These services are required for scanning and patching the images. Then proceed by creating the local filesystem structure, populate one of the folders by generating keys for cosign. Finally change the configuration to included the newly created resources.
Start local services
Registry
bash
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Buildkitd
bash
export BUILDKIT_VERSION=v0.15.1
export BUILDKIT_PORT=8888
docker run --detach --rm --privileged \
-p 127.0.0.1:$BUILDKIT_PORT:$BUILDKIT_PORT/tcp \
--name buildkitd --entrypoint buildkitd "moby/buildkit:$BUILDKIT_VERSION" --addr tcp://0.0.0.0:$BUILDKIT_PORT
Trivy
bash
docker run -d -p 8887:8887 --name trivy aquasec/trivy:0.50.4 server --listen=0.0.0.0:8887
Create output folders
bash
mkdir -p $HOME/.config/helmper/out/tars
mkdir -p $HOME/.config/helmper/out/reports
mkdir -p $HOME/.config/helmper/in
Setup cosign keys
bash
docker run -it --name cosign bitnami/cosign generate-key-pair 
docker cp cosign:/cosign-keys $HOME/.config/helmper/in/cosign-keys
Configuration
Change the configuration file
tip
Remember to change the user
$HOME/.config/helmper/helmper.yaml
k8s_version: 1.31.1
charts:
- name: prometheus
  version: 25.8.0
  plainHTTP: false
  repo:
    name: prometheus-community
    url: https://prometheus-community.github.io/helm-charts/
registries:
- name: registry # `Helmper` picks up authentication from the environment automatically.
  url: oci://0.0.0.0:5000
  insecure: true
  plainHTTP: true
import:
  enabled: true
  copacetic:
    enabled: true
    ignoreErrors: true
    buildkitd:
      addr: tcp://0.0.0.0:8888
    trivy:
      addr: http://0.0.0.0:8887
      insecure: true
      ignoreUnfixed: true
    output:
      tars:
        folder: /home/<YOUR_USER>/.config/helmper/out/tars
        clean: true
      reports:
        folder: /home/<YOUR_USER>/.config/helmper/out/reports
        clean: true
  cosign:
    enabled: true
    keyRef: /home/<YOUR_USER>/.config/helmper/in/cosign-keys/cosign.key
    KeyRefPass: ""
    allowInsecure: true
    allowHTTPRegistry: true
Run Helmper
Run Helmper
helmper
