Skip to content

Conversation

@lxfontes
Copy link
Member

@lxfontes lxfontes commented Sep 2, 2024

Identifying opportunities for improvement in kubernetes install & interoperability across helm charts.

Minimal Install:

  • NATS
  • wadm
  • wasmcloud-operator
  • secrets-backend ( expected to be inside wasmcloud-operator )

Optional Install:

  • Opentelemetry Collector
  • Loki Logs
  • Zipkin Tracing

How

By leveraging Helm dependencies:

Chart.yaml

dependencies:
  - name: nats
    version: 1.2.4
    repository: https://nats-io.github.io/k8s/helm/charts/
  - name: wadm
    version: 0.2.5
    repository: oci://ghcr.io/wasmcloud/charts
  - name: wasmcloud-operator
    version: 0.1.5
    repository: oci://ghcr.io/wasmcloud/charts

Keys in values.yaml matching the dependency name will be forwarded to the dependency:

values.yaml

nats:
  config:
    cluster:
      enabled: true
      replicas: 3
    leafnodes:
      enabled: true
    websocket:
      enabled: true
      port: 4223
    jetstream:
      enabled: true
      fileStore:
        pvc:
          size: 10Gi
      merge:
        domain: default

wadm:
  wadm:
    image:
      tag: v0.12.2
    config:
      nats:
        server: "nats.default.svc.cluster.local:4222"

Challenges / Questions

  • Namespace: Confirm all software works in any namespace
  • NATS URLs: NATS chart uses the ReleaseName as service name. wasmcloud charts should allow templating in NATS URLs.
  • wadm config stutters. Suggestion: rename the top-level to config, or remove it.
  • NATS Authentication. (haven't tried)
  • wasmcloud-operator chart doesn't include secrets-backend
  • ⚠️ Multi-cluster ( N wasmcloud clusters inside 1 kubernetes cluster ). Feels like a wasmcloud-operator gap, and could influence how NATS is setup ( via operator or externally )

Signed-off-by: Lucas Fontes <lucas@cosmonic.com>
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

Successfully merging this pull request may close these issues.

1 participant