* 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>
Closes#93
Revert the DAG workflow by deleting the HelmReleases in the reverse
order while honoring the dependency order.
Signed-off-by: nitishm <nitishm@microsoft.com>
Co-authored-by: nitishm <nitishm@microsoft.com>
Fixes#98
Set HelmRelease's 'ReleaseName' to the CRO name
Signed-off-by: nitishm <nitishm@microsoft.com>
Co-authored-by: nitishm <nitishm@microsoft.com>
* Reflect workflow phase in appgroup status
Closes#82
Signed-off-by: nitishm <nitishm@microsoft.com>
* Fix bug wherein the namespace is terminating and wf fails
Fixes#88
Fix bug wherein the namespace is terminating and wf fails
Signed-off-by: nitishm <nitishm@microsoft.com>
Co-authored-by: nitishm <nitishm@microsoft.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>
* Removed completed TODO tasks
Removed the comment lines for TODO, FIXME, XXX tasks that have been
completed or are no longer needed.
Signed-off-by: Nitish Malhotra <nitishm@microsoft.com>
Co-authored-by: Nitish Malhotra <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>