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

Official Helm Chart #168

Open
corkrean opened this issue Mar 7, 2023 · 7 comments
Open

Official Helm Chart #168

corkrean opened this issue Mar 7, 2023 · 7 comments
Assignees

Comments

@corkrean
Copy link

corkrean commented Mar 7, 2023

Creating this issue to track interest in an officially supported Helm chart for deploying SpiceDB.

Related to #76

@Jolcik
Copy link

Jolcik commented Jul 4, 2023

It would be great to have an officially supported Helm Chart for SpiceDB. I saw the conversation in #76 and the chart created by @croemmich which is now linked in awesome-spicedb repository, but are there any plans on making it the official Helm chart? Is that something that I can possibly help with (of course in a cooperation with the original author)?
Thanks!

@vroldanbet
Copy link
Contributor

vroldanbet commented Jul 10, 2023

Some folks seem to be mantaining one for the operator, in case anyone interested: https://github.com/bushelpowered/spicedb-operator-chart

@ChristianSch
Copy link

Absolutely, a plug-and-play helm chart is one of the reasons to choose a project over the other.

@ecordell
Copy link
Contributor

I think we can start to look at supporting an official helm chart. I played some with https://github.com/arttor/helmify and it seems like it would work to generate from the what we already have in the release pipeline. If that sees some use we could look more at something directly supported (instead of generated).

I am curious though - are there specific restrictions around using helm charts that make that more desirable? Or places where a helm chart is the only reasonable way to deploy it?

We already distribute kustomize manifests (which can be applied with just kubectl) and distribute the manifests in an OCI image (if you want simplified provenance). If there's specific target platforms or requirements for the helm chart that would be useful for us to understand.

What I like about distributing Kustomize is that it's dead-simple to modify as a user. With helm, if the thing you want to change isn't templated, you'll have to open an issue or PR here to get it added. But if we need helm, we need helm.

@julienvincent
Copy link

julienvincent commented Jul 30, 2023

The biggest factor for me is that Pulumi has much better integration with Helm than with Kustomize. One such simple example is how namespaces are treated much more as first-class templated targets.

If I wanted to control the namespace into which the chart is deployed, I do the following:

const namespace = new kubernetes.core.v1.Namespace("my-custom-namespace", {})

new kubernetes.helm.v3.Chart(name, {
  fetchOpts: {
    repo: "https://bushelpowered.github.io/spicedb-operator-chart"
  },
  chart: "spicedb-operator",
  version: "1.0.8",
  namespace: namespace.metadata.name,
  values: {}
});

If I wanted to do this with Kustomize I would need to either write files to disk to modify this property or specify custom Pulumi transformers to modify the generated manifests which is very clunky.

@ecordell
Copy link
Contributor

ecordell commented Jul 31, 2023

@julienvincent Thanks for the context! Looks like pulumi/pulumi-kubernetes#2046 would make the kustomize experience in pulumi match the helm one, but for now I can see why you'd prefer helm.

@croemmich
Copy link

We have in-house cluster bootstrapping tools that expect everything is deployed with helm and our team is comfortable with it. It would be more effort to add Kustomize support than it was to make a helm chart.

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

No branches or pull requests

7 participants