Commit Graph

36 Commits

Author SHA1 Message Date
lukaszraczylo 794e2d487a Remove dependency on kube-rbac-proxy. v0.1.2 2025-12-17 23:06:21 +00:00
lukaszraczylo fee9f74aad release-minor trigger. v0.1.1 2025-12-17 22:35:25 +00:00
lukaszraczylo 005df83478 Update release. 2025-12-17 22:33:24 +00:00
lukaszraczylo 836be577eb Update README.md 2025-12-17 22:33:24 +00:00
lukaszraczylo f96fd7843e 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.
2025-12-17 22:33:23 +00:00
lukaszraczylo 2b36071647 Multiple fixes (#29)
* 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.
2025-12-17 22:33:23 +00:00
lukaszraczylo b6ce5b7c98 Fix CVEs. 2025-12-17 22:33:23 +00:00
lukaszraczylo ba6e43acfe Update TOC. 2025-12-17 22:33:23 +00:00
lukaszraczylo 6f9644bdfa Fix chart 2025-12-17 22:33:22 +00:00
lukaszraczylo c604c16aa0 Add missing ImagePullPolicy to the newly created jobs. 2025-12-17 22:33:22 +00:00
lukaszraczylo 925f8a1592 Create dependabot.yml 2025-12-17 22:33:22 +00:00
lukaszraczylo 7f82327e1b Update golang to 1.21 2025-12-17 22:33:22 +00:00
lukaszraczylo 97f4007a6a Update dependencies. 2025-12-17 22:33:21 +00:00
lukaszraczylo 79c124816e Hotifx: Missing event generation permissions. 2025-12-17 22:33:21 +00:00
lukaszraczylo cb4a008e48 Add events generation rbac policy. 2025-12-17 22:33:21 +00:00
lukaszraczylo 10648997ad Fix issue with the annotations and labels. 2025-12-17 22:33:21 +00:00
lukaszraczylo bded5b0250 Add annotations support. 2025-12-17 22:33:20 +00:00
lukaszraczylo 7500a71056 Update README with examples of parameters. 2025-12-17 22:33:20 +00:00
lukaszraczylo 0a062b6ad7 Fix bug where parameters were not propagated. 2025-12-17 22:33:20 +00:00
lukaszraczylo 8799456499 Add codeowners. 2025-12-17 22:33:20 +00:00
lukaszraczylo d3c5cc6ccd Bugfix - chicken or egg situation. 2025-12-17 22:33:19 +00:00
lukaszraczylo 8bdccb4b8d Update chart information. 2025-12-17 22:33:19 +00:00
lukaszraczylo 554019b1cc Remove duplicated attempts to re-run job and add minor improvements. 2025-12-17 22:33:19 +00:00
lukaszraczylo 41421ea889 Add codeql 2025-12-17 22:33:19 +00:00
lukaszraczylo 7e4ea52abc Build docker image only on the master branch. 2025-12-17 22:33:19 +00:00
lukaszraczylo 76f25e0746 Update dependencies. 2025-12-17 22:33:18 +00:00
lukaszraczylo a20157681e Update CRD accordingly. 2025-12-17 22:33:18 +00:00
lukaszraczylo e037788677 Completely rebuild the tree generation logic. 2025-12-17 22:33:18 +00:00
lukaszraczylo e39c93e9ea Update operator build. 2025-12-17 22:33:18 +00:00
lukaszraczylo 785a6adbd4 Add RBAC access to events. 2025-12-17 22:33:17 +00:00
lukaszraczylo 35b9efc0e1 Update documentation on configmMapGenerators and kustomization. 2025-12-17 22:33:17 +00:00
lukaszraczylo 70033ec15b Add forgotten Volume refrence 2025-12-17 22:33:17 +00:00
lukaszraczylo 372b25111b Ignore files in chart directory. 2023-02-20 12:27:40 +00:00
lukaszraczylo 45ffb50b72 Add helm chart for easy deployment. 2023-02-20 09:27:13 +00:00
lukaszraczylo ad45a0ce00 Add build pipeline. 2023-02-19 23:58:00 +00:00
lukaszraczylo 984e1a0f7b Initial commit. 2023-02-19 21:23:50 +00:00