* Add additional test, short name, cleanup
* Try rollback scenario
* Add rollback testing
* Fix timeout on testing
* Increase timeout
* Cleanup reconciler code
* Remove using last successful annotation in reconciler struct
* Fix test failures
* Cleanup status and workflow generator
* Changes for using action parameter of orkestra workflow executor (#230)
* Changes for using action parameter of orkestra workflow executor
* Base64 encode reverse workflow helm release string
* Resolved PR feedback
* Rebased with the latest main
* Changed action strings to lower-case. Removed ExecutorAction.String() method
* 1) Updated executor image tag to v0.3.0 2) Rebased with the latest main
Co-authored-by: Davut Karabay <davutk@microsoft.com>
* Fix status updates
* Add lastSucceededGeneration for progressing check
* Fix update scenario
* Fix rollback scenario
* Restructure into status and reconcile helpers
* Move status to meta pkg
* Address PR comments
Co-authored-by: davutkarabay <47837266+davutkarabay@users.noreply.github.com>
Co-authored-by: Davut Karabay <davutk@microsoft.com>
* Initial changes for reversal workflow
* Resolved PR feedback. Unified the wording from Reversal to Reverse
* Resolved PR feedback
* Resolved PR feedback
* Changes after rebasing with main
* Fixed lint error
* Don't use double pointer argument to initWorkflowObject function
* Pass forward workflow object as argument instead of application group object to GenerateReverse and SubmitReverse functions
* Resolved PR feedback
* Fix the issue that reverse wf finalizer was not removed from the forward wf. Resolved PR feedback too
* Added reversing condition to reconcile on reversal using shorter default duration
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Changes based on PR feedback
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Generate manifests after removing reversing cond
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Replace wf finalizer with simple deletes on completion
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Davut Karabay <davutk@microsoft.com>
Co-authored-by: Jonathan Innis <jonathan.innis.ji@gmail.com>
* Add interval to api
* Add interval to api spec
* requeue for a specified time after success
* Update with requeue logging
* Fix logging bug
* Fix progressing mixup
* New charts repository for istio bookinfo and helm-controller charts
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Add conditions to the application group status
* Fixing bugs in the build
* Updating with other condition types
* Adding condition type for workflow and application group reconciliation
* Remove unneded progressing call
* Surface condition objects for the underlying subcharts
* Cleanup getting chart status code
* Fix bug in checking generation for update
* Move observed generation update
* CRD update u=in charts dir
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Patch instead of update to prevent conflict
* Fix a couple patch bugs
* Remove spcl handing of terminating ns
No special handing of terminating ns
Fixed bug in handleRemediation
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update spec with helmRelease spec values
* Update samples
* Remove unneeded fields and update api
* Add description for api types for application spec
* Update naming to authSecretRef
* API changes to Release field
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Remove GroupID field
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Reflect workflow phase in appgroup status
Closes#82
Signed-off-by: nitishm <nitishm@microsoft.com>
* Handle updates to the applicationgroup spec
Handle updates to the spec by reapply Workflows eventually leading to a
helmrelease version upgrade.
Signed-off-by: nitishm <nitishm@microsoft.com>
Co-authored-by: nitishm <nitishm@microsoft.com>
Calculate and add checksum for different fields in the spec to the
applicationgroup status
Signed-off-by: nitishm <nitishm@microsoft.com>
Co-authored-by: nitishm <nitishm@microsoft.com>
* Application type and app reconciler deprecated
BREAKING CHANGES:
- No longer supporting Application type and application reconciler
- Application spec has been merged into ApplicationGroup API
- No changes to behavior other than revised spec and sample YAMLs
Signed-off-by: nitishm <nitishm@microsoft.com>
* Update Tiltfile to use appgroup only
Signed-off-by: nitishm <nitishm@microsoft.com>
* Rename DAG to Application
Renamed DAG struct to Application
Renamed DAGData struct to DAG
Signed-off-by: nitishm <nitishm@microsoft.com>
* Updated docs
Signed-off-by: nitishm <nitishm@microsoft.com>
* Fix lint error
Signed-off-by: nitishm <nitishm@microsoft.com>
Co-authored-by: nitishm <nitishm@microsoft.com>
Added repoPath field to support looking up helm charts in repos with
subdirs that are different from the index.yaml path.
Misc other changes to fix bugs and support above use case
Signed-off-by: nitishm <nitishm@microsoft.com>
Co-authored-by: nitishm <nitishm@microsoft.com>
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update diagram and switch harbor for chartmuseum
Update the orkestra-core diagram replacing harbor for chartmuseum
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Pipeline tasks docker & gh release
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Github release only on matching tag pattern v*
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Developer tools and CRD updates for HelmValues
- Added Tiltfile for improving developer workflow
- Modified the CRD to use Overlays field instead of
HelmValuesSpec.Values field
- Updated argo code to copy over values from Overlays to
HelmReleaseSpec.Values
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Fixup Tiltfile
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* [fix] Target namespace support for helm-releases
Orkestra creates a Namespace if it doesnt already exist for the
helm-release object and target namespace
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Azure pipeline docker tags & tests uncommented
Updated Azure pipeline docker task to push latest tag
Uncommented some tests that havent changed due to the last set of
changes, like moving some functions to be methods of argo.
Signed-off-by: Nitish Malhotra <nitishm@microsoft.com>
Co-authored-by: Nitish Malhotra <nitishm@DESKTOP-VJ37BRQ.localdomain>
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update diagram and switch harbor for chartmuseum
Update the orkestra-core diagram replacing harbor for chartmuseum
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Switch to helmreleasespec values field
- Switch away from overlays field to the embedded helmreleasespec values
field
- Docker image set to v0.1.0
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Initialise application controller with chart pull & push functionality (#16)
* feat: init application reconciler
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* use controller-gen 0.2.9
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* fix:ci
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* chore: introduct groupName
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* feat: add groupID
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* feat: add fetch function
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* feat: add fetch function
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* add test for AB#13
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* initiate push logic
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* chore: complete push function
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* chore: add configuration
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* fix: golangcilint and tests
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* chore: change branch name pattern to dev (#23)
* retrigger pipeline
Signed-off-by: Kush Trivedi <kushthedude@gmail.com>
* Nitishm/feature/ab#15/appgroup reconciler scaffold (#25)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Scaffolding for application group reconciler
Created the reconciler method for ApplicationGroup controller
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Added reconciler lookup functionality
Base functionality of application reconciler.
Still needs the generation functions for Argo Workflow object.
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Workflow interface and appgroup reconciler features
Added a bunch of changes to this commit:
- Created a Workflow engine interface to support any type of workflow
engine
- Added logic to appgroup_reconciler. Mostly WIP but sets the skeleton
for the upcoming commits.
Fixes ab#21
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
feat: AppGroup reconciler update
TODO:
- Generate the HelmRelease object
- Set the executor template
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
feat: ApplicationGroup first pass dev complete
- Needs more unit tests
- Not yet fit for usage
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Added unit tests (incomplete WIP)
WIP UTs for ApplicationGroup functions:
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Fix go.mod errors (#26)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* chore: change branch name pattern to dev (#23)
* Fix go.mod dependencies
go.mod was failing to resolve dependencies
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>
* Application and ApplicationReconciler and supported packages into dev branch (#28)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* chore: change branch name pattern to dev (#23)
* Fix go.mod dependencies
go.mod was failing to resolve dependencies
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Add additional tests for Argo.go functions
Added more test and test cases
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Updated status field for application type
Made Chartstatus inline so that we reference it under obj.status instead
of obj.status.status which causes stutter
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Created registry Client and related methods
- Modifications to rest of the code tree to support registry client
Still a WIP
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* New configurer and additional controller members
Added new members to Application and ApplicationGroup controller objects
Refactored the controller Config struct
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Restructuring w/ major changes
Bunch of changes to the controller and reconciler
Updated configurer and config.yaml format
Changes to application and applicationgroup CRD Status fields
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>
* Nitishm/feat/chart/push (#31)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* chore: change branch name pattern to dev (#23)
* Fix go.mod dependencies
go.mod was failing to resolve dependencies
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Add additional tests for Argo.go functions
Added more test and test cases
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Updated status field for application type
Made Chartstatus inline so that we reference it under obj.status instead
of obj.status.status which causes stutter
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Created registry Client and related methods
- Modifications to rest of the code tree to support registry client
Still a WIP
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* New configurer and additional controller members
Added new members to Application and ApplicationGroup controller objects
Refactored the controller Config struct
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Restructuring w/ major changes
Bunch of changes to the controller and reconciler
Updated configurer and config.yaml format
Changes to application and applicationgroup CRD Status fields
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update orkestra-core illustration (#30)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update diagram and switch harbor for chartmuseum
Update the orkestra-core diagram replacing harbor for chartmuseum
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Implemented the Push functionlity
Verfied manually that charts get uploaded to the staging directory
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* bug: resolve merge errors
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>
* Fixed lint errors and test failures (#33)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* chore: change branch name pattern to dev (#23)
* Fix go.mod dependencies
go.mod was failing to resolve dependencies
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Add additional tests for Argo.go functions
Added more test and test cases
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Updated status field for application type
Made Chartstatus inline so that we reference it under obj.status instead
of obj.status.status which causes stutter
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Created registry Client and related methods
- Modifications to rest of the code tree to support registry client
Still a WIP
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* New configurer and additional controller members
Added new members to Application and ApplicationGroup controller objects
Refactored the controller Config struct
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Restructuring w/ major changes
Bunch of changes to the controller and reconciler
Updated configurer and config.yaml format
Changes to application and applicationgroup CRD Status fields
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update orkestra-core illustration (#30)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update diagram and switch harbor for chartmuseum
Update the orkestra-core diagram replacing harbor for chartmuseum
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Implemented the Push functionlity
Verfied manually that charts get uploaded to the staging directory
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* bug: resolve merge errors
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Modifications and enhanced argo logic
- Multiple changes in argo object to support generation of valid workflow
- Added overlays field to Applications CR as a workaround for https://github.com/kubernetes/kubernetes/issues/98683
- Helm chart for orkestra init. All dependency charts helm-operator, chartmuseum, argo added to chart dependencies.
- Update main.go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Fix lint and argo_test errors
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>
* chore: Update docker targets in Make and comment cleanup (#34)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* chore: change branch name pattern to dev (#23)
* Fix go.mod dependencies
go.mod was failing to resolve dependencies
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Add additional tests for Argo.go functions
Added more test and test cases
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Updated status field for application type
Made Chartstatus inline so that we reference it under obj.status instead
of obj.status.status which causes stutter
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Created registry Client and related methods
- Modifications to rest of the code tree to support registry client
Still a WIP
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* New configurer and additional controller members
Added new members to Application and ApplicationGroup controller objects
Refactored the controller Config struct
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Restructuring w/ major changes
Bunch of changes to the controller and reconciler
Updated configurer and config.yaml format
Changes to application and applicationgroup CRD Status fields
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update orkestra-core illustration (#30)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update diagram and switch harbor for chartmuseum
Update the orkestra-core diagram replacing harbor for chartmuseum
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Implemented the Push functionlity
Verfied manually that charts get uploaded to the staging directory
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* bug: resolve merge errors
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Modifications and enhanced argo logic
- Multiple changes in argo object to support generation of valid workflow
- Added overlays field to Applications CR as a workaround for https://github.com/kubernetes/kubernetes/issues/98683
- Helm chart for orkestra init. All dependency charts helm-operator, chartmuseum, argo added to chart dependencies.
- Update main.go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Fix lint and argo_test errors
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Docker target changes and TODO comment cleanup
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>
* [chore] Helm chart for orkestra and relevant changes (#35)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* chore: change branch name pattern to dev (#23)
* Fix go.mod dependencies
go.mod was failing to resolve dependencies
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Add additional tests for Argo.go functions
Added more test and test cases
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Updated status field for application type
Made Chartstatus inline so that we reference it under obj.status instead
of obj.status.status which causes stutter
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Created registry Client and related methods
- Modifications to rest of the code tree to support registry client
Still a WIP
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* New configurer and additional controller members
Added new members to Application and ApplicationGroup controller objects
Refactored the controller Config struct
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Restructuring w/ major changes
Bunch of changes to the controller and reconciler
Updated configurer and config.yaml format
Changes to application and applicationgroup CRD Status fields
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update orkestra-core illustration (#30)
* Add PUML sequence diagrams
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Setup azure-pipeline for Go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update diagram and switch harbor for chartmuseum
Update the orkestra-core diagram replacing harbor for chartmuseum
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Implemented the Push functionlity
Verfied manually that charts get uploaded to the staging directory
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* bug: resolve merge errors
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* feat: Modifications and enhanced argo logic
- Multiple changes in argo object to support generation of valid workflow
- Added overlays field to Applications CR as a workaround for https://github.com/kubernetes/kubernetes/issues/98683
- Helm chart for orkestra init. All dependency charts helm-operator, chartmuseum, argo added to chart dependencies.
- Update main.go
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Fix lint and argo_test errors
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Docker target changes and TODO comment cleanup
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Helm chart for orkestra and related changes
- Created the helm chart for orkestra
- Made relevant changes based on feedback from running it on the cluster
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Create example dir and edits to README.md
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Update example and set ownersreference for helmrelease
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Fix argo tests failures from previous set of changes
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
* Fix lint error in argo test
Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>
Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>
Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>