Commit Graph

34 Commits

Author SHA1 Message Date
lukaszraczylo f55628079f 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.
v0.0.34
2025-12-17 21:18:04 +00:00
lukaszraczylo 1a3472290d Fix CVEs. v0.0.33 2024-01-05 11:49:29 +00:00
lukaszraczylo dc2799ad57 Update TOC. 2024-01-05 11:42:05 +00:00
lukaszraczylo 2bccb0e8b8 Fix chart 2024-01-05 11:40:27 +00:00
lukaszraczylo 249ccb1dac Add missing ImagePullPolicy to the newly created jobs. v0.0.30 2024-01-02 10:06:09 +00:00
lukaszraczylo 4217f7ed25 Create dependabot.yml 2023-10-20 10:42:02 +01:00
lukaszraczylo 8e3c9f941f Update golang to 1.21 v0.0.28 2023-09-07 23:17:58 +01:00
lukaszraczylo a9e6257683 Update dependencies. 2023-09-07 23:12:55 +01:00
lukaszraczylo 7c81d4c479 Hotifx: Missing event generation permissions. v0.0.26 2023-03-16 15:19:56 +00:00
lukaszraczylo 728c9f0b8d Add events generation rbac policy. 2023-03-16 15:18:13 +00:00
lukaszraczylo 75393e791a Fix issue with the annotations and labels. v0.0.24 2023-03-16 13:54:04 +00:00
lukaszraczylo c99558314c Merge pull request #4 from lukaszraczylo/add-annotations
Add annotations support.
v0.0.23
2023-03-16 11:23:48 +00:00
lukaszraczylo 56edfc8d8c Add annotations support. 2023-03-16 11:18:44 +00:00
lukaszraczylo 5c92083161 Update README with examples of parameters. 2023-02-23 11:52:30 +00:00
lukaszraczylo 60cb552179 Fix bug where parameters were not propagated. v0.0.20 2023-02-21 21:19:52 +00:00
lukaszraczylo 9d3086c839 Add codeowners. v0.0.19 2023-02-21 20:44:04 +00:00
lukaszraczylo 6189a2e2f3 Bugfix - chicken or egg situation. 2023-02-21 20:41:32 +00:00
lukaszraczylo 6e39505910 Update chart information. v0.0.17 2023-02-21 17:26:39 +00:00
lukaszraczylo 9ab900dbd2 Remove duplicated attempts to re-run job and add minor improvements. 2023-02-21 17:23:36 +00:00
lukaszraczylo 55cd8bb7a6 Add codeql 2023-02-21 16:00:29 +00:00
lukaszraczylo 5fe70085ff Merge pull request #1 from lukaszraczylo/improve-tree-generation
Completely rebuild the tree generation logic.
v0.0.14
2023-02-21 15:38:55 +00:00
lukaszraczylo 2133a0e720 Build docker image only on the master branch. 2023-02-21 15:32:51 +00:00
lukaszraczylo f87a841746 Update dependencies. 2023-02-21 15:31:48 +00:00
lukaszraczylo a10fb70e7c Update CRD accordingly. 2023-02-21 15:29:26 +00:00
lukaszraczylo 3c4f7a56c0 Completely rebuild the tree generation logic. 2023-02-21 15:24:05 +00:00
lukaszraczylo 55a9a76135 Update operator build. v0.0.8 2023-02-20 15:13:36 +00:00
lukaszraczylo ffdc5a1d55 Add RBAC access to events. 2023-02-20 15:07:51 +00:00
lukaszraczylo 90d04588f8 Update documentation on configmMapGenerators and kustomization. 2023-02-20 14:52:14 +00:00
lukaszraczylo 262a20d30f fixup! Add forgotten Volume refrence 2023-02-20 14:08:14 +00:00
lukaszraczylo e445f55807 Add forgotten Volume refrence 2023-02-20 13:54:50 +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