This project is a demo for Istio canaries and Istio pipelines using Spinnaker. (Youtube).
istio
folder contains the Istio operator, namespace and gateway. (Install Istio operator viaistioctl
first)scripts
contains a deployment and configmap with scripts for demospinnaker
contains Spinnaker pipeline definition in JSONspinnaker-config
contains the Spinnaker CRDs, Operator and Spinnaker configuration used to install Spinnakersrc
.NET Core projects used during the demoDockerfile
andtests.Dockerfile
ASP.NET Core app and .NET Core integration test dockerfiles
Port forward Spinnaker's spin-gate
on 8084
and spin-deck
on 9000
. I use derailed/k9s for this. Open http://localhost:9000 to view Spinnaker.
Create a new application in Spinnaker, and a new pipeline. Edit the pipeline as Json (top right drop down) and paste in spinnaker/pipeline.json. Save.
(Port forward Spinnaker if not already done)
Monitor output of integration tests, ensure "canary" is the response Optionally, run scripts in scripts/script-deployment.yaml manually to verify.
Once you have verified canary is working, continue to the prod portion of thep pipeline. You should only see "prod" responses from integration tests and CURL output in scripts.