Skip to content

Manage manual gating for Flagger based Canary deployments directly from Slack!

License

Notifications You must be signed in to change notification settings

grofers/flagger-slack-handler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flagger-slack-handler

Manual gating for Flagger based Canary deployments directly from Slack!

Requirements

Installation

This project is intended to be run on Kubernetes.

Install the Deployment:

$ kubectl apply -n [NAMESPACE] -f https://raw.githubusercontent.com/grofers/flagger-slack-handler/master/kubernetes/deployment.yaml 

This Deployment needs to be exposed locally for Slack to interact with. If your cluster has capabilities for provisioning a public LoadBalancer, edit the below service to LoadBalancer. Alternatively, you may use expose the service using an Ingress controller.

$ kubectl apply -n [NAMESPACE] -f https://raw.githubusercontent.com/grofers/flagger-slack-handler/master/kubernetes/service.yaml 

Run Locally

Follow the steps below to run this project locally

$ https://github.com/grofers/flagger-slack-handler

Go to the project directory

$ cd flagger-slack-handler

Build the binary

$ make build

Start the server

$ ./bin/flagger-slack-handler \
    -port=8080 \
    -loadtester-namespace=<namespace where flagger-loadtester is installed>

Usage

Pre-requisites

Before proceeding, install a Slack command bot in your Slack workspace and update the Request URL to point to the LoadBalancer / Ingress URL of your installation of flagger-slack-handler, suffixed with a /handler.

Verify if the bot is running by issuing the following command from any Slack channel:

/flagger help

Promotion

Run the following command to promote a Canary rollout:

/flagger promote [CANARY NAME] [CANARY NAMESPACE]

Example:

/flagger promote podinfo test

A promotion calls the confirm-promotion or confirm-traffic-rollout webhook. More info here.

Rollback

Run the following command to rollback a Canary rollout:

/flagger rollback [CANARY NAME] [CANARY NAMESPACE]

Example:

/flagger rollback podinfo test

A rollback calls the rollback webhook. More info here.

License

MIT

About

Manage manual gating for Flagger based Canary deployments directly from Slack!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published