new year update (#30)

* Multiple fixes

- add goreleaser to the build / release process
- add kubectl plugin for job graphs visualization
- add installation scripts
- update dependencies

* Update the release & CRD content.

* Next set of improvements.

  Code Quality

  - Label constants: Added LabelWorkflowName, LabelGroupName, LabelJobName, LabelJobID in controllers/definitions.go
  - Removed commented debug code: Cleaned up dead code from multiple files
  - Removed unused dependencyTree field: Cleaned connPackage struct
  - Fixed snake_case variables: Changed to camelCase (runGroup, groupDep, runJob, jobDep, k8sJob)

  Kubernetes Best Practices

  - Finalizers: Implemented handleDeletion() and deleteChildJobs() for proper cleanup
  - Status enum validation: Added +kubebuilder:validation:Enum=pending;running;succeeded;failed;aborted
  - ImagePullPolicy default: Created getImagePullPolicy() helper that defaults to IfNotPresent
  - Resource limits support: Added Resources *corev1.ResourceRequirements to ManagedJobParameters

  Observability

  - Prometheus metrics: Created controllers/metrics.go with counters (jobs created/succeeded/failed), histogram (reconciliation duration), and gauge (active jobs)
  - Structured logging: Added logger field to connPackage, used context-based logging throughout

  Configuration

  - Leader election ID: Made configurable via --leader-election-id flag
  - Development mode: Made configurable via --dev-mode flag and LOG_LEVEL env var

  Performance

  - Dependency lookup optimization: Changed from O(n*m) to O(1) using lookup maps (jobDepMap, groupDepMap)
  - Reconciliation backoff: Added RequeueAfter: 30*time.Second when workflow is running

  Documentation & Testing

  - Godoc documentation: Added comprehensive comments to API types and controller
  - Unit tests: Added helpers_test.go with tests for all helper functions
  - Integration tests: Added managedjob_controller_test.go with Ginkgo/Gomega tests

* Add the helm chart release.

* Add reasonable test coverage.

* fixup! Add reasonable test coverage.

* fixup! fixup! Add reasonable test coverage.

* fixup! fixup! fixup! Add reasonable test coverage.
This commit is contained in:
2025-12-17 21:56:12 +00:00
parent 2b36071647
commit f96fd7843e
4 changed files with 3 additions and 14 deletions
+1
View File
@@ -12,6 +12,7 @@ on:
permissions:
contents: read
pull-requests: write
security-events: write
jobs:
pr-checks:
+1 -1
View File
@@ -51,7 +51,7 @@ jobs:
repository: lukaszraczylo/helm-charts
ref: gh-pages
path: helm-charts
token: ${{ secrets.HELM_CHARTS_TOKEN }}
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
- name: Update and package Helm chart
run: |
-7
View File
@@ -74,15 +74,10 @@ archives:
- goos: windows
formats:
- zip
hooks:
after:
- helm package charts/jobs-manager-operator -d dist/
checksum:
name_template: 'checksums.txt'
algorithm: sha256
extra_files:
- glob: dist/jobs-manager-*.tgz
changelog:
sort: asc
@@ -101,8 +96,6 @@ release:
draft: false
prerelease: auto
name_template: "v{{.Version}}"
extra_files:
- glob: dist/jobs-manager-*.tgz
header: |
## Jobs Manager Operator v{{.Version}}
+1 -6
View File
@@ -1,11 +1,6 @@
version: 1
force:
major: 0
minor: 0
patch: 0
wording:
patch:
minor:
- release-minor
major:
- release-major
- release-major