Skip to content
This repository was archived by the owner on Jan 28, 2025. It is now read-only.

feat: [Not merged]:[BE]:Canary template #2

Open
wants to merge 23 commits into
base: gateway-api
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b5ae499
chore(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudwatch (#2…
dependabot[bot] Oct 24, 2022
c36777f
chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.16.16 to 1.17.0…
dependabot[bot] Oct 24, 2022
24eb02f
chore(deps): bump github.com/aws/aws-sdk-go-v2/service/elasticloadbal…
dependabot[bot] Oct 25, 2022
cc3d940
chore(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#2…
dependabot[bot] Oct 25, 2022
1dd16eb
chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.17.0 to 1.17.1 …
dependabot[bot] Oct 25, 2022
e266449
chore(deps): bump github.com/aws/aws-sdk-go-v2/config (#2367)
dependabot[bot] Oct 25, 2022
51388c5
chore(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudwatch (#2…
dependabot[bot] Oct 25, 2022
d106b3a
chore(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#2370)
dependabot[bot] Oct 25, 2022
c404624
chore(deps): bump github.com/influxdata/influxdb-client-go/v2 (#2381)
dependabot[bot] Oct 28, 2022
9d43599
Run e2e tests on multiple kubernetes versions (#2380)
thomas-riccardi Oct 31, 2022
381feea
build: copy proto files from GOPATH so we can clone outside of GOPATH…
zachaller Oct 31, 2022
cb49ca7
chore(deps): bump actions/upload-artifact from 2 to 3 (#1973)
dependabot[bot] Oct 31, 2022
7085fb2
chore: sign container images and checksum assets (#2334)
34fathombelow Nov 1, 2022
69af551
chore(deps): upgrade ui deps to fix high security cve's (#2345)
zachaller Nov 1, 2022
6d7ede9
chore(deps): bump imjasonh/setup-crane from 0.1 to 0.2 (#2387)
dependabot[bot] Nov 2, 2022
7eea8ff
chore(deps): bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 (#2390)
dependabot[bot] Nov 3, 2022
2d6f5a0
docs: mention supported versions (#2163)
kostis-codefresh Nov 3, 2022
076ea43
Add getyourguide to users (#2386)
alexef Nov 4, 2022
5f034a4
feat: add support for getting the replicaset name via templating (#2396)
zachaller Nov 4, 2022
5db47e7
fix: set gopath in makefile (#2398)
zachaller Nov 4, 2022
0976bc9
Merge remote-tracking branch 'origin/master' into gateway-api
PhilippPlotnikov Nov 6, 2022
7465abf
Add canaryTemplate field
PhilippPlotnikov Nov 28, 2022
9c227ba
Add patch operation for canaryTemplate field
PhilippPlotnikov Nov 28, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/dependabot_automerge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/[email protected].4
uses: dependabot/[email protected].5
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve PR
Expand Down
52 changes: 51 additions & 1 deletion .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,54 @@ jobs:
target: kubectl-argo-rollouts
platforms: ${{ steps.platform-matrix.outputs.platform-matrix }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.plugin-meta.outputs.tags }}
tags: ${{ steps.plugin-meta.outputs.tags }}

- name: Install cosign
uses: sigstore/cosign-installer@main
with:
cosign-release: 'v1.13.1'

- name: Install crane to get digest of image
uses: imjasonh/[email protected]

- name: Get digest of controller-image
run: |
if [[ "${{ github.ref == 'refs/heads/master' }}" ]]
then
echo "CONTROLLER_DIGEST=$(crane digest quay.io/argoproj/argo-rollouts:latest)" >> $GITHUB_ENV
fi
if [[ "${{ github.ref != 'refs/heads/master' }}" ]]
then
echo "CONTROLLER_DIGEST=$(crane digest ${{ steps.controller-meta.outputs.tags }})" >> $GITHUB_ENV
fi
if: github.event_name != 'pull_request'

- name: Get digest of plugin-image
run: |
if [[ "${{ github.ref == 'refs/heads/master' }}" ]]
then
echo "PLUGIN_DIGEST=$(crane digest quay.io/argoproj/kubectl-argo-rollouts:latest)" >> $GITHUB_ENV
fi
if [[ "${{ github.ref != 'refs/heads/master' }}" ]]
then
echo "PLUGIN_DIGEST=$(crane digest ${{ steps.plugin-meta.outputs.tags }})" >> $GITHUB_ENV
fi
if: github.event_name != 'pull_request'

- name: Sign Argo Rollouts Images
run: |
cosign sign --key env://COSIGN_PRIVATE_KEY quay.io/argoproj/argo-rollouts@${{ env.CONTROLLER_DIGEST }}
cosign sign --key env://COSIGN_PRIVATE_KEY quay.io/argoproj/kubectl-argo-rollouts@${{ env.PLUGIN_DIGEST }}
env:
COSIGN_PRIVATE_KEY: ${{secrets.COSIGN_PRIVATE_KEY}}
COSIGN_PASSWORD: ${{secrets.COSIGN_PASSWORD}}
if: ${{ github.event_name == 'push' }}

- name: Display the public key to share.
run: |
# Displays the public key to share
cosign public-key --key env://COSIGN_PRIVATE_KEY
env:
COSIGN_PRIVATE_KEY: ${{secrets.COSIGN_PRIVATE_KEY}}
COSIGN_PASSWORD: ${{secrets.COSIGN_PASSWORD}}
if: ${{ github.event_name == 'push' }}
18 changes: 13 additions & 5 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: Event File
path: ${{ github.event_path }}
test-e2e:
strategy:
fail-fast: false
matrix:
kubernetes-minor-version:
- 1.23
- 1.24
name: Run end-to-end tests
runs-on: ubuntu-latest
steps:
Expand All @@ -43,6 +49,8 @@ jobs:
go-version: 1.19
- uses: actions/[email protected]
- name: Setup k3s
env:
INSTALL_K3S_CHANNEL: v${{ matrix.kubernetes-minor-version }}
run: |
curl -sfL https://get.k3s.io | sh -
sudo mkdir ~/.kube
Expand Down Expand Up @@ -75,14 +83,14 @@ jobs:
[[ -f rerunreport.txt ]] && cat rerunreport.txt || echo "No rerun report found"
- name: Upload E2E Test Results
if: always()
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: E2E Test Results
name: E2E Test Results (k8s ${{ matrix.kubernetes-minor-version }})
path: |
junit.xml
- name: Upload e2e-controller logs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: e2e-controller-k8s.log
name: e2e-controller-k8s-${{ matrix.kubernetes-minor-version }}.log
path: /tmp/e2e-controller.log
if: ${{ failure() }}
6 changes: 3 additions & 3 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: Event File
path: ${{ github.event_path }}
Expand Down Expand Up @@ -77,14 +77,14 @@ jobs:

- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: Unit Test Results
path: |
junit.xml

- name: Generate code coverage artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: code-coverage
path: coverage.out
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,40 @@ jobs:

cd /tmp && tar -zcf sbom.tar.gz *.spdx

- name: Install cosign
uses: sigstore/cosign-installer@main
with:
cosign-release: 'v1.13.1'

- name: Install crane to get digest of image
uses: imjasonh/[email protected]

- name: Get digest of controller-image
run: |
echo "CONTROLLER_DIGEST=$(crane digest ${{ steps.controller-meta.outputs.tags }})" >> $GITHUB_ENV

- name: Get digest of plugin-image
run: |
echo "PLUGIN_DIGEST=$(crane digest ${{ steps.plugin-meta.outputs.tags }})" >> $GITHUB_ENV

- name: Sign Argo Rollouts Images
run: |
cosign sign --key env://COSIGN_PRIVATE_KEY quay.io/argoproj/argo-rollouts@${{ env.CONTROLLER_DIGEST }}
cosign sign --key env://COSIGN_PRIVATE_KEY quay.io/argoproj/kubectl-argo-rollouts@${{ env.PLUGIN_DIGEST }}
env:
COSIGN_PRIVATE_KEY: ${{secrets.COSIGN_PRIVATE_KEY}}
COSIGN_PASSWORD: ${{secrets.COSIGN_PASSWORD}}

- name: Sign checksums and create public key for release assets
run: |
cosign sign-blob --key env://COSIGN_PRIVATE_KEY dist/argo-rollouts-checksums.txt > dist/argo-rollouts-checksums.sig
cosign public-key --key env://COSIGN_PRIVATE_KEY > ./dist/argo-rollouts-cosign.pub
# Displays the public key to share.
cosign public-key --key env://COSIGN_PRIVATE_KEY
env:
COSIGN_PRIVATE_KEY: ${{secrets.COSIGN_PRIVATE_KEY}}
COSIGN_PASSWORD: ${{secrets.COSIGN_PASSWORD}}

- name: Draft release
uses: softprops/action-gh-release@v1
with:
Expand All @@ -161,6 +195,8 @@ jobs:
dist/kubectl-argo-rollouts-darwin-arm64
dist/kubectl-argo-rollouts-windows-amd64
dist/argo-rollouts-checksums.txt
dist/argo-rollouts-checksums.sig
dist/argo-rollouts-cosign.pub
manifests/dashboard-install.yaml
manifests/install.yaml
manifests/namespace-install.yaml
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ E2E_INSTANCE_ID ?= argo-rollouts-e2e
E2E_TEST_OPTIONS ?=
E2E_PARALLEL ?= 1
E2E_WAIT_TIMEOUT ?= 120
GOPATH ?= $(shell go env GOPATH)

override LDFLAGS += \
-X ${PACKAGE}/utils/version.version=${VERSION} \
Expand Down Expand Up @@ -111,6 +112,8 @@ k8s-proto: go-mod-vendor $(TYPES)
--proto-import $(CURDIR)/vendor \
--proto-import=${DIST_DIR}/protoc-include
touch pkg/apis/rollouts/v1alpha1/generated.proto
cp -R ${GOPATH}/src/github.com/argoproj/argo-rollouts/pkg . | true


# generates *.pb.go, *.pb.gw.go, swagger from .proto files
.PHONY: api-proto
Expand Down
1 change: 1 addition & 0 deletions USERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Organizations below are **officially** using Argo Rollouts. Please send a PR wit
1. [Devtron Labs](https://github.com/devtron-labs/devtron)
1. [Farfetch](https://www.farfetch.com/)
1. [Flipkart](https://flipkart.com)
1. [GetYourGuide](https://www.getyourguide.com)
1. [Gllue](https://gllue.com)
1. [Ibotta](https://home.ibotta.com/)
1. [Intuit](https://www.intuit.com/)
Expand Down
9 changes: 9 additions & 0 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,12 @@ You can run it like any other Docker image or use it in any CI platform that sup
docker run quay.io/argoproj/kubectl-argo-rollouts:master version
```

## Supported versions

At any point in time the officially supported version of Argo Rollouts is the latest released one, on Kubernetes versions N and N-1 (as supported by the Kubernetes project itself).

For example if the latest minor version of Argo Rollouts is 1.2.1 and supported Kubernetes versions are 1.24, 1.23 and 1.22 then the following combinations are supported:

* Argo Rollouts 1.2.1 on Kubernetes 1.24
* Argo Rollouts 1.2.1 on Kubernetes 1.23

37 changes: 19 additions & 18 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,19 @@ require (
github.com/antonmedv/expr v1.9.0
github.com/argoproj/notifications-engine v0.3.1-0.20220129012210-32519f8f68ec
github.com/argoproj/pkg v0.13.6
github.com/aws/aws-sdk-go-v2 v1.16.16
github.com/aws/aws-sdk-go-v2/config v1.17.8
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.21.6
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.18.20
github.com/aws/aws-sdk-go-v2 v1.17.1
github.com/aws/aws-sdk-go-v2/config v1.17.10
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.21.8
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.18.22
github.com/blang/semver v3.5.1+incompatible
github.com/evanphx/json-patch/v5 v5.6.0
github.com/gertd/go-pluralize v0.2.1
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32
github.com/gogo/protobuf v1.3.2
github.com/golang/mock v1.6.0
github.com/golang/protobuf v1.5.2
github.com/grpc-ecosystem/grpc-gateway v1.16.0
github.com/influxdata/influxdb-client-go/v2 v2.11.0
github.com/influxdata/influxdb-client-go/v2 v2.12.0
github.com/juju/ansiterm v1.0.0
github.com/mitchellh/mapstructure v1.5.0
github.com/newrelic/newrelic-client-go v1.1.0
Expand All @@ -29,8 +30,8 @@ require (
github.com/sirupsen/logrus v1.9.0
github.com/soheilhy/cmux v0.1.5
github.com/spaceapegames/go-wavefront v1.8.1
github.com/spf13/cobra v1.6.0
github.com/stretchr/testify v1.8.0
github.com/spf13/cobra v1.6.1
github.com/stretchr/testify v1.8.1
github.com/tj/assert v0.0.3
github.com/valyala/fasttemplate v1.2.2
google.golang.org/genproto v0.0.0-20220712132514-bdd2acd4974d
Expand Down Expand Up @@ -67,16 +68,16 @@ require (
github.com/Masterminds/semver v1.5.0 // indirect
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
github.com/RocketChat/Rocket.Chat.Go.SDK v0.0.0-20220708192748-b73dcb041214 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.12.21 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.17 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.23 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.17 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.24 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.17 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.11.23 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.6 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.16.19 // indirect
github.com/aws/smithy-go v1.13.3 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.12.23 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.19 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.26 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.11.25 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.8 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.17.1 // indirect
github.com/aws/smithy-go v1.13.4 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/bradleyfalzon/ghinstallation/v2 v2.0.4 // indirect
Expand Down Expand Up @@ -142,7 +143,7 @@ require (
github.com/russross/blackfriday v1.6.0 // indirect
github.com/slack-go/slack v0.11.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/stretchr/objx v0.4.0 // indirect
github.com/stretchr/objx v0.5.0 // indirect
github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fastjson v1.6.3 // indirect
Expand Down
Loading