From 3a05cfa20e0387d5ea4312397997b48763b02e7f Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Tue, 2 Oct 2018 00:21:44 +0300 Subject: [PATCH] Add podinfo chart for GitOps testing --- Makefile | 19 ++++----- artifacts/rollouts/podinfoc.yaml | 36 ++++++++++++++++++ charts/steerer/.helmignore | 21 ++++++++++ {chart => charts}/steerer/Chart.yaml | 2 +- {chart => charts}/steerer/README.md | 0 {chart => charts}/steerer/templates/NOTES.txt | 0 .../steerer/templates/_helpers.tpl | 0 .../steerer/templates/account.yaml | 0 {chart => charts}/steerer/templates/crd.yaml | 0 .../steerer/templates/deployment.yaml | 0 {chart => charts}/steerer/templates/rbac.yaml | 0 {chart => charts}/steerer/values.yaml | 2 +- docs/podinfo-steerer-1.2.1.tgz | Bin 0 -> 6152 bytes 13 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 artifacts/rollouts/podinfoc.yaml create mode 100644 charts/steerer/.helmignore rename {chart => charts}/steerer/Chart.yaml (90%) rename {chart => charts}/steerer/README.md (100%) rename {chart => charts}/steerer/templates/NOTES.txt (100%) rename {chart => charts}/steerer/templates/_helpers.tpl (100%) rename {chart => charts}/steerer/templates/account.yaml (100%) rename {chart => charts}/steerer/templates/crd.yaml (100%) rename {chart => charts}/steerer/templates/deployment.yaml (100%) rename {chart => charts}/steerer/templates/rbac.yaml (100%) rename {chart => charts}/steerer/values.yaml (95%) create mode 100644 docs/podinfo-steerer-1.2.1.tgz diff --git a/Makefile b/Makefile index 77ea734f..7336c7fe 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ VERSION_MINOR:=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4 PATCH:=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4 }' | tr -d '"' | awk -F. '{print $$NF}') SOURCE_DIRS = cmd pkg/apis pkg/controller pkg/server pkg/logging pkg/version run: - go run cmd/steerer/* -kubeconfig=$$HOME/.kube/config -log-level=debug -metrics-server=https://prometheus.istio.weavedx.com + go run cmd/steerer/* -kubeconfig=$$HOME/.kube/config -log-level=info -metrics-server=https://prometheus.istio.weavedx.com build: docker build -t stefanprodan/steerer:$(TAG) . -f Dockerfile @@ -25,8 +25,8 @@ test: test-fmt test-codegen go test ./... helm-package: - cd chart/ && helm package steerer/ - mv chart/*.tgz docs/ + cd charts/ && helm package steerer/ && helm package podinfo-steerer/ + mv charts/*.tgz docs/ helm repo index docs --url https://stefanprodan.github.io/steerer --merge ./docs/index.yaml helm-up: @@ -37,24 +37,25 @@ version-set: current="$(VERSION)" && \ sed -i '' "s/$$current/$$next/g" pkg/version/version.go && \ sed -i '' "s/steerer:$$current/steerer:$$next/g" artifacts/steerer/deployment.yaml && \ - sed -i '' "s/tag: $$current/tag: $$next/g" chart/steerer/values.yaml && \ - sed -i '' "s/appVersion: $$current/appVersion: $$next/g" chart/steerer/Chart.yaml && \ - echo "Version $$next set in code, deployment and chart" + sed -i '' "s/tag: $$current/tag: $$next/g" charts/steerer/values.yaml && \ + sed -i '' "s/appVersion: $$current/appVersion: $$next/g" charts/steerer/Chart.yaml && \ + echo "Version $$next set in code, deployment and charts" version-up: @next="$(VERSION_MINOR).$$(($(PATCH) + 1))" && \ current="$(VERSION)" && \ sed -i '' "s/$$current/$$next/g" pkg/version/version.go && \ sed -i '' "s/steerer:$$current/steerer:$$next/g" artifacts/steerer/deployment.yaml && \ - sed -i '' "s/tag: $$current/tag: $$next/g" chart/steerer/values.yaml && \ - sed -i '' "s/appVersion: $$current/appVersion: $$next/g" chart/steerer/Chart.yaml && \ + sed -i '' "s/tag: $$current/tag: $$next/g" charts/steerer/values.yaml && \ + sed -i '' "s/appVersion: $$current/appVersion: $$next/g" charts/steerer/Chart.yaml && \ echo "Version $$next set in code, deployment and chart" dev-up: version-up @echo "Starting build/push/deploy pipeline for $(VERSION)" docker build -t stefanprodan/steerer:$(VERSION) . -f Dockerfile docker push stefanprodan/steerer:$(VERSION) - helm upgrade --install steerer ./chart/steerer --namespace=istio-system + kubectl apply -f ./artifacts/steerer/crd.yaml + helm upgrade --install steerer ./charts/steerer --namespace=istio-system --set crd.create=false release: git tag $(VERSION) diff --git a/artifacts/rollouts/podinfoc.yaml b/artifacts/rollouts/podinfoc.yaml new file mode 100644 index 00000000..46c62311 --- /dev/null +++ b/artifacts/rollouts/podinfoc.yaml @@ -0,0 +1,36 @@ +apiVersion: apps.weave.works/v1beta1 +kind: Rollout +metadata: + name: podinfoc + namespace: test +spec: + targetKind: Deployment + virtualService: + name: podinfoc + primary: + name: podinfoc-primary + host: podinfoc-primary + canary: + name: podinfoc-canary + host: podinfoc-canary + canaryAnalysis: + # max number of failed metric checks + # before rolling back the canary + threshold: 10 + # max traffic percentage routed to canary + # percentage (0-100) + maxWeight: 50 + # canary increment step + # percentage (0-100) + stepWeight: 10 + metrics: + - name: istio_requests_total + # minimum req success rate (non 5xx responses) + # percentage (0-100) + threshold: 99 + interval: 1m + - name: istio_request_duration_seconds_bucket + # maximum req duration P99 + # milliseconds + threshold: 500 + interval: 30s diff --git a/charts/steerer/.helmignore b/charts/steerer/.helmignore new file mode 100644 index 00000000..f0c13194 --- /dev/null +++ b/charts/steerer/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/chart/steerer/Chart.yaml b/charts/steerer/Chart.yaml similarity index 90% rename from chart/steerer/Chart.yaml rename to charts/steerer/Chart.yaml index d8baa441..3fbaeb17 100644 --- a/chart/steerer/Chart.yaml +++ b/charts/steerer/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 name: steerer version: 0.0.1 -appVersion: 0.0.1-rc.6 +appVersion: 0.0.1-rc.16 description: Steerer is a Kubernetes operator that automates the promotion of canary deployments using Istio routing for traffic shifting and Prometheus metrics for canary analysis. diff --git a/chart/steerer/README.md b/charts/steerer/README.md similarity index 100% rename from chart/steerer/README.md rename to charts/steerer/README.md diff --git a/chart/steerer/templates/NOTES.txt b/charts/steerer/templates/NOTES.txt similarity index 100% rename from chart/steerer/templates/NOTES.txt rename to charts/steerer/templates/NOTES.txt diff --git a/chart/steerer/templates/_helpers.tpl b/charts/steerer/templates/_helpers.tpl similarity index 100% rename from chart/steerer/templates/_helpers.tpl rename to charts/steerer/templates/_helpers.tpl diff --git a/chart/steerer/templates/account.yaml b/charts/steerer/templates/account.yaml similarity index 100% rename from chart/steerer/templates/account.yaml rename to charts/steerer/templates/account.yaml diff --git a/chart/steerer/templates/crd.yaml b/charts/steerer/templates/crd.yaml similarity index 100% rename from chart/steerer/templates/crd.yaml rename to charts/steerer/templates/crd.yaml diff --git a/chart/steerer/templates/deployment.yaml b/charts/steerer/templates/deployment.yaml similarity index 100% rename from chart/steerer/templates/deployment.yaml rename to charts/steerer/templates/deployment.yaml diff --git a/chart/steerer/templates/rbac.yaml b/charts/steerer/templates/rbac.yaml similarity index 100% rename from chart/steerer/templates/rbac.yaml rename to charts/steerer/templates/rbac.yaml diff --git a/chart/steerer/values.yaml b/charts/steerer/values.yaml similarity index 95% rename from chart/steerer/values.yaml rename to charts/steerer/values.yaml index e4154672..316cf44e 100644 --- a/chart/steerer/values.yaml +++ b/charts/steerer/values.yaml @@ -2,7 +2,7 @@ image: repository: stefanprodan/steerer - tag: 0.0.1-rc.6 + tag: 0.0.1-rc.16 pullPolicy: IfNotPresent controlLoopInterval: "10s" diff --git a/docs/podinfo-steerer-1.2.1.tgz b/docs/podinfo-steerer-1.2.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..aee90876bbb09c1eec839df8efe039638c85050e GIT binary patch literal 6152 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 aDpjdURjSe>N&goB0RR7hcMyyK`~UzRoGtzU literal 0 HcmV?d00001