Add new Job¶
When adding a new job there is a few things to consider:
Setup¶
Solution:¶
- Create new project following naming conventions (ending in .Job)
- Add charts/Dockerfile (look at existing job for structure/content but make sure to not copy paste names).
- Make sure to configure cronjob section correctly so it runs on desired schedule (or set suspend=true if only manually triggered)
- Add new project to
[Area]-Build.ymlfilePROJECTNAMESlist
Infrastructure (platform-infrastructure repo)¶
- Add application identity (and any other new resources needed) to
opentofu/apps-layer/[area].tf - Add network access config to
/helm/values/internal/noncde-network-policies/values.yaml - Add new appProject into corresponding appArea in
/helm/values/internal/argo-cd/applications/values.yaml
Config (if adding e.g. secrets)¶
- Add config in be-configuration (example: https://github.com/majority-dev/be-configuration/blob/04c109773daaafe09ae68e2ff26bc2aeebf8de26/src/dev/app-settings-minority-feesandpromotions-chargesubscription-job.json)
Deploy¶
- Merge platform-infrastructure (Observe that this needs approval from both developer and change manager)
- Network policy is automatically synced by ArgoCD
- Deploy infrastructure update by asking team platform (#platform-support) to deploy (applies to all environments), github actions here: https://github.com/majority-dev/platform-infrastructure/actions/workflows/opentofu_apply_apps_layer.yml
- Merge be-configuration
- Merge code which will trigger build and deploy of new job if configured correctly