Skip to content

Commit 3186577

Browse files
committed
Merge branch 'move-charts' into adamancini/release-create
2 parents 3f65934 + 797828c commit 3186577

File tree

96 files changed

+4031
-69
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+4031
-69
lines changed

.gitignore

-6
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22
**/charts/*.tgz
33
**/.specstory/
44

5-
6-
# Ignore Helm dependency directories
7-
**/charts/*.lock
8-
95
# General files to ignore
106
*.log
117
*.gz
@@ -53,8 +49,6 @@ applications/mlflow/tests/.venv/
5349
# wg-easy specific
5450
*.kubeconfig
5551
applications/wg-easy/release/
56-
applications/wg-easy/*/charts/
57-
applications/wg-easy/*/Chart.lock
5852
.aider*
5953
# SpecStory explanation file
6054
.specstory/.what-is-this.md

applications/wg-easy/README.md

+7-6
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,15 @@ Use tools to automate repetitive tasks, reducing human error and increasing deve
5555

5656
```
5757
applications/wg-easy/
58-
├── charts/templates/ # Common templates shared across charts
59-
├── cert-manager/ # Wrapped cert-manager chart
60-
├── cert-manager-issuers/ # Chart for cert-manager issuers
58+
├── charts
59+
│   ├── cert-manager # Wrapped cert-manager chart
60+
│   ├── cert-manager-issuers # Chart for cert-manager issuers
61+
│   ├── replicated-sdk # Replicated SDK chart
62+
│   ├── templates # Common templates shared across charts
63+
│   ├── traefik # Wrapped Traefik chart
64+
│   └── wg-easy # Main application chart
6165
├── replicated/ # Root Replicated configuration
62-
├── replicated-sdk/ # Replicated SDK chart
6366
├── taskfiles/ # Task utility functions
64-
├── traefik/ # Wrapped Traefik chart
65-
├── wg-easy/ # Main application chart
6667
├── helmfile.yaml # Defines chart installation order
6768
└── Taskfile.yaml # Main task definitions
6869
```

applications/wg-easy/Taskfile.yaml

+15-31
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ tasks:
137137
- echo "Updating Helm dependencies for all charts..."
138138
- |
139139
# Find all charts and update their dependencies
140-
for chart_dir in $(find . -maxdepth 2 -name "Chart.yaml" | xargs dirname); do
140+
for chart_dir in $(find charts/ -maxdepth 2 -name "Chart.yaml" | xargs dirname); do
141141
echo "Updating dependency $chart_dir"
142142
helm dependency update --skip-refresh "$chart_dir"
143143
done
@@ -276,10 +276,10 @@ tasks:
276276
- echo "Packaging Helm charts..."
277277
- |
278278
# Find top-level directories containing Chart.yaml files
279-
for chart_dir in $(find . -maxdepth 2 -name "Chart.yaml" | xargs dirname); do
279+
for chart_dir in $(find charts/ -maxdepth 2 -name "Chart.yaml" | xargs dirname); do
280280
echo "Packaging chart: $chart_dir"
281281
# Navigate to chart directory, package it, and move the resulting .tgz to release folder
282-
(cd "$chart_dir" && helm package . && mv *.tgz ../release/)
282+
(cd "$chart_dir" && helm package . && mv *.tgz ../../release/)
283283
done
284284
285285
- echo "Release files prepared in ./release/ directory"
@@ -458,37 +458,21 @@ tasks:
458458
echo "Removing release directory..."
459459
rm -rf ./release
460460
fi
461-
462-
# Find and remove tmpcharts-* directories
461+
462+
# Find and remove tmpcharts-* directories in charts/
463463
echo "Removing temporary chart directories..."
464+
find charts/ -type d -name "tmpcharts-*" -print
465+
find charts/ -type d -name "tmpcharts-*" -exec rm -rf {} \; 2>/dev/null || true
466+
467+
# Clean up chart dependencies (.tgz files) in charts/*/charts/
468+
echo "Removing chart dependencies..."
469+
find charts/ -path "*/charts/*.tgz" -type f -print
470+
find charts/ -path "*/charts/*.tgz" -type f -delete
471+
472+
# Clean up any tmpcharts directories in subdirectories
473+
echo "Cleaning up any remaining tmpcharts directories..."
464474
find . -type d -name "tmpcharts-*" -print
465475
find . -type d -name "tmpcharts-*" -exec rm -rf {} \; 2>/dev/null || true
466-
467-
# Find charts directories that only contain .tgz files (dependencies)
468-
echo "Removing chart dependency directories..."
469-
for charts_dir in $(find . -type d -name "charts"); do
470-
# Skip if the charts directory is in ./charts/ (which is our template charts directory)
471-
if [[ "$charts_dir" == "./charts" || "$charts_dir" == "./charts/"* ]]; then
472-
continue
473-
fi
474-
475-
# Check if the directory only contains .tgz files
476-
NON_TGZ_FILES=$(find "$charts_dir" -type f -not -name "*.tgz" | wc -l | tr -d ' ')
477-
TOTAL_FILES=$(find "$charts_dir" -type f | wc -l | tr -d ' ')
478-
479-
if [ "$TOTAL_FILES" -gt 0 ] && [ "$NON_TGZ_FILES" -eq 0 ]; then
480-
# Check if the directory contains any subdirectories
481-
SUBDIRS=$(find "$charts_dir" -mindepth 1 -type d | wc -l | tr -d ' ')
482-
483-
if [ "$SUBDIRS" -eq 0 ]; then
484-
echo "Removing entire chart dependency directory: $charts_dir"
485-
rm -rf "$charts_dir"
486-
else
487-
echo "Removing chart dependencies in $charts_dir (keeping subdirectories)"
488-
rm -f "$charts_dir"/*.tgz
489-
fi
490-
fi
491-
done
492476
- echo "Cleaning complete!"
493477

494478
full-test-cycle:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
dependencies:
2+
- name: cert-manager
3+
repository: https://charts.jetstack.io
4+
version: v1.14.5
5+
- name: templates
6+
repository: file://../templates
7+
version: 1.0.0
8+
digest: sha256:ab86a335f7f473446968c607ed7920bf4ce29f625e5ff6175be17bb2e1101a32
9+
generated: "2025-05-06T15:35:47.871225-04:00"

applications/wg-easy/cert-manager/Chart.yaml renamed to applications/wg-easy/charts/cert-manager/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ dependencies:
77
repository: https://charts.jetstack.io
88
- name: templates
99
version: '*'
10-
repository: file://../charts/templates
10+
repository: file://../templates
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
dependencies:
2+
- name: templates
3+
repository: file://../templates
4+
version: 1.0.0
5+
- name: replicated
6+
repository: oci://registry.replicated.com/library
7+
version: 1.1.1
8+
digest: sha256:bb2c4743fae54061dfde5812086300bf9ed7c86f9f4d80ccb0858df407d21a2a
9+
generated: "2025-05-06T15:35:43.881588-04:00"

applications/wg-easy/replicated-sdk/Chart.yaml renamed to applications/wg-easy/charts/replicated-sdk/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: v2
44
dependencies:
55
- name: templates
66
version: '*'
7-
repository: file://../charts/templates
7+
repository: file://../templates
88
- name: replicated
99
repository: oci://registry.replicated.com/library
1010
version: 1.1.1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
dependencies:
2+
- name: traefik
3+
repository: https://traefik.github.io/charts
4+
version: 28.0.0
5+
- name: templates
6+
repository: file://../templates
7+
version: 1.0.0
8+
digest: sha256:14c6de6f10918ec6bbe2d6e99408da62b362fc7950ce8793ebaaa4693ffdeb75
9+
generated: "2025-05-06T15:35:53.545992-04:00"

applications/wg-easy/traefik/Chart.yaml renamed to applications/wg-easy/charts/traefik/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ dependencies:
88
repository: https://traefik.github.io/charts
99
- name: templates
1010
version: '*'
11-
repository: file://../charts/templates
11+
repository: file://../templates
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: templates
3+
repository: file://../templates
4+
version: 1.0.0
5+
digest: sha256:9939fc386e44c7a8d0a274f270ec92ac70ac9858442b4f85638122044082da74
6+
generated: "2025-05-06T15:20:40.596254-04:00"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name: wg-easy
2+
version: 1.0.0
3+
apiVersion: v2
4+
dependencies:
5+
- name: templates
6+
version: '*'
7+
repository: file://../templates
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/
24+
manifests/
25+
doc/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: replicated-library
3+
repository: https://replicatedhq.github.io/helm-charts
4+
version: 0.13.10
5+
digest: sha256:cb41956b9ecae9581fa42eeb58487c8251a6e6d4ead534c28b577931e566e37e
6+
generated: "2023-12-27T16:31:00.156396361-06:00"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v2
2+
dependencies:
3+
- name: replicated-library
4+
repository: https://replicatedhq.github.io/helm-charts
5+
version: ^0.13.2
6+
description: Simple wireguard with web configuration management
7+
home: https://github.com/chris-sanders/helm-charts/charts/wg-easy
8+
maintainers:
9+
- email: sanders.chris@gmail.com
10+
name: Chris Sanders
11+
url: https://github.com/chris-sanders/helm-charts
12+
name: wg-easy
13+
version: 1.0.0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# wg-easy
2+
3+
## Helm chart
4+
5+
This is a helm chart for deploying [wg-easy](https://github.com/wg-easy/wg-easy) which describes itself as "You have found the easiest way to install & manage WireGuard on any Linux host!". This chart is not affiliated with the upstream project and bugs for this chart should not be filed against the upstream project.
6+
7+
## Installing the Chart
8+
9+
This chart exposes all of the wg-easy environment variables for configuration under the key `wireguard`. You can see the value available in the values.yaml file with this chart. Detailed instructions have not been written although the upstream project documents each of the environment variables.
10+
11+
## Releasing the chart
12+
13+
To release a new version of this chart simply set the version number in `Chart.yaml` as part of a pull request and once merged the new version will be released. Note that since this chart uses a `chart.lock` file the version in the lock file should match the version of the dependency listed in `Chart.yaml`, which should also be the version you tested your development changes against. Anytime you adjust the dependency version in `Chart.yaml` you should use `helm dependencies update` to fetch the new version and update the lock file to match. If your lock file and dependency version in the `Chart.yaml` file do not match you should update your dependencies and re-test to ensure your changes work with the version in the lock file.
14+
15+
## Contributing
16+
17+
This chart is functional and in use but lacks practices like more user friendly install instructions, explanation of how to configure values like `loadBalancerIP` on the vpn service, and a changelog to document changes in the versions. Contributions to add any of these items, to operate in a similar fashion to what's available in the library-chart that is used as a dependency would be greatly appreciated.

0 commit comments

Comments
 (0)