From 9d435997042caf13aeed462d91dafc9698bc6b5d Mon Sep 17 00:00:00 2001 From: Thomas Riccardi Date: Mon, 31 Oct 2022 16:38:08 +0100 Subject: [PATCH 01/14] Run e2e tests on multiple kubernetes versions (#2380) closes #2171 Use k3s release channel per kubernetes minor version (see https://get.k3s.io/ `INSTALL_K3S_CHANNEL_URL` & `INSTALL_K3S_CHANNEL`) Signed-off-by: Thomas Riccardi Signed-off-by: Thomas Riccardi --- .github/workflows/e2e.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 7590b1c106..8b9b291f2d 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -34,6 +34,12 @@ jobs: 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: @@ -43,6 +49,8 @@ jobs: go-version: 1.19 - uses: actions/checkout@v3.1.0 - name: Setup k3s + env: + INSTALL_K3S_CHANNEL: v${{ matrix.kubernetes-minor-version }} run: | curl -sfL https://get.k3s.io | sh - sudo mkdir ~/.kube @@ -77,12 +85,12 @@ jobs: if: always() uses: actions/upload-artifact@v2 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 with: - name: e2e-controller-k8s.log + name: e2e-controller-k8s-${{ matrix.kubernetes-minor-version }}.log path: /tmp/e2e-controller.log if: ${{ failure() }} From 381feea6545ea405bcdaf3a10e630aff81fe0275 Mon Sep 17 00:00:00 2001 From: Zach Aller Date: Mon, 31 Oct 2022 10:48:47 -0500 Subject: [PATCH 02/14] build: copy proto files from GOPATH so we can clone outside of GOPATH (#2360) * build: copy proto files from GOPATH so we can clone outside of GOPATH Signed-off-by: zachaller * always return true so that we can run within GOPATH as well Signed-off-by: zachaller Signed-off-by: zachaller --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 1dd075d9e3..e04235a207 100644 --- a/Makefile +++ b/Makefile @@ -111,6 +111,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 From cb49ca73e3526e8eb9f4f8c10c05254b815a2cda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 15:50:27 +0000 Subject: [PATCH 03/14] chore(deps): bump actions/upload-artifact from 2 to 3 (#1973) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/e2e.yaml | 6 +++--- .github/workflows/go.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 8b9b291f2d..e248cc28a2 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -29,7 +29,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 }} @@ -83,13 +83,13 @@ 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 (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-${{ matrix.kubernetes-minor-version }}.log path: /tmp/e2e-controller.log diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 955bc796c5..04de398b9c 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -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 }} @@ -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 From 7085fb2fd165ab76b6ed4a57c45b9447e28ab516 Mon Sep 17 00:00:00 2001 From: Justin Marquis <34fathombelow@protonmail.com> Date: Tue, 1 Nov 2022 08:50:41 -0700 Subject: [PATCH 04/14] chore: sign container images and checksum assets (#2334) Signed-off-by: Justin Marquis <34fathombelow@protonmail.com> --- .github/workflows/docker-publish.yml | 52 +++++++++++++++++++++++++++- .github/workflows/release.yaml | 36 +++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c96f45c77f..47875b478e 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -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 }} \ No newline at end of file + 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/setup-crane@v0.1 + + - 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' }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f24bf75caf..43f5d6e908 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -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/setup-crane@v0.1 + + - 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: @@ -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 From 69af5516914de52179808bcfdb161e7b2edc8871 Mon Sep 17 00:00:00 2001 From: Zach Aller Date: Tue, 1 Nov 2022 14:13:13 -0500 Subject: [PATCH 05/14] chore(deps): upgrade ui deps to fix high security cve's (#2345) * ui: upgrade deps to fix high security cve's Signed-off-by: zachaller * github trigger re-run Signed-off-by: zachaller Signed-off-by: zachaller --- ui/package.json | 2 +- ui/src/app/components/pods/pods.tsx | 2 +- ui/yarn.lock | 42 +++++++++++++++++++++++++++-- 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/ui/package.json b/ui/package.json index 15627c8da8..4822da2b68 100644 --- a/ui/package.json +++ b/ui/package.json @@ -6,7 +6,7 @@ "argo-ui": "git+https://github.com/argoproj/argo-ui.git", "classnames": "2.2.6", "isomorphic-fetch": "^3.0.0", - "moment": "^2.29.1", + "moment": "^2.29.4", "moment-timezone": "^0.5.33", "portable-fetch": "^3.0.0", "react": "^17.0.1", diff --git a/ui/src/app/components/pods/pods.tsx b/ui/src/app/components/pods/pods.tsx index b45bd2e168..c9be978570 100644 --- a/ui/src/app/components/pods/pods.tsx +++ b/ui/src/app/components/pods/pods.tsx @@ -115,7 +115,7 @@ export const ReplicaSet = (props: {rs: RolloutReplicaSetInfo; showRevision?: boo
{(now) => { - const time = moment(props.rs.scaleDownDeadline).diff(now, 'second'); + const time = moment(props.rs.scaleDownDeadline).diff(now.toDate(), 'second'); return time <= 0 ? null : ( = 2.9.0" -"moment@>= 2.9.0", moment@^2.20.1, moment@^2.29.1: +"moment@>= 2.9.0", moment@^2.20.1: version "2.29.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== +moment@^2.29.4: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -7835,6 +7848,13 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.6.1: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -11342,6 +11362,11 @@ tr46@^2.0.2: dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + tryer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" @@ -11801,6 +11826,11 @@ web-vitals@^1.0.1: resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-1.1.2.tgz#06535308168986096239aa84716e68b4c6ae6d1c" integrity sha512-PFMKIY+bRSXlMxVAQ+m2aw9c/ioUYfDgrYot0YUa+/xa0sakubWhSDyxAKwzymvXVdF4CZI71g06W+mqhzu6ig== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" @@ -12028,6 +12058,14 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^8.0.0, whatwg-url@^8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" @@ -12381,4 +12419,4 @@ yargs@^15.4.1: yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== \ No newline at end of file + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 6d7ede99d497f709cae694445d2eeabfaffcb9ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Nov 2022 00:02:37 +0000 Subject: [PATCH 06/14] chore(deps): bump imjasonh/setup-crane from 0.1 to 0.2 (#2387) Bumps [imjasonh/setup-crane](https://github.com/imjasonh/setup-crane) from 0.1 to 0.2. - [Release notes](https://github.com/imjasonh/setup-crane/releases) - [Commits](https://github.com/imjasonh/setup-crane/compare/v0.1...v0.2) --- updated-dependencies: - dependency-name: imjasonh/setup-crane dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docker-publish.yml | 2 +- .github/workflows/release.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 47875b478e..2c7c565e2d 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -102,7 +102,7 @@ jobs: cosign-release: 'v1.13.1' - name: Install crane to get digest of image - uses: imjasonh/setup-crane@v0.1 + uses: imjasonh/setup-crane@v0.2 - name: Get digest of controller-image run: | diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 43f5d6e908..28f787bb04 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -155,7 +155,7 @@ jobs: cosign-release: 'v1.13.1' - name: Install crane to get digest of image - uses: imjasonh/setup-crane@v0.1 + uses: imjasonh/setup-crane@v0.2 - name: Get digest of controller-image run: | From 7eea8ff0baabc203d1ed9b35f0918178d5dbeef0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Nov 2022 00:05:22 +0000 Subject: [PATCH 07/14] chore(deps): bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 (#2390) Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.4 to 1.3.5. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.4...v1.3.5) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/dependabot_automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot_automerge.yml b/.github/workflows/dependabot_automerge.yml index 2bdab7b838..54e5b114ff 100644 --- a/.github/workflows/dependabot_automerge.yml +++ b/.github/workflows/dependabot_automerge.yml @@ -15,7 +15,7 @@ jobs: steps: - name: Dependabot metadata id: metadata - uses: dependabot/fetch-metadata@v1.3.4 + uses: dependabot/fetch-metadata@v1.3.5 with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Approve PR From 2d6f5a005c08877f43acf543be34cb656f0be161 Mon Sep 17 00:00:00 2001 From: "Kostis (Codefresh)" <39800303+kostis-codefresh@users.noreply.github.com> Date: Thu, 3 Nov 2022 18:22:23 +0200 Subject: [PATCH 08/14] docs: mention supported versions (#2163) Signed-off-by: Kostis Kapelonis Signed-off-by: Kostis Kapelonis --- docs/installation.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index 79026e3a55..ef6652ad71 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -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 + From 076ea4398a849797d2ce752696f66d19da86b89a Mon Sep 17 00:00:00 2001 From: Alex Eftimie Date: Fri, 4 Nov 2022 02:31:12 +0100 Subject: [PATCH 09/14] Add getyourguide to users (#2386) Signed-off-by: Alex Eftimie Signed-off-by: Alex Eftimie --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index 21b55d8f34..bd6face97b 100644 --- a/USERS.md +++ b/USERS.md @@ -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/) From 5f034a41bddaf0ff67a7b2a9433f4be0e4609459 Mon Sep 17 00:00:00 2001 From: Zach Aller Date: Fri, 4 Nov 2022 11:31:27 -0500 Subject: [PATCH 10/14] feat: add support for getting the replicaset name via templating (#2396) Signed-off-by: zachaller Signed-off-by: zachaller --- utils/template/template.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/template/template.go b/utils/template/template.go index 8a6b4ca8b3..26b72cfd62 100644 --- a/utils/template/template.go +++ b/utils/template/template.go @@ -17,6 +17,7 @@ const ( openBracket = "{{" closeBracket = "}}" experimentPodTemplateHash = "templates.%s.podTemplateHash" + experimentReplicasetName = "templates.%s.replicaset.name" experimentAvailableAt = "experiment.availableAt" experimentEndsAt = "experiment.finishedAt" ) @@ -41,6 +42,7 @@ func ResolveExperimentArgsValue(argTemplate string, ex *v1alpha1.Experiment, tem for _, template := range ex.Spec.Templates { if rs, ok := templateRSs[template.Name]; ok { argsMap[fmt.Sprintf(experimentPodTemplateHash, template.Name)] = rs.Labels[v1alpha1.DefaultRolloutUniqueLabelKey] + argsMap[fmt.Sprintf(experimentReplicasetName, template.Name)] = rs.Name } } return resolve(t, argsMap) From 5db47e76704ca0dd3ce6aba812844469101eec0b Mon Sep 17 00:00:00 2001 From: Zach Aller Date: Fri, 4 Nov 2022 14:34:33 -0500 Subject: [PATCH 11/14] fix: set gopath in makefile (#2398) We currently assume that GOPATH is set within the developers environment go has some defaults that get used when no GOPATH is defined. If we use `go env GOPATH` to set the env var for the Makefile we will then also fall back to golang defaults which help contributior experiance. Signed-off-by: zachaller Signed-off-by: zachaller --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index e04235a207..0d6814ea51 100644 --- a/Makefile +++ b/Makefile @@ -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} \ From da92e2ce1da6cd2322a21c4adbab9ea1735ff3b5 Mon Sep 17 00:00:00 2001 From: Thomas Riccardi Date: Mon, 7 Nov 2022 21:26:51 +0100 Subject: [PATCH 12/14] docs: fix !important block typo (#2372) also, normalize all blocks with a space before the keyword. Signed-off-by: Thomas Riccardi Signed-off-by: Thomas Riccardi --- docs/features/ephemeral-metadata.md | 6 +++--- docs/features/traffic-management/alb.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/features/ephemeral-metadata.md b/docs/features/ephemeral-metadata.md index 6e3ec93d5c..0a2d0f50e9 100644 --- a/docs/features/ephemeral-metadata.md +++ b/docs/features/ephemeral-metadata.md @@ -53,6 +53,6 @@ and annotations under `stableMetadata`/`activeMetadata`. The Pods of the Replica updated _in place_ to use the stable metadata (without recreating the pods). !!! important -In order for tooling to take advantage of this feature, they would need to recognize the change in -labels and/or annotations that happen _after_ the Pod has already started. Not all tools may detect -this. + In order for tooling to take advantage of this feature, they would need to recognize the change in + labels and/or annotations that happen _after_ the Pod has already started. Not all tools may detect + this. diff --git a/docs/features/traffic-management/alb.md b/docs/features/traffic-management/alb.md index 8255b74852..291a56d4e3 100644 --- a/docs/features/traffic-management/alb.md +++ b/docs/features/traffic-management/alb.md @@ -343,7 +343,7 @@ The Rollout status object holds the value of who is currently the stable ping or And this way allows the rollout to use pod readiness gate injection as the services are not changing their labels at the end of the rollout progress. -!!!important +!!! important Ping-Pong feature available since Argo Rollouts v1.2 From 0a77c33bc5c5a3138ba2caa6b12519fecfe7d30f Mon Sep 17 00:00:00 2001 From: Abhishek Veeramalla Date: Tue, 8 Nov 2022 02:12:13 +0530 Subject: [PATCH 13/14] chore: rename the examples/trafffic-management directory to istio (#2315) Signed-off-by: iam-veeramalla Signed-off-by: iam-veeramalla --- examples/{traffic-routing => istio}/istio-mirror.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/{traffic-routing => istio}/istio-mirror.yaml (100%) diff --git a/examples/traffic-routing/istio-mirror.yaml b/examples/istio/istio-mirror.yaml similarity index 100% rename from examples/traffic-routing/istio-mirror.yaml rename to examples/istio/istio-mirror.yaml From 91043a97944c765ba3105d2319cb5955448457e8 Mon Sep 17 00:00:00 2001 From: Takao Shibata Date: Tue, 8 Nov 2022 05:57:31 +0900 Subject: [PATCH 14/14] feat(cli): add port flag for dashboard command (#2383) Signed-off-by: Takao Shibata Signed-off-by: Takao Shibata --- pkg/kubectl-argo-rollouts/cmd/dashboard/dashboard.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/kubectl-argo-rollouts/cmd/dashboard/dashboard.go b/pkg/kubectl-argo-rollouts/cmd/dashboard/dashboard.go index 3f3cd1687a..f0c720df72 100644 --- a/pkg/kubectl-argo-rollouts/cmd/dashboard/dashboard.go +++ b/pkg/kubectl-argo-rollouts/cmd/dashboard/dashboard.go @@ -10,6 +10,7 @@ import ( func NewCmdDashboard(o *options.ArgoRolloutsOptions) *cobra.Command { var rootPath string + var port int var cmd = &cobra.Command{ Use: "dashboard", Short: "Start UI dashboard", @@ -30,12 +31,13 @@ func NewCmdDashboard(o *options.ArgoRolloutsOptions) *cobra.Command { ctx := context.Background() ctx, cancel := context.WithCancel(ctx) argorollouts := server.NewServer(opts) - argorollouts.Run(ctx, 3100, true) + argorollouts.Run(ctx, port, true) cancel() } }, } cmd.Flags().StringVar(&rootPath, "root-path", "rollouts", "changes the root path of the dashboard") + cmd.Flags().IntVarP(&port, "port", "p", 3100, "port to listen on") return cmd }