Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.25.3'
go-version: '1.25.6'

- name: Run Tests
working-directory: ./src
Expand All @@ -29,14 +29,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.25.3'
go-version: '1.25.6'

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -57,7 +57,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -71,12 +71,17 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and Push Docker Image
- name: Build and Push Docker Images
run: |
docker buildx build --platform linux/amd64,linux/arm64,linux/386 \
-t ghcr.io/daemondude23/helmizer/helmizer:${{ github.ref_name }} \
-t ghcr.io/daemondude23/helmizer/helmizer:latest \
--push .
# docker buildx build --platform linux/amd64,linux/arm64,linux/386 \
# -f Dockerfile.helm \
# -t ghcr.io/daemondude23/helmizer/helmizer-helm:${{ github.ref_name }} \
# -t ghcr.io/daemondude23/helmizer/helmizer-helm:latest \
--push .

permissions:
contents: write
Expand Down
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ repos:
- id: check-ast
# Go specific hooks
- repo: https://github.com/tekwizely/pre-commit-golang
rev: v1.0.0-rc.2
rev: v1.0.0-rc.4
hooks:
- id: go-build-mod
# - id: go-mod-tidy
Expand All @@ -42,15 +42,15 @@ repos:
- id: reorder-python-imports
args: [--application-directories, '.:src', --py312-plus]
- repo: https://github.com/psf/black
rev: 25.9.0
rev: 26.1.0
hooks:
- id: black
language_version: python3.12
args:
- --line-length
- "140"
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.18.2
rev: v1.19.1
hooks:
- id: mypy
args:
Expand Down
30 changes: 30 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,16 @@
"request": "launch",
"type": "go"
},
{
"args": [
"--log-level=INFO",
"../examples/buildMetadata/helmizer.yaml",
],
"name": "buildMetadata",
"program": "${workspaceFolder}/src/",
"request": "launch",
"type": "go"
},
{
"args": [
"--log-level=INFO",
Expand Down Expand Up @@ -83,6 +93,16 @@
"request": "launch",
"type": "go"
},
{
"args": [
"--log-level=INFO",
"../examples/helmCharts/helmizer.yaml",
],
"name": "helmCharts",
"program": "${workspaceFolder}/src/",
"request": "launch",
"type": "go"
},
{
"args": [
"--log-level=INFO",
Expand All @@ -93,6 +113,16 @@
"request": "launch",
"type": "go"
},
{
"args": [
"--log-level=INFO",
"../examples/labels/helmizer.yaml",
],
"name": "labels",
"program": "${workspaceFolder}/src/",
"request": "launch",
"type": "go"
},
{
"args": [
"--log-level=INFO",
Expand Down
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
**Changelog**

- [2026](#2026)
- [v0.18.0](#v0180)
- [2025](#2025)
- [v0.17.0](#v0170)
- [v0.16.0](#v0160)
Expand All @@ -8,6 +10,33 @@

---

# 2026

## [v0.18.0](https://github.com/DaemonDude23/helmizer/releases/tag/v0.18.0)

January 20 2025

**Enhancements**

- Added `buildMetadata`, `helmCharts`, and `labels` support in generated kustomization output, plus examples for each.
- Added `--config-glob` flag so that you don't need to use other recursive tools like `find`.

**Fixes**

- Fixed `labels` typing and the `kustomizationPath` config key so configs load and render correctly.
- Added CA certificates to scratch images for TLS support.

**Docs**

- Updated README configuration examples, `docker` usage, and example lists (including `patchesStrategicMerge` paths).

**Housekeeping**

- Updated CI tooling (checkout `v6`), Go versions (Docker builder + CI to `1.25.6`, module `go` to `1.25`), and release CI now publishes the `helmizer-helm` image.
- Updated pre-commit `mypy` to `v1.19.1` and `diagrams` to `0.25.1`.
- Added VS Code launch entries for `buildMetadata`, `helmCharts`, and `labels` examples.
- Updated examples with latest `cert-manager` chart version.

# 2025

## [v0.17.0](https://github.com/DaemonDude23/helmizer/releases/tag/v0.17.0)
Expand Down
4 changes: 3 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Builder stage
FROM docker.io/library/golang:1.25.3 AS builder
FROM docker.io/library/golang:1.25.6 AS builder
WORKDIR /build
# Copy go mod files and download dependencies
COPY ./src/go.mod ./src/go.sum ./
Expand All @@ -13,5 +13,7 @@ RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o helmizer .
FROM scratch AS final
# Copy the helmizer binary to a known location
COPY --from=builder /build/helmizer /usr/local/bin/helmizer
# Provide CA certificates for TLS
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
# By default, set the binary as the entry point in case you want to run it
ENTRYPOINT ["/usr/local/bin/helmizer"]
23 changes: 23 additions & 0 deletions Dockerfile.helm
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Builder stage
FROM docker.io/library/golang:1.25.6 AS builder
WORKDIR /build
# Copy go mod files and download dependencies
COPY ./src/go.mod ./src/go.sum ./
RUN go mod download
# Copy the rest of the source code
COPY ./src/ ./
# Build the helmizer binary with CGO disabled for a fully static binary
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o helmizer .

# Helm stage
FROM docker.io/alpine/helm:4.0.5 AS helm

# Final stage
FROM scratch AS final
# Copy the helm binary and helmizer binary to a known location
COPY --from=helm /usr/bin/helm /usr/local/bin/helm
COPY --from=builder /build/helmizer /usr/local/bin/helmizer
# Provide CA certificates for TLS
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
# By default, set the binary as the entry point in case you want to run it
ENTRYPOINT ["/usr/local/bin/helmizer"]
Loading
Loading