Compare commits

...

46 Commits

Author SHA1 Message Date
argoyle d398d6da0d Merge pull request 'chore(release): prepare for 1.6.1' (#229) from next-release into main
Release / release (push) Successful in 1m44s
default-request-adder / vulnerabilities (push) Successful in 3m52s
default-request-adder / test (push) Successful in 4m49s
default-request-adder / build (push) Successful in 28m3s
Reviewed-on: #229
2026-01-19 10:50:35 +00:00
releaser 1846212e68 chore(release): prepare for 1.6.1
default-request-adder / vulnerabilities (pull_request) Successful in 4m8s
default-request-adder / test (pull_request) Successful in 5m48s
default-request-adder / build (pull_request) Successful in 32m5s
2026-01-19 10:17:33 +00:00
releaser 2c21e132b5 chore(release): prepare for 1.6.1 2026-01-19 10:17:27 +00:00
releaser 6a6638252a chore(release): prepare for 1.6.1 2026-01-19 10:13:14 +00:00
releaser d597071e40 chore(release): prepare for 1.6.1 2026-01-19 10:13:09 +00:00
argoyle 24ed80e146 Merge branch 'multi-architecture-dockerfile-updates'
default-request-adder / build (push) Successful in 4m30s
Release / release (push) Successful in 2m26s
default-request-adder / vulnerabilities (push) Successful in 9m52s
default-request-adder / test (push) Successful in 15m7s
2026-01-19 11:08:39 +01:00
peter 9a089c8af7 fix: standardize Dockerfile stage names to uppercase
default-request-adder / vulnerabilities (pull_request) Successful in 3m13s
default-request-adder / test (pull_request) Successful in 3m36s
default-request-adder / build (pull_request) Successful in 1h12m8s
Updates the Dockerfile to use uppercase for multi-stage build
definitions. This change enhances readability and maintains consistency
across the build stages, ensuring alignment with common best practices in
Dockerfile conventions.
2026-01-19 08:31:53 +01:00
peter b310c8df57 build: support multi-architecture builds in Dockerfile
Add ARG directives for TARGETOS and TARGETARCH to enable 
multi-architecture support. Modify the build command to 
use the specified target OS and architecture for more 
flexible and portable builds. Ensure compatibility 
with different deployment environments.
2026-01-19 08:31:53 +01:00
argoyle 049a3146ac Merge pull request 'chore(release): prepare for 1.6.0' (#224) from next-release into main
Release / release (push) Successful in 1m32s
default-request-adder / vulnerabilities (push) Successful in 4m27s
default-request-adder / test (push) Successful in 6m4s
default-request-adder / build (push) Successful in 18m23s
Reviewed-on: #224
2026-01-16 13:24:52 +00:00
releaser 86bd5d23ee chore(release): prepare for 1.6.0
default-request-adder / vulnerabilities (pull_request) Successful in 7m0s
default-request-adder / test (pull_request) Successful in 10m15s
default-request-adder / build (pull_request) Successful in 53m12s
2026-01-16 12:29:06 +00:00
releaser 21b6080185 chore(release): prepare for 1.6.0 2026-01-16 12:27:52 +00:00
releaser 4ad4516304 chore(release): prepare for 1.5.1
default-request-adder / vulnerabilities (pull_request) Successful in 2m17s
default-request-adder / test (pull_request) Successful in 2m55s
default-request-adder / build (pull_request) Failing after 14m15s
2026-01-16 12:26:18 +00:00
releaser cf832f4b05 chore(release): prepare for 1.5.1 2026-01-16 12:26:18 +00:00
releaser 593e636d9a chore(release): prepare for 1.5.1 2026-01-16 12:26:18 +00:00
releaser 4a5e4fc893 chore(release): prepare for 1.5.1 2026-01-16 12:26:18 +00:00
argoyle d1d65420d3 Merge pull request 'feat: add multi-platform build support (amd64, arm64)' (#227) from feat/ci-docker-build into main
default-request-adder / build (push) Successful in 1m14s
default-request-adder / vulnerabilities (push) Successful in 1m43s
default-request-adder / test (push) Successful in 2m10s
Release / release (push) Successful in 5m23s
Reviewed-on: #227
2026-01-16 12:23:17 +00:00
argoyle c378376881 feat: add multi-platform build support (amd64, arm64)
default-request-adder / vulnerabilities (pull_request) Successful in 3m37s
default-request-adder / test (pull_request) Successful in 4m48s
default-request-adder / build (pull_request) Successful in 1h5m5s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 12:04:12 +01:00
renovate 598566b588 chore(deps): update dependency go to v1.25.6 (#225)
Release / release (push) Successful in 1m13s
default-request-adder / build (push) Successful in 1m3s
default-request-adder / vulnerabilities (push) Successful in 4m9s
default-request-adder / test (push) Successful in 6m26s
2026-01-15 20:26:25 +00:00
renovate 025c605d93 chore(deps): update golang:1.25.5 docker digest to 3a01526 (#223)
Release / release (push) Successful in 1m14s
default-request-adder / vulnerabilities (push) Successful in 1m33s
default-request-adder / test (push) Successful in 1m48s
default-request-adder / build (push) Successful in 49m1s
2026-01-13 06:44:04 +00:00
argoyle 9fa9837499 Merge pull request 'chore(release): prepare for 1.5.0' (#222) from next-release into main
Release / release (push) Successful in 1m19s
default-request-adder / build (push) Successful in 1m7s
default-request-adder / vulnerabilities (push) Successful in 2m7s
default-request-adder / test (push) Successful in 2m29s
Reviewed-on: #222
2026-01-10 19:50:47 +00:00
releaser 7a9b02140e chore(release): prepare for 1.5.0
default-request-adder / vulnerabilities (pull_request) Successful in 4m17s
default-request-adder / test (pull_request) Successful in 5m10s
default-request-adder / build (pull_request) Successful in 6m6s
2026-01-10 19:42:43 +00:00
releaser 761284bd48 chore(release): prepare for 1.5.0 2026-01-10 19:42:39 +00:00
argoyle cb793f051c Merge pull request 'feat: add Docker build and push to CI workflow' (#221) from feat/ci-docker-build into main
Release / release (push) Successful in 2m6s
default-request-adder / vulnerabilities (push) Successful in 4m12s
default-request-adder / test (push) Successful in 5m0s
default-request-adder / build (push) Successful in 7m52s
Reviewed-on: #221
2026-01-10 19:40:09 +00:00
argoyle 4aa9145c07 feat: add Docker build and push to CI workflow
default-request-adder / vulnerabilities (pull_request) Successful in 4m11s
default-request-adder / test (pull_request) Successful in 5m10s
default-request-adder / build (pull_request) Successful in 6m48s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 20:29:51 +01:00
argoyle 486182c91c Merge pull request 'chore(release): prepare for 1.4.0' (#220) from next-release into main
Release / release (push) Successful in 2m51s
default-request-adder / vulnerabilities (push) Successful in 6m1s
default-request-adder / test (push) Successful in 6m21s
Reviewed-on: #220
2026-01-10 18:50:27 +00:00
releaser ab15603652 chore(release): prepare for 1.4.0
default-request-adder / test (pull_request) Successful in 8m3s
default-request-adder / vulnerabilities (pull_request) Successful in 6m19s
2026-01-10 18:37:32 +00:00
releaser 70ea428e41 chore(release): prepare for 1.4.0 2026-01-10 18:37:26 +00:00
argoyle 56b6ed52d2 Merge pull request 'feat: run CI workflow on tags' (#219) from feat/ci-on-tags into main
Release / release (push) Successful in 1m55s
default-request-adder / vulnerabilities (push) Successful in 4m9s
default-request-adder / test (push) Successful in 5m45s
Reviewed-on: #219
2026-01-10 18:34:27 +00:00
argoyle 245f86f4d7 feat: run CI workflow on tags
default-request-adder / vulnerabilities (pull_request) Successful in 3m49s
default-request-adder / test (pull_request) Successful in 4m39s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 19:25:20 +01:00
argoyle cfa8832598 Merge pull request 'chore(release): prepare for 1.3.0' (#213) from next-release into main
default-request-adder / vulnerabilities (push) Successful in 1m19s
default-request-adder / test (push) Successful in 3m58s
Release / release (push) Successful in 1m51s
Reviewed-on: #213
2026-01-09 16:12:18 +00:00
releaser a8f8728790 chore(release): prepare for 1.3.0 2026-01-09 16:11:31 +00:00
releaser 9dbc7f01e1 chore(release): prepare for 1.3.0 2026-01-09 16:11:21 +00:00
argoyle 15697d176f Merge pull request 'feat: add release workflow using shared workflows' (#217) from feat/release-workflow into main
Release / release (push) Successful in 1m17s
default-request-adder / vulnerabilities (push) Successful in 1m39s
default-request-adder / test (push) Successful in 2m13s
Reviewed-on: #217
2026-01-09 16:09:31 +00:00
argoyle 63c16baf46 Merge pull request 'docs: add CLAUDE.md for Claude Code guidance' (#218) from docs/add-claude-md into main
default-request-adder / vulnerabilities (push) Has been cancelled
default-request-adder / test (push) Has been cancelled
Reviewed-on: #218
2026-01-09 16:09:24 +00:00
argoyle 37063450c1 feat: add release workflow using shared workflows
default-request-adder / vulnerabilities (pull_request) Successful in 3m43s
default-request-adder / test (pull_request) Successful in 5m16s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:56:21 +01:00
argoyle a6ab81eeaa docs: add CLAUDE.md for Claude Code guidance
default-request-adder / vulnerabilities (pull_request) Successful in 1m21s
default-request-adder / test (pull_request) Successful in 4m48s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:38:39 +01:00
argoyle 9b7ced4e92 Merge pull request 'chore(deps): update actions/setup-go action to v6' (#216) from renovate/actions-setup-go-6.x into main
default-request-adder / vulnerabilities (push) Successful in 10m0s
default-request-adder / test (push) Successful in 11m54s
Reviewed-on: #216
2026-01-08 16:19:06 +00:00
renovate b0ce0d23f3 chore(deps): update actions/setup-go action to v6
default-request-adder / vulnerabilities (pull_request) Successful in 2m24s
default-request-adder / test (pull_request) Successful in 3m10s
2026-01-08 16:09:18 +00:00
argoyle 19f894cc29 Merge pull request 'chore(deps): update actions/checkout action to v6' (#215) from renovate/actions-checkout-6.x into main
default-request-adder / vulnerabilities (push) Successful in 4m4s
default-request-adder / test (push) Successful in 4m39s
Reviewed-on: #215
2026-01-08 15:12:58 +00:00
renovate d04224b42b chore(deps): update actions/checkout action to v6
default-request-adder / vulnerabilities (pull_request) Successful in 6m16s
default-request-adder / test (pull_request) Successful in 7m59s
2026-01-08 15:03:28 +00:00
argoyle 46b3a6ddce Merge pull request 'feat: migrate from GitLab CI to Gitea Actions' (#214) from feat/gitea-actions into main
default-request-adder / vulnerabilities (push) Successful in 2m19s
default-request-adder / test (push) Successful in 3m25s
Reviewed-on: #214
2026-01-08 14:47:28 +00:00
argoyle fba731bc03 feat: migrate from GitLab CI to Gitea Actions
default-request-adder / vulnerabilities (pull_request) Successful in 4m27s
default-request-adder / test (pull_request) Successful in 5m26s
2026-01-08 15:21:31 +01:00
Unbound Release dea17c0ab0 chore(release): prepare for 1.2.5 2025-12-30 18:06:45 +00:00
Unbound Release ef344ed315 chore(release): prepare for 1.2.5 2025-12-30 18:06:43 +00:00
argoyle d26fed8209 Merge branch 'renovate/golang-1.25.5' into 'master'
chore(deps): update golang:1.25.5 docker digest to ad03ba9

See merge request unboundsoftware/default-request-adder!209
2025-12-30 17:59:09 +01:00
Renovate 6f8b06e140 chore(deps): update golang:1.25.5 docker digest to ad03ba9 2025-12-30 04:06:51 +00:00
7 changed files with 154 additions and 6 deletions
+42
View File
@@ -0,0 +1,42 @@
name: default-request-adder
on:
push:
branches: [main]
tags: ['*']
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Run tests
run: go test -race -coverprofile=coverage.txt ./...
vulnerabilities:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Check vulnerabilities
run: |
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
build:
runs-on: ubuntu-latest
env:
BUILDTOOLS_CONTENT: ${{ secrets.BUILDTOOLS_CONTENT }}
GITEA_REPOSITORY: ${{ gitea.repository }}
steps:
- uses: actions/checkout@v6
- uses: buildtool/setup-buildtools-action@v1
- name: Build and push
run: unset GITEA_TOKEN && build --platform linux/amd64,linux/arm64 && push
+9
View File
@@ -0,0 +1,9 @@
name: Release
on:
push:
branches: [main]
jobs:
release:
uses: unboundsoftware/shared-workflows/.gitea/workflows/Release.yml@main
+3 -1
View File
@@ -1 +1,3 @@
{"version":"1.2.4"}
{
"version": "1.6.1"
}
+50
View File
@@ -2,6 +2,56 @@
All notable changes to this project will be documented in this file.
## [1.6.1] - 2026-01-19
### 🐛 Bug Fixes
- Standardize Dockerfile stage names to uppercase
### Build
- Support multi-architecture builds in Dockerfile
## [1.6.0] - 2026-01-16
### 🚀 Features
- Add multi-platform build support (amd64, arm64)
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.5 docker digest to 3a01526 (#223)
- *(deps)* Update dependency go to v1.25.6 (#225)
## [1.5.0] - 2026-01-10
### 🚀 Features
- Add Docker build and push to CI workflow
## [1.4.0] - 2026-01-10
### 🚀 Features
- Run CI workflow on tags
## [1.3.0] - 2026-01-09
### 🚀 Features
- Migrate from GitLab CI to Gitea Actions
- Add release workflow using shared workflows
### 📚 Documentation
- Add CLAUDE.md for Claude Code guidance
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.5 docker digest to ad03ba9
- *(deps)* Update actions/checkout action to v6
- *(deps)* Update actions/setup-go action to v6
## [1.2.4] - 2025-12-18
### 🐛 Bug Fixes
+42
View File
@@ -0,0 +1,42 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
A Kubernetes controller that automatically creates `LimitRange` resources (named `extreme-request-defaults`) in all non-excluded namespaces to set default memory requests for containers. Runs as a loop checking every 10 seconds.
## Build Commands
```bash
# Run tests
go test -race -coverprofile=coverage.txt ./...
# Check for vulnerabilities
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
# Build binary
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o release/default-request-adder -ldflags '-w -s'
# Build Docker image (uses build-tools, not buildx)
docker build -t default-request-adder .
```
## Architecture
Single-file Go application (`main.go`) that:
- Uses in-cluster Kubernetes client configuration (`rest.InClusterConfig()`)
- Loops through all namespaces every 10 seconds
- Creates `LimitRange` named `extreme-request-defaults` in non-excluded namespaces
- Deletes the `LimitRange` from excluded namespaces if present
### CLI Flags
- `-excluded-ns`: Comma-separated list of namespaces to exclude (default: `kube-system`). Use `*` to exclude all.
- `-memory`: Default memory request value (default: `1Ti`)
## CI/CD
- **Gitea Actions**: `.gitea/workflows/ci.yaml` - runs tests and vulnerability checks
- **GitLab CI**: `.gitlab-ci.yml` - uses `buildtool/build-tools` for builds
- **Releases**: Uses git-cliff for changelog generation (see `cliff.toml`)
+7 -4
View File
@@ -1,9 +1,12 @@
FROM amd64/golang:1.25.5@sha256:0c27bcf0df81eca89f87e1e78be5ad5e36487f0eaf71cd900ba14ee7621d3e70 as deps
FROM golang:1.25.6@sha256:fc24d3881a021e7b968a4610fc024fba749f98fe5c07d4f28e6cfa14dc65a84c AS deps
WORKDIR /build
ADD go.* /build
RUN go mod download
FROM deps as build
FROM deps AS build
ARG TARGETOS
ARG TARGETARCH
ENV CGO_ENABLED=0
ADD . /build
RUN if [ $(go mod tidy -v 2>&1 | grep -c unused) != 0 ]; then echo "Unused modules, please run 'go mod tidy'"; exit 1; fi
@@ -14,9 +17,9 @@ RUN ["/bin/bash", "-c", "cat coverage.txt.tmp | grep -v -f <(find . -type f | xa
RUN go tool cover -html=coverage.txt -o coverage.html
RUN go tool cover -func=coverage.txt
RUN rm coverage.txt.tmp
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -mod=readonly -o release/default-request-adder -ldflags '-w -s'
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=0 go build -mod=readonly -o release/default-request-adder -ldflags '-w -s'
FROM scratch as export
FROM scratch AS export
COPY --from=build /build/coverage.txt /
FROM scratch
+1 -1
View File
@@ -2,7 +2,7 @@ module gitlab.com/unboundsoftware/default-request-adder
go 1.25.0
toolchain go1.25.5
toolchain go1.25.6
require (
k8s.io/api v0.35.0