• Stars
    star
    182
  • Rank 211,154 (Top 5 %)
  • Language
    Go
  • Created over 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Argo Rollouts Demo Application

This repo contains the Argo Rollouts demo application source code and examples. It demonstrates the various deployment strategies and progressive delivery features of Argo Rollouts.

img

Examples

The following examples are provided:

Example Description
Canary Rollout which uses the canary update strategy
Blue-Green Rollout which uses the blue-green update strategy
Canary Analysis Rollout which performs canary analysis as part of the update. Uses the prometheus metric provider.
Experiment Experiment which performs an A/B test. Performs analysis against the A and B using the job metric provider
Preview Stack Testing Rollout which launches an experiment that tests a preview stack (which receives no production traffic)
Canary with istio (1) Rollout which uses host-level traffic splitting during update
Canary with istio (2) Rollout which uses subset-level traffic splitting during update

Before running an example:

  1. Install Argo Rollouts
  1. Install Kubectl Plugin

To run an example:

  1. Apply the manifests of one of the examples:
kustomize build <EXAMPLE-DIR> | kubectl apply -f -
  1. Watch the rollout or experiment using the argo rollouts kubectl plugin:
kubectl argo rollouts get rollout <ROLLOUT-NAME> --watch
kubectl argo rollouts get experiment <EXPERIMENT-NAME> --watch
  1. For rollouts, trigger an update by setting the image of a new color to run:
kubectl argo rollouts set image <ROLLOUT-NAME> "*=argoproj/rollouts-demo:yellow"

Images

Available images colors are: red, orange, yellow, green, blue, purple (e.g. argoproj/rollouts-demo:yellow). Also available are:

  • High error rate images, prefixed with the word bad (e.g. argoproj/rollouts-demo:bad-yellow)
  • High latency images, prefixed with the word slow (e.g. argoproj/rollouts-demo:slow-yellow)

Releasing

To release new images:

make release IMAGE_NAMESPACE=argoproj DOCKER_PUSH=true

More Repositories

1

argo-cd

Declarative Continuous Deployment for Kubernetes
Go
17,515
star
2

argo-workflows

Workflow Engine for Kubernetes
Go
14,835
star
3

argo-rollouts

Progressive Delivery for Kubernetes
Go
2,676
star
4

argo-events

Event-driven Automation Framework for Kubernetes
Go
2,328
star
5

argo-helm

ArgoProj Helm Charts
Mustache
1,685
star
6

gitops-engine

Democratizing GitOps
Go
1,672
star
7

argocd-example-apps

Example Apps to Demonstrate Argo CD
Jsonnet
1,516
star
8

argoproj

Common project repo for all Argo Projects
Python
595
star
9

applicationset

The ApplicationSet controller manages multiple Argo CD Applications as a single ApplicationSet unit, supporting deployments to large numbers of clusters, deployments of large monorepos, and enabling secure Application self-service.
Go
588
star
10

notifications-engine

Affordable notifications for Kubernetes
Go
271
star
11

argoproj-deployments

Deployment repository for Argoproj CI/CD
HCL
228
star
12

argo-ui

Argoproj shared React components
TypeScript
220
star
13

argo-ci

Continuous integration and delivery for Kubernetes powered by Argo workflows.
TypeScript
200
star
14

pkg

Argo shared libraries between argo projects
Go
36
star
15

data-pipeline

Python
36
star
16

argo-schema-generator

Tool that generates a kustomize schema file for Argo CD, Argo Rollouts, Argo Workflows, and Argo Events
Go
28
star
17

argo-ml-demo

Demonstration of using an Argo workflow for an ML application
Python
28
star
18

argo-site

JavaScript
15
star
19

argo-cd-ui

TypeScript
15
star
20

homebrew-tap

Homebrew Tap for argo
Ruby
14
star
21

argo-cd-hello-world-app

A basic golang app with a travis pipeline that deploys into a k8s cluster using Argo-CD
Makefile
14
star
22

argocon21

JavaScript
8
star
23

ui-lib

TypeScript
5
star
24

argoproj.github.io

Generated from https://github.com/argoproj/argo-site
HTML
5
star
25

argo-cd-hello-world-config

Shell
4
star
26

argo-conformance-program

A standard to ensure interoperability, protect users, and prevent surprises when using commercial offerings with Argo in the name.
4
star
27

community-contrib-docs

3
star
28

argo-events-old

This repo is now obsolete. Please check out https://github.com/argoproj/argo-events
3
star
29

image-processing-demo

Python
3
star
30

kubecon-sandbox

KubeCon Sandbox for demonstrating Argo CD
Shell
3
star
31

.github

3
star
32

kubeflow-ks

Example repo that stores the ksonnet files of Kubeflow v0.3.0
Shell
2
star
33

katacoda-scenarios

Shell
1
star