-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
enhancementNew feature or requestNew feature or requestfeatFeatureFeaturesize : LFeature / Enhancement that doesnt involve redesingFeature / Enhancement that doesnt involve redesing
Description
The existing and only ApplicationGroup Custom Resource provided by Orkestra is used to generate a workflow for deploying helm releases using a dependency graph. While orkestra with the introduction of Keptn executor plugin allows for tests and validations to be executed during the release (install/upgrade) of each application in the “Application Group”, it does not provide a mechanism to run any system-level validation or check before and after the successful deploy/upgrade of the “Application Group” Releases.
This feature request proposes a new custom resource type that instruments a pre-flight and post-deploy steps (workflow) to execute a myriad of checks/validations before and/or after the release of an application group.
Proposed Type Specs
ApplicationGroupTemplate
apiVersion: orkestra.azure.microsoft.com/v1alpha1
kind: ApplicationGroupTemplate
metadata:
name: bookinfo
spec:
template:
applications:
- name: ambassador
dependencies: []
spec:
chart:
url: "https://nitishm.github.io/charts"
name: ambassador
version: 6.6.0
release:
timeout: 10m
targetNamespace: ambassador
values:
service:
type: ClusterIP
- name: bookinfo
dependencies: [ambassador]
spec:
chart:
url: "https://nitishm.github.io/charts"
name: bookinfo
version: v1
subcharts:
- name: productpage
dependencies: [reviews]
- name: reviews
dependencies: [details, ratings]
- name: ratings
dependencies: []
- name: details
dependencies: []
release:
targetNamespace: bookinfo
values:
productpage:
replicaCount: 1
details:
replicaCount: 1
reviews:
replicaCount: 1
ratings:
replicaCount: 1Pipeline
apiVersion: orkestra.azure.microsoft.com/v1alpha1
kind: Pipeline
metadata:
name: bookinfo
spec:
preFlight:
tasks:
- name: clusterHealthCheck
dependencies: []
container:
image: alpine:3.7
command: [kubectl, cluster-info, dump]
- name: initTestHarness
dependencies: ["clusterHealthCheck"]
container:
image: alpine:3.7
command: [echo, "initializing test harness"]
applicationGroup:
templateRef:
name: bookinfo-template
postFlight:
tasks:
- name: e2e
dependencies: []
container:
image: alpine:3.7
command: [python, e2e.py]Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestfeatFeatureFeaturesize : LFeature / Enhancement that doesnt involve redesingFeature / Enhancement that doesnt involve redesing
