* Add tracking for previous applications
* Add purging logic with list
* Fix failing test case
* Fix failing test case
* Add new func test cases
* Add get diff functionality to graph
* Create a rollback new application workflow
* Combine the purge of newer applications with rollback workflow
* Create an executor interface for creating templates
* Increase default workflow executor version
* Use a workflow reconciler to update app group status
* Add finalizer to catch deletion
* Fix calling both rollback and reverse
* Add rolledback status to json printer
* Fix reverse workflow not working properly
* Upgrade to Argo v3.0.7
* Upgrade to Argo v3.0.7
* Update operators section in docs to include argo-workflows chart options
* Update operators section in docs to include latest orkestra chart options
* Add debug mode to controller for local testing
* Use the local flag instead of mode
* Clean makefile targets
* Make debug level env & skip kind error
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>
* Reconcile successful workflow asap
Fixes#109
Signed-off-by: nitishm <nitishm@microsoft.com>
* Added some dev flags
Closes#120
- to toggle remediation on error
- to set debug level
- to toggle cleanup of downloaded charts from orkestra's temp dir
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>
* 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>