-
Notifications
You must be signed in to change notification settings - Fork 134
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: extract Execution Worker (#5923)
* chore: delete unused * chore: delete subscription checker from API instance * fix: simplify applying the global template * chore: extract cloud/storage machines in Test Workflow executor * chore: rename `id` variable to `executionId` * chore: extract workflow machine in Test Workflow executor * chore: use the earliest timestamp for execution schedulement * chore: extract resource machine * chore: make schedule time UTC * chore: extract helper for validating the TestWorkflow * chore: serialize propagated execution tags as JSON * chore: a bit of grouping * chore: clean namespace from resolved workflow too * chore: detach secret's batch from namespace * chore: add some comments * chore: move configuration resolution higher * fix: determine execution namespace after the templates are applied * chore: avoid unnecessary variables * chore: avoid pre-validating the workflow * chore: move place where the resolved workflow is preserved * chore: move place where the default service account is applied * feat: always create TestWorkflowExecution before deployment * chore: decouple a bit creating TestWorkflow execution * chore: split a bit logic of updating execution * chore: organize better the internal configuration passed to Test Workflow execution - use single annotation instead of multiple duplicated environment variables - group the variables nicely - handle that recursively * chore: reorder configs * chore: rename RuntimeConfig to WorkerConfig * feat: add `groupId` to the TestWorkflowExecution's model * chore: add todo * feat: add basic ExecutionWorker with Execute() method only * chore: pass execution worker to the Test Workflow Executor * fix: delete unused variables for Test Workflow Executor, return namespace from worker * feat: implement Notifications(), Destroy(), Pause() and Resume() for ExecutionWorker * chore: use the ExecutionWorker more * chore: avoid using testworkflowcontroller in Executor * chore: rename labels/annotations * chore: add todo * chore: extract LogsReader and NotificationsWatcher to separate files * feat: add LRU cache for last namespaces and pod IPs * feat: add ResumeMany() method to the ExecutionWorker, use ExecutionWorker for parallel operations * feat: expose containers readiness in status notifications * feat: use ExecutionWorker for services too * chore: use ExecutionWorker for Test Triggers * feat: reuse Test Workflow controllers * chore: move Execution Worker to pkg/testworkflows * chore: move TestWorkflowController to ExecutionWorker * fix: handle error in the logs watcher * fix: list resources correctly in Execution Worker * chore: delete some unused code * chore: delete unused machine resolution * fix: use pro context for determining organization/environment ID in Test Workflow executor * fix: handle better unique execution names * fix: unit/integration tests * chore: delete unused code * chore: avoid unnecessary fallback * chore: clean up worker interface a bit * chore: separate functions for creating a service and execution * chore: unify Execute() and Service() a bit * chore: reorder a bit * feat: persist scheduledAt in the Job/Pod annotations * fix: CLI for initialization error watch * chore: isolate Kubernetes Execution Worker, so we can have another engine * feat: add Abort() option for Execution Worker, that may be useful later for different drivers than Kubernetes
- Loading branch information
Showing
94 changed files
with
3,316 additions
and
1,630 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.