Skip to content

Commit

Permalink
Merge pull request #9 from rallyhealth/cut-v1.4.1-rallyhealth
Browse files Browse the repository at this point in the history
feat: Cut v1.4.1 rallyhealth
  • Loading branch information
tall-dan authored Mar 17, 2023
2 parents a981fee + 41fcfb8 commit 1ac9b72
Show file tree
Hide file tree
Showing 79 changed files with 3,773 additions and 42 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,19 +82,23 @@ jobs:
echo "::set-output name=platform-matrix::$PLATFORM_MATRIX"
- name: Build and push (controller-image)
uses: docker/build-push-action@v3
uses: docker/build-push-action@37abcedcc1da61a57767b7588cb9d03eb57e28b3 # v3.3.0
with:
platforms: ${{ steps.platform-matrix.outputs.platform-matrix }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.controller-meta.outputs.tags }}
provenance: false
sbom: false

- name: Build and push (plugin-image)
uses: docker/build-push-action@v3
uses: docker/build-push-action@37abcedcc1da61a57767b7588cb9d03eb57e28b3 # v3.3.0
with:
target: kubectl-argo-rollouts
platforms: ${{ steps.platform-matrix.outputs.platform-matrix }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.plugin-meta.outputs.tags }}
provenance: false
sbom: false

- name: Install cosign
uses: sigstore/cosign-installer@main
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,6 @@ jobs:
run: |
make go-mod-vendor
make codegen
make manifests
make docs
- name: Ensure nothing changed
run: git diff --exit-code
8 changes: 6 additions & 2 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,21 +84,25 @@ jobs:
password: ${{ secrets.QUAY_ROBOT_TOKEN }}

- name: Build and push (controller-image)
uses: docker/build-push-action@v3
uses: docker/build-push-action@37abcedcc1da61a57767b7588cb9d03eb57e28b3 # v3.3.0
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.controller-meta.outputs.tags }}
provenance: false
sbom: false

- name: Build and push (plugin-image)
uses: docker/build-push-action@v3
uses: docker/build-push-action@37abcedcc1da61a57767b7588cb9d03eb57e28b3 # v3.3.0
with:
context: .
target: kubectl-argo-rollouts
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.plugin-meta.outputs.tags }}
provenance: false
sbom: false


