Граф коммитов

8 Коммитов

Автор SHA1 Сообщение Дата
Nitish Malhotra c6277a5c7e
Add checksum to applicationgroup status field (#70)
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>
2021-02-23 17:32:01 -08:00
Nitish Malhotra 3d5603dddb
Nitishm/rework/combine app into appgrp (#68)
* 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>
2021-02-22 11:12:58 -08:00
Nitish Malhotra 71ea1f8a6a
[feat] Support subdirs in helm repositories (#63)
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>
2021-02-11 12:59:02 -08:00
Nitish Malhotra bea4df2f59
Make workflow pod serviceAccount configurable (#55)
Fixes #50

Create ENV variable for workflow's job pod serviceAccount

Signed-off-by: Nitish Malhotra <nitishm@microsoft.com>

Co-authored-by: Nitish Malhotra <nitishm@microsoft.com>
2021-02-08 21:39:16 -08:00
Nitish Malhotra 7a484dddcd
[fix] Target namespace support for helm-releases (#46)
* 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>
2021-02-08 10:55:26 -08:00
Nitish Malhotra 20cd7edf88
Nitishm/fix/helmvalues through helmreleasespec (#40)
* 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>
2021-02-03 13:20:07 -08:00
Nitish Malhotra f1c574a36b
Merge dev branch into main (#36)
* 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>
2021-02-02 18:49:42 -08:00
Nitish Malhotra a0ab685f17
Kubebuilder scaffolding for Orkestra Project (#7)
* [WIP] Kubebuilder scaffolding for Orkestra Project

Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>

* Switch domain to azure.microsoft.com

Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>

* Define CRDs and sample CR fields

Defined the CRD names and sample CR fields for Application and
ApplicationGroup in the config/samples directory

Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>

* Add new manifest CRDs

Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>

* Update api/v1alpha1/appgroup_types.go

Fix json tag for applications in appgroup types

Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>

* Fix api for app subcharts

Renamed field to subcharts

Fixed indentation level for subcharts field

Added subcharts field to application api spec

Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>

* Add event recorder to controllers

Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.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>

* Add golanci-lint workflow

Signed-off-by: Nitish Malhotra <nitish.malhotra@gmail.com>

Co-authored-by: Kush Trivedi <44091822+kushthedude@users.noreply.github.com>
2021-01-05 09:46:53 -05:00