deployments

Dotablaze Platform Deployments

Deploy Pages License: MIT Docs

๐Ÿ“ฆ Helm Chart App Versions

๐Ÿงญ Overview

This repository powers the GitOps-driven deployment layer for the Dotablaze platform. It contains Helm charts, ArgoCD ApplicationSet configurations, and environment-specific overrides to manage and automate deployments across clusters.


๐Ÿ“ Repository Structure

.
โ”œโ”€โ”€ envs/                 ๐Ÿ“ฆ Environment-specific app configs (dev/staging/prod)
โ”œโ”€โ”€ charts/               ๐Ÿ› ๏ธ Helm charts for Dotablaze services
โ”œโ”€โ”€ excluded/             ๐Ÿงช Experimental or disabled charts
โ”œโ”€โ”€ LICENSE               ๐Ÿ“„ License information
โ””โ”€โ”€ README.md             ๐Ÿ“ This file

๐Ÿš€ Continuous Delivery with Argo CD

This repo is designed for use with Argo CD and ApplicationSet, which dynamically syncs Helm-based apps defined under envs/.

๐Ÿงพ Example dev.yaml

apps:
  - appName: core-dev
    helmPath: charts/core
    namespace: dev
    values:
      - values-dev.yaml

๐Ÿ”ง ApplicationSet Template (Bootstrap)

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: dotablaze-deployments
  namespace: argocd
spec:
  goTemplate: true
  goTemplateOptions: [ "missingkey=error" ]
  generators:
    - matrix:
        generators:
          - git:
              repoURL: https://github.com/dotablaze-tech/deployments.git
              revision: main
              files:
                - path: envs/*
          - list:
              elementsYaml: ""
  template:
    metadata:
      name: ""
      annotations:
        argocd.argoproj.io/sync-wave: "1"
    spec:
      project: default
      source:
        repoURL: https://github.com/dotablaze-tech/deployments.git
        targetRevision: main
        path: ""
      destination:
        namespace: ""
        server: https://kubernetes.default.svc
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
        syncOptions:
          - CreateNamespace=true
          - PruneLast=true
  templatePatch: |
    spec:
      source:
        helm:
          valueFiles:

๐Ÿ—๏ธ Adding a New Environment

  1. Create a new file under envs/, e.g. envs/staging.yaml
  2. Define your applications like so:
apps:
  - appName: users-staging
    helmPath: charts/users
    namespace: staging
    values:
      - values-staging.yaml
  1. Commit and push. ArgoCD will pick it up and deploy.

๐Ÿ“ฆ Adding a New Helm Chart

  1. Scaffold a chart:

    helm create charts/<app-name>
    
  2. Customize Chart.yaml, values.yaml, and templates.
  3. Add the chart to one or more environments in envs/.
  4. Optionally add values-dev.yaml, values-prod.yaml, etc.
  5. Test your chart locally:

    helm install --dry-run --debug ./charts/<app-name>
    

๐Ÿงฉ dotablaze-tech/platform

Main monorepo for the Dotablaze platform, containing services, libraries, and tooling.


๐ŸŒ Documentation

Deployment and chart documentation is available via GitHub Pages:

๐Ÿ”— Dotablaze Deployments GitHub Pages

Auto-updated via ๐Ÿš€ GitHub Actions


๐Ÿ“„ License

Licensed under the MIT License. See the LICENSE file for details.