Skip to content

GitOps-driven deployment configurations for the Dotablaze platform. Includes Helm charts, ArgoCD app definitions, and environment-specific overrides.

License

Notifications You must be signed in to change notification settings

dotablaze-tech/deployments

Repository files navigation

Dotablaze Tech Platform Deployments

Deploy Pages License: MIT Docs

📦 Helm Chart App Versions

meowbot Chart Version


🧭 Overview

This repository powers the GitOps-driven deployment layer for the Dotablaze Tech 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 Tech services
├── excluded/             🧪 Experimental or disabled charts
├── bootstrap.yaml        ⚙️ Main app configuration
├── 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: meowbot-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: "{{ .apps | toJson }}"
  template:
    metadata:
      name: "{{ .appName }}"
      annotations:
        argocd.argoproj.io/sync-wave: "1"
    spec:
      project: default
      source:
        repoURL: https://github.com/dotablaze-tech/deployments.git
        targetRevision: main
        path: "{{ .helmPath }}"
      destination:
        namespace: "{{ .namespace }}"~
        server: https://kubernetes.default.svc
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
        syncOptions:
          - CreateNamespace=true
          - PruneLast=true
  templatePatch: |
    spec:
      source:
        helm:
          valueFiles:
            {{- toYaml .values | nindent 12 }}

🏗️ 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>

🧱 Related Repositories

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

  • 🚀 Micro frontends & backends
  • 🧱 Angular, Golang, Java
  • 🔗 Integrated with K8s and containerized deployments

🌍 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.

About

GitOps-driven deployment configurations for the Dotablaze platform. Includes Helm charts, ArgoCD app definitions, and environment-specific overrides.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published