JDW Apps Helm Repository

π¦ Helm Chart Versions
[](https://github.com/jdwillmsen/jdw-apps/blob/main/charts/authui/Chart.yaml)
[](https://github.com/jdwillmsen/jdw-apps/blob/main/charts/container/Chart.yaml)
[](https://github.com/jdwillmsen/jdw-apps/blob/main/charts/rolesui/Chart.yaml)
[](https://github.com/jdwillmsen/jdw-apps/blob/main/charts/usersui/Chart.yaml)
[](https://github.com/jdwillmsen/jdw-apps/blob/main/charts/servicediscovery/Chart.yaml)
[](https://github.com/jdwillmsen/jdw-apps/blob/main/charts/usersrole/Chart.yaml)
[](https://github.com/jdwillmsen/jdw-apps/blob/main/charts/secret-store/Chart.yaml)
π§ Overview
JDW Apps is a Helm repository used for deploying applications via Argo CD. It provides a centralized way to manage
Kubernetes applications with environment-specific configurations and GitOps automation.
π Repository Structure
.
βββ envs/ π¦ Environment-specific configurations (dev/prd/uat)
βββ excluded/ ποΈ Excluded/test charts and manifests
βββ charts/ π οΈ Helm charts for JDW apps
βββ jdw-apps.yaml βοΈ Main app configuration
βββ LICENSE π License info
βββ README.md π This file
π Automated Deployment via Argo CD
This repo is wired to Argo CD using ApplicationSet, which dynamically configures and deploys Helm apps defined in
envs/.
π§Ύ Example dev.yaml
apps:
- appName: secret-store-dev
helmPath: charts/secret-store
namespace: dev
values:
- values-dev.yaml
- appName: container-dev
helmPath: charts/container
namespace: dev
values:
- values-dev.yaml
# ...and so on for other apps
π§ ApplicationSet Bootstrap Configuration
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: jdw-apps-config
namespace: argocd
spec:
goTemplate: true
goTemplateOptions: [ "missingkey=error" ]
generators:
- matrix:
generators:
- git:
repoURL: https://github.com/jdwillmsen/jdw-apps.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/jdwillmsen/jdw-apps.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
- Create a new YAML file under
envs/, e.g. envs/staging.yaml
- Define applications as shown:
```yaml
apps:
- appName: usersui-staging
helmPath: charts/usersui
namespace: staging
values:
- Commit and push β Argo CD will detect and deploy automatically
π¦ Adding a New Helm Chart
-
Create your chart:
helm create charts/<app-name>
- Customize
Chart.yaml, values.yaml, and templates.
- Add the chart to the appropriate environment file (e.g.,
envs/dev.yaml).
- (Optional) Add
values-dev.yaml, values-prd.yaml, etc. for overrides.
-
Test your chart locally:
helm install --dry-run --debug ./charts/<app-name>
βΈοΈ JDW Kube
The JDW Kube repo manages the Kubernetes infrastructure for the JDW
platform.
- π Cluster Configuration & Secrets Management
- π Automated Deployments via Argo CD
- βοΈ Base Ingress, Monitoring, and Platform Services
π§© JDW Project
The JDW Monorepo powers all front-end and back-end services.
- π§± Apps (Angular, Go, Spring Boot)
- 𧬠Libs (UI, feature, util, data-access)
- βοΈ Tools (CI/CD, Docker, versioning, linting)
π Documentation
All Helm charts and deployment details are available via GitHub Pages:
π JDW Apps GitHub Pages
This site is auto-updated by π GitHub Actions.
π License
This repository is licensed under the MIT License. See the LICENSE file for
full details.