Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Sign Helm Charts #61

Open
2 of 5 tasks
bradmccoydev opened this issue May 5, 2023 · 4 comments
Open
2 of 5 tasks

[Feature]: Sign Helm Charts #61

bradmccoydev opened this issue May 5, 2023 · 4 comments

Comments

@bradmccoydev
Copy link
Member

Checklist

  • I've searched for similar issues and couldn't find anything matching
  • I've discussed this feature request in the K8sGPT Slack and got positive feedback

Is this feature request related to a problem?

No

Problem Description

Helm Provenance and Integrity

Helm has provenance tools which help chart users verify the integrity and origin of a package. Using industry-standard tools based on PKI, GnuPG, and well-respected package managers, Helm can generate and verify signature files.

Integrity is established by comparing a chart to a provenance record. Provenance records are stored in provenance files, which are stored alongside a packaged chart. For example, if a chart is named myapp-1.2.3.tgz, its provenance file will be myapp-1.2.3.tgz.prov.

Provenance files are generated at packaging time (helm package --sign ...), and can be checked by multiple commands, notably helm install --verify.

Right now there in ArtifactHub there it is showing as the helm chart is not signed. This could stop some people from adopting it. https://artifacthub.io/packages/helm/k8sgpt/k8sgpt-operator

It is easy to do so I propose that we do it. We can add this capability on to the helm-chart-releaser that we already use.

Solution Description

  • Create GPG Key and passpharse
  • Upload them to Github Secrets
  • Update GitHub action to sign the chart

Benefits

People will trust the charts more and enterprises with proper security processes and practices will be able to tick their compliance boxes and adopt it.

Potential Drawbacks

No Drawbacks

Additional Information

No response

@bradmccoydev
Copy link
Member Author

We will need a maintainer to add the following environment variables for this task:
HELM_SIGNING_PRIVATE_KEY
HELM_SIGNING_PRIVATE_KEY_PASSPHRASE

They can make the key themselves or I can send it to them to upload as I do not have access, and then I can make the PR

@AlexsJones
Copy link
Member

I have no access to do it @thschue you own the repo on artifact hub

@bradmccoydev
Copy link
Member Author

it is actually the Github repo secrets. sorry I wasn't clear. Then we only need to add the annotations on the chart.yaml for the public key

@nox1134
Copy link

nox1134 commented Jan 25, 2024

Hey @AlexsJones ! I'd like to work on this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants