- Go Server that serves APIs and also a ReactJS Based UI as a single static binary. (All JS Assets are packaged as bindata)
- Go 1.12
- ReactJS
- Kaniko for Container Builder
- Argo WF for CI & CD
- argo submit ci.ayml
- Initial Version of the application is deployed outside of this.
- Service is fixed.
- Deployment has a TAG to indicate it is blue or green.
- Parameters -- Overlay
Query the current version from the service tag and find out if we need to do blue or green deployment
Do data migration or any presteps
Use the overlay and generate the artifact with prefix that is green or blue
Apply the artifacts that was generated earlier. At this step we will have a newer version of the app deployed
Run the Test against the new service end point
Update the public service LB with new end points ( Simply another K8S Service )
Scale down the old deployment to 0
Handle Any Post deployment activies here