release-artifacts:
Expand Down
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ junit.xml
rerunreport.txt
site/
vendor/
# generated
docs/generated
# static
server/static/*
!server/static/.gitkeep
!server/static/.gitkeep
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ RUN cd ${GOPATH}/src/dummy && \
####################################################################################################
# UI build stage
####################################################################################################
FROM --platform=$BUILDPLATFORM docker.io/library/node:12.18.4 as argo-rollouts-ui
FROM --platform=$BUILDPLATFORM docker.io/library/node:18 as argo-rollouts-ui

WORKDIR /src
ADD ["ui/package.json", "ui/yarn.lock", "./"]
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ install-toolchain: install-go-tools-local install-protoc-local

# generates all auto-generated code
.PHONY: codegen
codegen: go-mod-vendor gen-proto gen-k8scodegen gen-openapi gen-mocks gen-crd manifests
codegen: go-mod-vendor gen-proto gen-k8scodegen gen-openapi gen-mocks gen-crd manifests docs

# generates all files related to proto files
.PHONY: gen-proto
Expand Down
1 change: 1 addition & 0 deletions USERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Organizations below are **officially** using Argo Rollouts. Please send a PR wit
1. [OpsMx](https://opsmx.io)
1. [OpsVerse](https://opsverse.io)
1. [Optum](https://www.optum.com)
1. [Outreach](https://www.outreach.io)
1. [PagerDuty](https://www.pagerduty.com/)
1. [PayPal](https://www.paypal.com/)
1. [PayPay](https://paypay.ne.jp/)
Expand Down
4 changes: 2 additions & 2 deletions docs/features/experiment.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The Experiment CRD allows users to have ephemeral runs of one or more ReplicaSet
running ephemeral ReplicaSets, the Experiment CRD can launch AnalysisRuns alongside the ReplicaSets.
Generally, those AnalysisRun is used to confirm that new ReplicaSets are running as expected.

A Service routing traffic to the Experiment ReplicaSet is also generated.
A Service routing traffic to the Experiment ReplicaSet is also generated if a weight for that experiment is set.

## Use cases of Experiments

Expand Down Expand Up @@ -245,7 +245,7 @@ to `experiment-baseline`, leaving the remaining 90% of traffic to the old stack.

!!! note
When a weighted experiment step with traffic routing is used, a
Service is auto-created for each experiment template. The traffic routers use
service is auto-created for each experiment template. The traffic routers use
this service to send traffic to the experiment pods.

By default, the generated Service has the name of the ReplicaSet and inherits
Expand Down
76 changes: 76 additions & 0 deletions docs/generated/kubectl-argo-rollouts/kubectl-argo-rollouts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Rollouts

Manage argo rollouts

## Synopsis

This command consists of multiple subcommands which can be used to manage Argo Rollouts.

```shell
kubectl argo rollouts COMMAND [flags]
```

## Examples

```shell
# Get guestbook rollout and watch progress
kubectl argo rollouts get rollout guestbook -w

# Pause the guestbook rollout
kubectl argo rollouts pause guestbook

# Promote the guestbook rollout
kubectl argo rollouts promote guestbook

# Abort the guestbook rollout
kubectl argo rollouts abort guestbook

# Retry the guestbook rollout
kubectl argo rollouts retry guestbook
```

## Options

```
--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation.
--cache-dir string Default cache directory (default "$HOME/.kube/cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
-h, --help help for kubectl-argo-rollouts
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
-v, --kloglevel int Log level for kubernetes client library
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--loglevel string Log level for kubectl argo rollouts (default "info")
-n, --namespace string If present, the namespace scope for this CLI request
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--tls-server-name string Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
```

## Available Commands

* [rollouts abort](kubectl-argo-rollouts_abort.md) - Abort a rollout
* [rollouts completion](kubectl-argo-rollouts_completion.md) - Generate completion script
* [rollouts create](kubectl-argo-rollouts_create.md) - Create a Rollout, Experiment, AnalysisTemplate, ClusterAnalysisTemplate, or AnalysisRun resource
* [rollouts dashboard](kubectl-argo-rollouts_dashboard.md) - Start UI dashboard
* [rollouts get](kubectl-argo-rollouts_get.md) - Get details about rollouts and experiments
* [rollouts lint](kubectl-argo-rollouts_lint.md) - Lint and validate a Rollout
* [rollouts list](kubectl-argo-rollouts_list.md) - List rollouts or experiments
* [rollouts notifications](kubectl-argo-rollouts_notifications.md) - Set of CLI commands that helps manage notifications settings
* [rollouts pause](kubectl-argo-rollouts_pause.md) - Pause a rollout
* [rollouts promote](kubectl-argo-rollouts_promote.md) - Promote a rollout
* [rollouts restart](kubectl-argo-rollouts_restart.md) - Restart the pods of a rollout
* [rollouts retry](kubectl-argo-rollouts_retry.md) - Retry a rollout or experiment
* [rollouts set](kubectl-argo-rollouts_set.md) - Update various values on resources
* [rollouts status](kubectl-argo-rollouts_status.md) - Show the status of a rollout
* [rollouts terminate](kubectl-argo-rollouts_terminate.md) - Terminate an AnalysisRun or Experiment
* [rollouts undo](kubectl-argo-rollouts_undo.md) - Undo a rollout
* [rollouts version](kubectl-argo-rollouts_version.md) - Print version

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Rollouts Abort

Abort a rollout

## Synopsis

This command stops progressing the current rollout and reverts all steps. The previous ReplicaSet will be active.

Note the 'spec.template' still represents the new rollout version. If the Rollout leaves the aborted state, it will try to go to the new version.
Updating the 'spec.template' back to the previous version will fully revert the rollout.

```shell
kubectl argo rollouts abort ROLLOUT_NAME [flags]
```

## Examples

```shell
# Abort a rollout
kubectl argo rollouts abort guestbook
```

## Options

```
-h, --help help for abort
```

## Options inherited from parent commands

```
--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation.
--cache-dir string Default cache directory (default "$HOME/.kube/cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
-v, --kloglevel int Log level for kubernetes client library
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--loglevel string Log level for kubectl argo rollouts (default "info")
-n, --namespace string If present, the namespace scope for this CLI request
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--tls-server-name string Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
```

## See Also

* [rollouts](kubectl-argo-rollouts.md) - Manage argo rollouts
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Rollouts Completion

Generate completion script

## Synopsis

To load completions:

Bash:

$ source <(yourprogram completion bash)

# To load completions for each session, execute once:
# Linux:
$ yourprogram completion bash > /etc/bash_completion.d/yourprogram
# macOS:
$ yourprogram completion bash > /usr/local/etc/bash_completion.d/yourprogram

Zsh:

# If shell completion is not already enabled in your environment,
# you will need to enable it. You can execute the following once:

$ echo "autoload -U compinit; compinit" >> ~/.zshrc

# To load completions for each session, execute once:
$ yourprogram completion zsh > "${fpath[1]}/_yourprogram"

# You will need to start a new shell for this setup to take effect.

fish:

$ yourprogram completion fish | source

# To load completions for each session, execute once:
$ yourprogram completion fish > ~/.config/fish/completions/yourprogram.fish

PowerShell:

PS> yourprogram completion powershell | Out-String | Invoke-Expression

# To load completions for every new session, run:
PS> yourprogram completion powershell > yourprogram.ps1
# and source this file from your PowerShell profile.


```shell
kubectl argo rollouts completion [bash|zsh|fish|powershell]
```

## Options

```
-h, --help help for completion
```

## Options inherited from parent commands

```
--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation.
--cache-dir string Default cache directory (default "$HOME/.kube/cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
-v, --kloglevel int Log level for kubernetes client library
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--loglevel string Log level for kubectl argo rollouts (default "info")
-n, --namespace string If present, the namespace scope for this CLI request
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--tls-server-name string Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
```

## See Also

* [rollouts](kubectl-argo-rollouts.md) - Manage argo rollouts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Rollouts Create

Create a Rollout, Experiment, AnalysisTemplate, ClusterAnalysisTemplate, or AnalysisRun resource

## Synopsis

This command creates a new Rollout, Experiment, AnalysisTemplate, ClusterAnalysisTemplate, or AnalysisRun resource from a file.

```shell
kubectl argo rollouts create [flags]
```

## Examples

```shell
# Create an experiment and watch it
kubectl argo rollouts create -f my-experiment.yaml -w
```

## Options

```
-f, --filename stringArray Files to use to create the resource
-h, --help help for create
--no-color Do not colorize output
-w, --watch Watch live updates to the resource after creating
```

## Options inherited from parent commands

```
--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation.
--cache-dir string Default cache directory (default "$HOME/.kube/cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
-v, --kloglevel int Log level for kubernetes client library
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--loglevel string Log level for kubectl argo rollouts (default "info")
-n, --namespace string If present, the namespace scope for this CLI request
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--tls-server-name string Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
```

## Available Commands

* [rollouts create analysisrun](kubectl-argo-rollouts_create_analysisrun.md) - Create an AnalysisRun from an AnalysisTemplate or a ClusterAnalysisTemplate

## See Also

* [rollouts](kubectl-argo-rollouts.md) - Manage argo rollouts
Loading

0 comments on commit 1ac9b72

Please sign in to comment.