Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

CryptOS-PKI/helm

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚓ helm

Helm charts for deploying the CryptOS-PKI control plane on Kubernetes.

This repo currently ships a single chart that deploys the Fleet Manager: the manager Go backend that talks to CryptOS CA nodes over mTLS gRPC and serves the static web frontend.

🚨 Status: pre-alpha. The chart compiles, lints clean, and renders sensible Kubernetes objects, but a production-ready manager container image is not yet published to the default registry. Treat this chart as a deployment template you can iterate against, not a turnkey install.

📦 What's in this repo

charts/
  manager/                # Fleet Manager Helm chart
    Chart.yaml
    values.yaml
    templates/
      _helpers.tpl
      configmap.yaml
      deployment.yaml
      ingress.yaml
      service.yaml
      serviceaccount.yaml
      NOTES.txt
LICENSE                   # Apache License 2.0
NOTICE
Taskfile.yml              # lint / package / ci targets
.golic.yaml               # license-header injector config
.licignore                # which files golic should touch

⚙️ Prerequisites

  • Helm 3.12+.
  • A Kubernetes cluster running 1.27 or newer (the chart's kubeVersion constraint enforces this).
  • A Kubernetes Secret of type kubernetes.io/tls holding the TLS cert and key the Fleet Manager will terminate on. The chart never creates this for you, by design - the cert path is on you.
  • A Postgres database reachable from the cluster, and a Kubernetes Secret containing its DSN under the key dsn (or whatever you set postgres.dsnSecretKey to).

🚀 Quickstart

Create the supporting secrets in your target namespace, then install:

kubectl create namespace cryptos-fm

kubectl -n cryptos-fm create secret tls fm-tls \
  --cert=./fm.crt --key=./fm.key

kubectl -n cryptos-fm create secret generic fm-postgres \
  --from-literal=dsn='postgres://fm:password@db.cryptos-fm.svc:5432/fm?sslmode=require'

helm install fm ./charts/manager \
  --namespace cryptos-fm \
  --set fm.tlsSecretName=fm-tls \
  --set postgres.dsnSecretName=fm-postgres

Render-only (no install) if you want to eyeball the manifests first:

helm template fm ./charts/manager \
  --set fm.tlsSecretName=fm-tls \
  --set postgres.dsnSecretName=fm-postgres

🔧 Values overview

The full schema lives in charts/manager/values.yaml. Highlights:

Key Default Notes
replicaCount 1 Backend is stateless; scale horizontally as needed.
image.repository ghcr.io/cryptos-pki/manager Backend image. No production tag is published yet.
image.tag "" Falls back to .Chart.AppVersion when empty.
service.type ClusterIP Use ingress (below) or a LoadBalancer override to expose externally.
service.port / service.targetPort 443 / 8443 The backend terminates TLS itself; both ports speak HTTPS.
ingress.enabled false Off by default. When enabled, only networking.k8s.io/v1 is supported.
podSecurityContext / securityContext non-root, read-only rootfs, dropped caps The container only needs to read the mounted TLS secret and write to /tmp.
fm.tlsSecretName "" Required at runtime. Pre-create the Secret yourself.
postgres.dsnSecretName "" Required at runtime. DSN read via secretKeyRef.

🛠️ Local development

go-task wraps the common workflows:

task lint        # helm lint charts/*
task package     # helm package charts/manager (produces manager-<version>.tgz)
task license     # re-inject Apache 2.0 headers via golic
task ci          # currently equivalent to `task lint`

🧭 Companion repos

  • 🧠 cryptos - the OS and CA engine (UKI; runs on bare metal or in a VM).
  • 📡 manager - Fleet Manager backend (the workload this chart deploys).
  • 🎨 web - Fleet Manager web frontend (compiled into the manager image).
  • :antenna: api - shared .proto definitions and generated gRPC stubs.

📄 License

Apache License 2.0. Copyright 2026 Shane.

About

Helm chart for deploying the CryptOS-PKI Fleet Manager on Kubernetes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.