19 Commits

Author SHA1 Message Date
Morten Olsen
6969f13fa7 multiarch build v0.2.9 2025-12-25 21:07:25 +01:00
Morten Olsen
7c014b9898 set defaults in docker instead of scanner v0.2.8 2025-12-13 08:21:40 +01:00
Morten Olsen
707f0dcaad fix: missing nuclei path v0.2.7 2025-12-13 08:19:34 +01:00
Morten Olsen
4c14e2294a fix: get templates before running scan v0.2.5 2025-12-13 07:56:28 +01:00
Morten Olsen
1677d02aa7 fix: run job in operator namespace to avoid permission issues v0.2.4 2025-12-12 21:49:15 +01:00
Morten Olsen
0340d01e20 ci: remove platform specific docker builds v0.2.3 2025-12-12 21:30:49 +01:00
Morten Olsen
3a5e4d8902 bump: update nuclei version to 3.6.0 v0.2.2 2025-12-12 21:09:15 +01:00
Morten Olsen
57155e77eb chore: use prebuilt nuclei execuable v0.2.1 2025-12-12 21:07:11 +01:00
Morten Olsen
8324430769 fix: preserve historical chart versions in Helm repository
The Helm repository workflow was overwriting all previous chart versions
on each release, making it impossible for users to install older versions.

Changes:
- Download existing index.yaml from GitHub Pages before publishing
- Download all previously published chart packages
- Use 'helm repo index --merge' to preserve historical versions
- Users can now install any previously released version
v0.2.0
2025-12-12 20:55:09 +01:00
Morten Olsen
12d681ada1 feat: implement pod-based scanning architecture
This major refactor moves from synchronous subprocess-based scanning to
asynchronous pod-based scanning using Kubernetes Jobs.

## Architecture Changes
- Scanner jobs are now Kubernetes Jobs with TTLAfterFinished for automatic cleanup
- Jobs have owner references for garbage collection when NucleiScan is deleted
- Configurable concurrency limits, timeouts, and resource requirements

## New Features
- Dual-mode binary: --mode=controller (default) or --mode=scanner
- Annotation-based configuration for Ingress/VirtualService resources
- Operator-level configuration via environment variables
- Startup recovery for orphaned scans after operator restart
- Periodic cleanup of stuck jobs

## New Files
- DESIGN.md: Comprehensive architecture design document
- internal/jobmanager/: Job Manager for creating/monitoring scanner jobs
- internal/scanner/runner.go: Scanner mode implementation
- internal/annotations/: Annotation parsing utilities
- charts/nuclei-operator/templates/scanner-rbac.yaml: Scanner RBAC

## API Changes
- Added ScannerConfig struct for per-scan scanner configuration
- Added JobReference struct for tracking scanner jobs
- Added ScannerConfig field to NucleiScanSpec
- Added JobRef and ScanStartTime fields to NucleiScanStatus

## Supported Annotations
- nuclei.homelab.mortenolsen.pro/enabled
- nuclei.homelab.mortenolsen.pro/templates
- nuclei.homelab.mortenolsen.pro/severity
- nuclei.homelab.mortenolsen.pro/schedule
- nuclei.homelab.mortenolsen.pro/timeout
- nuclei.homelab.mortenolsen.pro/scanner-image

## RBAC Updates
- Added Job and Pod permissions for operator
- Created separate scanner service account with minimal permissions

## Documentation
- Updated README, user-guide, api.md, and Helm chart README
- Added example annotated Ingress resources
2025-12-12 20:55:09 +01:00
Morten Olsen
519ed32de3 ci: fix release pipeline so it auto bumps versions v0.1.2 2025-12-12 19:49:36 +01:00
Morten Olsen
8ba3b5d777 fix helm values v0.1.1 2025-12-12 19:33:00 +01:00
Morten Olsen
6de9b65d94 fix: linting 2025-12-12 12:35:25 +01:00
Morten Olsen
49b51514df fix: fix an issue with testing 2025-12-12 12:23:37 +01:00
Morten Olsen
d2288aa527 ci: add helm and publish 2025-12-12 12:15:48 +01:00
Morten Olsen
67014b3d16 feat: support rescans and backoffs 2025-12-12 12:07:34 +01:00
Morten Olsen
8073d0044b chore: improved delete logging 2025-12-12 11:54:32 +01:00
Morten Olsen
e2ec287de1 fix: fix missing initialization issue 2025-12-12 11:27:51 +01:00
Morten Olsen
277fc459d5 init 2025-12-12 11:10:01 +01:00