Charts are grouped by purpose: storage/infra (databases and brokers), microservices
(Rust binaries), and the gateway. The full deploy order is encoded in
argocd/ sync waves — see ArgoCD GitOps below.
# dev
helm install auth ./fuel-auth -n fuel-auth --create-namespace
# prod
helm install auth ./fuel-auth -n fuel-auth --create-namespace -f ./fuel-auth/values-prod.yaml# dev
helm install channels ./fuel-channels -n fuel-channels --create-namespace
# prod
helm install channels ./fuel-channels -n fuel-channels --create-namespace -f ./fuel-channels/values-prod.yamlUsed by channels for caching and rate limiting; designed to be shared across services.
# dev
helm install valkey ./fuel-valkey -n fuel-valkey --create-namespace
# prod
helm install valkey ./fuel-valkey -n fuel-valkey --create-namespace -f ./fuel-valkey/values-prod.yaml# dev
helm install meili ./fuel-meilisearch -n fuel-meilisearch --create-namespace
# prod
helm install meili ./fuel-meilisearch -n fuel-meilisearch --create-namespace -f ./fuel-meilisearch/values-prod.yaml# dev
helm install kafka ./fuel-kafka -n fuel-kafka --create-namespace
# prod
helm install kafka ./fuel-kafka -n fuel-kafka --create-namespace -f ./fuel-kafka/values-prod.yaml# dev
helm install scylla ./fuel-scylladb -n fuel-scylladb --create-namespace
# prod
helm install scylla ./fuel-scylladb -n fuel-scylladb --create-namespace -f ./fuel-scylladb/values-prod.yaml# dev
helm install rustfs ./fuel-rustfs -n fuel-rustfs --create-namespace
# prod
helm install rustfs ./fuel-rustfs -n fuel-rustfs --create-namespace -f ./fuel-rustfs/values-prod.yamlAll five Rust services share the fuel-services namespace. Replace
fuel/service-*:latest in values.yaml with the actual image registry before
deploying.
# dev
helm install service-auth ./fuel-service-auth -n fuel-services --create-namespace
# prod
helm install service-auth ./fuel-service-auth -n fuel-services --create-namespace -f ./fuel-service-auth/values-prod.yamlhelm install service-channels ./fuel-service-channels -n fuel-services --create-namespacehelm install service-chats ./fuel-service-chats -n fuel-services --create-namespacehelm install service-calls ./fuel-service-calls -n fuel-services --create-namespacehelm install service-images ./fuel-service-images -n fuel-services --create-namespaceEdge proxy in front of all microservices. Inject X-User-Id after JWT
validation via gRPC to service-auth.
# dev
helm install gateway ./fuel-gateway -n fuel-gateway --create-namespace
# prod
helm install gateway ./fuel-gateway -n fuel-gateway --create-namespace -f ./fuel-gateway/values-prod.yaml# dev
helm install obs ./fuel-observability -n monitoring --create-namespace
# prod
helm install obs ./fuel-observability -n monitoring --create-namespace -f ./fuel-observability/values-prod.yaml
# Grafana port-forward
kubectl port-forward -n monitoring svc/obs-fuel-observability-grafana 3000:3000helm template <release-name> ./<chart-dir>argocd/ contains an app-of-apps layout that deploys every chart above via
ArgoCD with the right ordering (storage → service-auth → other services →
gateway). See argocd/README.md for full bootstrap instructions.
# 1. Install ArgoCD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# 2. Replace REPLACE_WITH_GIT_REPO_URL with the real repo URL
find argocd -name '*.yaml' -exec sed -i \
's|REPLACE_WITH_GIT_REPO_URL|https://github.com/your-org/FuelCommunication.git|g' {} +
# 3. Sealed Secrets controller (handles encrypted secrets in git)
kubectl apply -f argocd/bootstrap/sealed-secrets.yaml
# 4. AppProject + root app-of-apps
kubectl apply -f argocd/projects/fuel.yaml
kubectl apply -f argocd/root.yamlSync waves: storage -5 → observability -3 → service-auth -1 →
other services 0 → gateway 1.