From 2d629e91010bc0ad10a071aa3601daf6bdb3172c Mon Sep 17 00:00:00 2001 From: SajidDeo Date: Fri, 10 Oct 2025 17:20:41 -0400 Subject: [PATCH 1/4] feat(sop): add components to aurora-platform-charts --- .../_index.en.md | 7 ++ ...ing-components-aurora-platform-chart.en.md | 89 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md diff --git a/content/en/team/standard-operating-procedures/_index.en.md b/content/en/team/standard-operating-procedures/_index.en.md index faa4e7b..bba8851 100644 --- a/content/en/team/standard-operating-procedures/_index.en.md +++ b/content/en/team/standard-operating-procedures/_index.en.md @@ -26,6 +26,13 @@ Here are the current procedures in place:
+ + +Veuillez noter que ce document est actuellement en cours de développement actif et pourrait être sujet à des révisions. Une fois terminé, il sera entièrement traduit en français et mis à disposition dans sa version finale. + + +This document outlines the process for adding a new component to the [aurora-platform-charts repository](https://github.com/gccloudone-aurora/aurora-platform-charts). + +## Context + +Aurora uses ArgoCD to deploy Helm charts through the `Application` resource. + +If you are unfamiliar with how ArgoCD deploys Helm charts, review the [ArgoCD Helm documentation](https://argo-cd.readthedocs.io/en/stable/user-guide/helm/) and examples in the aurora-platform-charts repository before proceeding. + +### Pre-requisites + +Before adding any third-party helm charts to the Aurora platform do the following: + +* Test the Helm chart in a local cluster and validate the rendered YAML manifests. +* Confirm that the Helm repository URL matches the official vendor repository URL. + +## Procedure + +### 1. Decide which folder the component should go under + +Determine if the component should go under `aurora-app` or `aurora-core`. `aurora-app` are for components that enhance the functionality of the Aurora platform and `aurora-core` are for components that are critical for Aurora's operation. + +### 2. Create a subfolder for the component + +Within the appropriate folder (`aurora-app` or `aurora-core`), create a new subfolder under `templates` named after the component. + +### 3. Create the YAML file for the component + +Create the `.yaml` file in the folder that was just created & add templating for the following fields: + +* tolerations +* image +* priorityClassName +* affinity +* nodeSelector + +Add templating for any other fields you think should be configurable for the component. + +The templating for the component should allow configurability for other Cloud Service Providers if applicable. + +[Example](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-platform/charts/aurora-core/templates/cert-manager/cert-manager.yaml) + +If applicable, create a separate .yaml file for anything that may also need to be deployed for the component to work, such as Custom Resources. + +[Example](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-platform/charts/aurora-core/templates/cert-manager/issuers.yaml) + +### 4. Create the `namespace.yaml` file + +For the `namespace.yaml`, fill in the appropriate values according to the values for the aurora-solution chart [available here](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-solution/values.yaml). The `information` field should remain the same as other components. + +[Example](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-platform/charts/aurora-app/templates/argo-workflow/namespace.yaml) + +### 5. Create the `netpol.yaml` file + +For the `netpol.yaml`, create any Network Policies exempting flows the component may need. By default, all flows are denied unless explicitly granted through the `NetworkPolicy` or through the `CiliumClusterwideNetworkPolicy`. + +[Example](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-platform/charts/aurora-core/templates/falco/netpol.yaml) + +### 6. Create the `_helpers.tpl` file + +For the `_helpers.tpl`, create a helper template for all image fields referenced in the component's YAML file that you created. The template should allow users the flexibility to pull the image from a third-party registry or from a custom registry. [Example](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-platform/charts/aurora-app/templates/argo-workflow/_helpers.tpl). + +### 7. Update the `values.yaml` file + +Add the default values to the `values.yaml` file for your component under the `aurora-core` or `aurora-app` folder. Ensure defaults for the fields specified in section [Create the YAML file for the component](#create-the-yaml-file-for-the-component) are provided. + +[Example](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-platform/charts/aurora-core/values.yaml#L342) + +Also add your component under either the `core` or `app` field as `# component: {}` in the `values.yaml` file located under `aurora-platform`. + +### 8. Update the `Chart.yaml` + +Bump the version number specified in the `Chart.yaml` file located under `aurora-platform`. + +### 9. Deploy & test + +Once your pull request is merged, you can patch the `version` field in the `config.yaml` to the new version of the aurora-platform chart. Once completed, the new `Applications` should be visible in the ArgoCD instance from where you can manually sync the application & have the resources deployed onto the cluster. Test the component and validate it functions as expected. From e3b8a915550b92212983026ac56570ef93267992 Mon Sep 17 00:00:00 2001 From: SajidDeo Date: Fri, 10 Oct 2025 17:24:07 -0400 Subject: [PATCH 2/4] fix: linting issues --- ...adding-components-aurora-platform-chart.en.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md b/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md index 35ea4d5..fa9ae58 100644 --- a/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md +++ b/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md @@ -23,8 +23,8 @@ If you are unfamiliar with how ArgoCD deploys Helm charts, review the [ArgoCD He Before adding any third-party helm charts to the Aurora platform do the following: -* Test the Helm chart in a local cluster and validate the rendered YAML manifests. -* Confirm that the Helm repository URL matches the official vendor repository URL. +- Test the Helm chart in a local cluster and validate the rendered YAML manifests. +- Confirm that the Helm repository URL matches the official vendor repository URL. ## Procedure @@ -40,11 +40,11 @@ Within the appropriate folder (`aurora-app` or `aurora-core`), create a new subf Create the `.yaml` file in the folder that was just created & add templating for the following fields: -* tolerations -* image -* priorityClassName -* affinity -* nodeSelector +- tolerations +- image +- priorityClassName +- affinity +- nodeSelector Add templating for any other fields you think should be configurable for the component. @@ -74,7 +74,7 @@ For the `_helpers.tpl`, create a helper template for all image fields referenced ### 7. Update the `values.yaml` file -Add the default values to the `values.yaml` file for your component under the `aurora-core` or `aurora-app` folder. Ensure defaults for the fields specified in section [Create the YAML file for the component](#create-the-yaml-file-for-the-component) are provided. +Add the default values to the `values.yaml` file for your component under the `aurora-core` or `aurora-app` folder. Ensure defaults for the fields specified in section [Create the YAML file for the component](#3-create-the-yaml-file-for-the-component) are provided. [Example](https://github.com/gccloudone-aurora/aurora-platform-charts/blob/main/stable/aurora-platform/charts/aurora-core/values.yaml#L342) From 60c53faf258a254906bbf330371b18f07d16dd0b Mon Sep 17 00:00:00 2001 From: SajidDeo Date: Tue, 14 Oct 2025 15:02:42 -0400 Subject: [PATCH 3/4] add blurb ab getting a review & helm template command --- .../adding-components-aurora-platform-chart.en.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md b/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md index fa9ae58..0010c49 100644 --- a/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md +++ b/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md @@ -23,7 +23,9 @@ If you are unfamiliar with how ArgoCD deploys Helm charts, review the [ArgoCD He Before adding any third-party helm charts to the Aurora platform do the following: -- Test the Helm chart in a local cluster and validate the rendered YAML manifests. +- Render the helm templates and verify that the rendered manifests are what we expect (e.g. there are no additional resources that are being created that we don't expect) + + ```helm template ./path/to/chart --values= ``` - Confirm that the Helm repository URL matches the official vendor repository URL. ## Procedure @@ -84,6 +86,10 @@ Also add your component under either the `core` or `app` field as `# component: Bump the version number specified in the `Chart.yaml` file located under `aurora-platform`. +### 9. Create a pull request + +Once you've pushed up your branch with all the changes, create a pull request and request a review from the team. + ### 9. Deploy & test -Once your pull request is merged, you can patch the `version` field in the `config.yaml` to the new version of the aurora-platform chart. Once completed, the new `Applications` should be visible in the ArgoCD instance from where you can manually sync the application & have the resources deployed onto the cluster. Test the component and validate it functions as expected. +Once your pull request is approved, merge in your pull request. You can patch the `version` field in the `config.yaml` to the new version of the aurora-platform chart. Once completed, the new `Applications` should be visible in the ArgoCD instance from where you can manually sync the application & have the resources deployed onto the cluster. Test the component and validate it functions as expected. From 410be7dec0f0233d1cde6f47e5da7c9f1c953fb3 Mon Sep 17 00:00:00 2001 From: SajidDeo Date: Tue, 14 Oct 2025 16:44:37 -0400 Subject: [PATCH 4/4] remove space --- .../adding-components-aurora-platform-chart.en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md b/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md index 0010c49..dbeb2d3 100644 --- a/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md +++ b/content/en/team/standard-operating-procedures/adding-components-aurora-platform-chart.en.md @@ -25,7 +25,7 @@ Before adding any third-party helm charts to the Aurora platform do the followin - Render the helm templates and verify that the rendered manifests are what we expect (e.g. there are no additional resources that are being created that we don't expect) - ```helm template ./path/to/chart --values= ``` + ```helm template ./path/to/chart --values=``` - Confirm that the Helm repository URL matches the official vendor repository URL. ## Procedure