-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add wg-easy applicaiton example with helmfile and taskfile flow #39
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a wg-easy application example along with the necessary helmfile and taskfile flows to demonstrate a development and release pattern. The changes introduce multiple task definitions for cluster management and GCP VM operations, helm chart configurations for cert-manager, traefik, and wg-easy, and a replicated application configuration.
Reviewed Changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
applications/wg-easy/taskfiles/utils.yml | Adds utility tasks for waiting on cluster status, managing Traefik, exposing ports, and performing GCP operations. |
applications/wg-easy/cert-manager/apps/cert-manager.yaml | Defines an ArgoCD Application for deploying cert-manager. |
applications/wg-easy/cert-manager/replicated/helmChart-cert-manager.yaml | Introduces a HelmChart resource for cert-manager. |
applications/wg-easy/Taskfile.yaml | Implements multiple tasks for creating clusters, managing dependencies, exposing ports, deploying helm charts, and release preparation. |
applications/wg-easy/helmfile.yaml | Configures helmfile releases with dependencies among cert-manager, traefik, and wg-easy charts. |
applications/wg-easy/charts/templates/templates/traefik-routes.yaml | Provides IngressRoute and Middleware definitions for Traefik routing. |
applications/wg-easy/replicated/application.yaml | Adds a replicated application configuration for wg-easy. |
Other files | Include additional helm charts, values, and configuration files supporting the overall example. |
Files not reviewed (1)
- applications/wg-easy/cert-manager-issuers/templates/issuers.yaml: Language not supported
Comments suppressed due to low confidence (2)
applications/wg-easy/replicated/application.yaml:4
- The release name 'wgeasy' is inconsistent with the application title 'wg-easy', which may lead to confusion. Align the naming between these fields.
name: wgeasy
applications/wg-easy/helmfile.yaml:27
- The dependency reference 'cert-manager/cert-manager' in the 'needs' field for the cert-manager-issuers release does not clearly correspond to an existing release name, leading to potential misconfiguration. Verify that dependency names match the intended release identifiers.
needs:
- Change web/HTTPS ports from 80/443 to 30080/30443 - Configure explicit nodePort values for Traefik - Make utility tasks public by removing internal flags - Fix helmfile command execution with eval - Enable web route configuration in wg-easy values
…d release for that
Added a GDoc with higher level notes: https://docs.google.com/document/d/1MzmO-e4KvucU5Nu6JPBSRYmkkn12fTV918nfOXkIoIU |
This is not currently ready for merge, but it does demonstrate the folder layout and uses taskfile and helmfile as a pattern separate from umbrella charts.
Issues to address before merge:
additionalNamesapce
inApplication
with the per-chart settingsHelmChart
must matchChart.yaml
charts/template
patternThere's more integration to be done with Replicated platform but the above were at least my intentions with this chart before merge. I want to explore this pattern and how the development/release flow works including using CMX to incrementally test with the smallest possible feedback loops.