From e79c9e12772c998ff5b3e401efd7f074f85e5cef Mon Sep 17 00:00:00 2001 From: Noel Georgi Date: Thu, 26 Dec 2024 20:54:55 +0530 Subject: [PATCH] chore(ci): drop equinix metal e2e-test Drop Equinix Metal e2e tests, due to EM machines mostly not booting properly over PXE, drop the test as it adds no value. Fixes: #10034 Signed-off-by: Noel Georgi --- .github/workflows/ci.yaml | 118 +-------------- .../integration-equinix-metal-cron.yaml | 119 --------------- .github/workflows/slack-notify.yaml | 3 +- .kres.yaml | 63 +------- .secrets.yaml | 86 +++++------ .sops.yaml | 4 +- hack/test/e2e-equinix-metal-prepare.sh | 143 ------------------ hack/test/e2e-equinix-metal.sh | 15 -- hack/test/tfvars/equinix-arm64.yaml | 3 - hack/test/tfvars/equinix-metal.jq | 38 ----- 10 files changed, 46 insertions(+), 546 deletions(-) delete mode 100644 .github/workflows/integration-equinix-metal-cron.yaml delete mode 100755 hack/test/e2e-equinix-metal-prepare.sh delete mode 100755 hack/test/e2e-equinix-metal.sh delete mode 100644 hack/test/tfvars/equinix-arm64.yaml delete mode 100644 hack/test/tfvars/equinix-metal.jq diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fa2cf737d8..945b0d7d5e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-12-25T15:13:54Z by kres fcff05e. +# Generated on 2024-12-26T15:20:08Z by kres fcff05e. name: default concurrency: @@ -1237,122 +1237,6 @@ jobs: /tmp/logs-*.tar.gz /tmp/support-*.zip retention-days: "5" - integration-equinix-metal: - permissions: - actions: read - contents: write - issues: read - packages: write - pull-requests: read - runs-on: - - self-hosted - - generic - if: contains(fromJSON(needs.default.outputs.labels), 'integration/equinix-metal') - needs: - - default - steps: - - name: gather-system-info - id: system-info - uses: kenchan0130/actions-system-info@v1.3.0 - continue-on-error: true - - name: print-system-info - run: | - MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) - - OUTPUTS=( - "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" - "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" - "Hostname: ${{ steps.system-info.outputs.hostname }}" - "NodeName: ${NODE_NAME}" - "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" - "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" - "Name: ${{ steps.system-info.outputs.name }}" - "Platform: ${{ steps.system-info.outputs.platform }}" - "Release: ${{ steps.system-info.outputs.release }}" - "Total memory: ${MEMORY_GB} GB" - ) - - for OUTPUT in "${OUTPUTS[@]}";do - echo "${OUTPUT}" - done - continue-on-error: true - - name: checkout - uses: actions/checkout@v4 - - name: Unshallow - run: | - git fetch --prune --unshallow - - name: Set up Docker Buildx - id: setup-buildx - uses: docker/setup-buildx-action@v3 - with: - driver: remote - endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 - timeout-minutes: 10 - - name: Mask secrets - run: | - echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" - - name: Set secrets for job - run: | - sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" - - name: Download artifacts - if: github.event_name != 'schedule' - uses: actions/download-artifact@v4 - with: - name: talos-artifacts - path: _out - - name: Fix artifact permissions - if: github.event_name != 'schedule' - run: | - xargs -a _out/executable-artifacts -I {} chmod +x {} - - name: ci-temp-release-tag - if: github.event_name != 'schedule' - run: | - make ci-temp-release-tag - - name: build - if: github.event_name == 'schedule' - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - PLATFORM: linux/amd64,linux/arm64 - PUSH: "true" - run: | - make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 - - name: talosctl-cni-bundle - if: github.event_name == 'schedule' - run: | - make talosctl-cni-bundle - - name: e2e-equinix-metal-prepare - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - run: | - make e2e-equinix-metal-prepare - - name: checkout contrib - uses: actions/checkout@v4 - with: - path: _out/contrib - ref: main - repository: siderolabs/contrib - - name: setup tf - uses: hashicorp/setup-terraform@v3 - with: - terraform_wrapper: "false" - - name: tf apply - env: - TF_E2E_ACTION: apply - TF_E2E_TEST_TYPE: equinix-metal - TF_SCRIPT_DIR: _out/contrib - run: | - make e2e-cloud-tf - - name: e2e-equinix-metal - run: | - make e2e-equinix-metal - - name: tf destroy - if: always() - env: - TF_E2E_ACTION: destroy - TF_E2E_TEST_TYPE: equinix-metal - TF_SCRIPT_DIR: _out/contrib - run: | - make e2e-cloud-tf integration-extensions: permissions: actions: read diff --git a/.github/workflows/integration-equinix-metal-cron.yaml b/.github/workflows/integration-equinix-metal-cron.yaml deleted file mode 100644 index ceee314f89..0000000000 --- a/.github/workflows/integration-equinix-metal-cron.yaml +++ /dev/null @@ -1,119 +0,0 @@ -# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. -# -# Generated on 2024-09-09T13:58:35Z by kres 8be5fa7. - -name: integration-equinix-metal-cron -concurrency: - group: ${{ github.head_ref || github.run_id }} - cancel-in-progress: true -"on": - schedule: - - cron: 30 7 * * * -jobs: - default: - runs-on: - - self-hosted - - generic - steps: - - name: gather-system-info - id: system-info - uses: kenchan0130/actions-system-info@v1.3.0 - continue-on-error: true - - name: print-system-info - run: | - MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) - - OUTPUTS=( - "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" - "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" - "Hostname: ${{ steps.system-info.outputs.hostname }}" - "NodeName: ${NODE_NAME}" - "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" - "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" - "Name: ${{ steps.system-info.outputs.name }}" - "Platform: ${{ steps.system-info.outputs.platform }}" - "Release: ${{ steps.system-info.outputs.release }}" - "Total memory: ${MEMORY_GB} GB" - ) - - for OUTPUT in "${OUTPUTS[@]}";do - echo "${OUTPUT}" - done - continue-on-error: true - - name: checkout - uses: actions/checkout@v4 - - name: Unshallow - run: | - git fetch --prune --unshallow - - name: Set up Docker Buildx - id: setup-buildx - uses: docker/setup-buildx-action@v3 - with: - driver: remote - endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 - timeout-minutes: 10 - - name: Mask secrets - run: | - echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" - - name: Set secrets for job - run: | - sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" - - name: Download artifacts - if: github.event_name != 'schedule' - uses: actions/download-artifact@v4 - with: - name: talos-artifacts - path: _out - - name: Fix artifact permissions - if: github.event_name != 'schedule' - run: | - xargs -a _out/executable-artifacts -I {} chmod +x {} - - name: ci-temp-release-tag - if: github.event_name != 'schedule' - run: | - make ci-temp-release-tag - - name: build - if: github.event_name == 'schedule' - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - PLATFORM: linux/amd64,linux/arm64 - PUSH: "true" - run: | - make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 - - name: talosctl-cni-bundle - if: github.event_name == 'schedule' - run: | - make talosctl-cni-bundle - - name: e2e-equinix-metal-prepare - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - run: | - make e2e-equinix-metal-prepare - - name: checkout contrib - uses: actions/checkout@v4 - with: - path: _out/contrib - ref: main - repository: siderolabs/contrib - - name: setup tf - uses: hashicorp/setup-terraform@v3 - with: - terraform_wrapper: "false" - - name: tf apply - env: - TF_E2E_ACTION: apply - TF_E2E_TEST_TYPE: equinix-metal - TF_SCRIPT_DIR: _out/contrib - run: | - make e2e-cloud-tf - - name: e2e-equinix-metal - run: | - make e2e-equinix-metal - - name: tf destroy - if: always() - env: - TF_E2E_ACTION: destroy - TF_E2E_TEST_TYPE: equinix-metal - TF_SCRIPT_DIR: _out/contrib - run: | - make e2e-cloud-tf diff --git a/.github/workflows/slack-notify.yaml b/.github/workflows/slack-notify.yaml index d90b540d64..6b19882b4c 100644 --- a/.github/workflows/slack-notify.yaml +++ b/.github/workflows/slack-notify.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-28T12:55:15Z by kres 232fe63. +# Generated on 2024-12-26T15:20:08Z by kres fcff05e. name: slack-notify "on": @@ -32,7 +32,6 @@ name: slack-notify - integration-aws-nvidia-nonfree-cron - integration-azure-cron - integration-gcp-cron - - integration-equinix-metal-cron types: - completed jobs: diff --git a/.kres.yaml b/.kres.yaml index 10a602c457..b72d6316f8 100644 --- a/.kres.yaml +++ b/.kres.yaml @@ -14,7 +14,7 @@ spec: 15D5721F5F5BAF121495363EFE042E3D4085A811, CC51116A94490FA6FB3C18EB2401FCAE863A06CA, 4919F560F0D35F80CF382D76E084A2DF1143C14D, - 966BC282A680D8BB3E8363E865933E76F0549B0D, + 11177A43C6E3752E682AC690DBD13117B0A14E93, AA5213AF261C1977AF38B03A94B473337258BFD5 --- kind: common.Repository @@ -79,7 +79,6 @@ spec: - integration-aws-nvidia-nonfree - integration-azure - integration-gcp - - integration-equinix-metal --- kind: common.GHWorkflow spec: @@ -2147,66 +2146,6 @@ spec: TF_SCRIPT_DIR: _out/contrib TF_E2E_TEST_TYPE: gcp TF_E2E_ACTION: destroy - - name: integration-equinix-metal - buildxOptions: - enabled: true - sops: true - depends: - - default - runners: - - self-hosted - - generic # we can use generic here since the tests run against a remote talos cluster - crons: - - '30 7 * * *' - triggerLabels: - - integration/equinix-metal - steps: - - name: download-artifacts - conditions: - - not-on-schedule - artifactStep: - type: download - artifactName: talos-artifacts - artifactPath: _out - - name: ci-temp-release-tag - conditions: - - not-on-schedule - - name: build - conditions: - - only-on-schedule - command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 - environment: - PLATFORM: linux/amd64,linux/arm64 - IMAGE_REGISTRY: registry.dev.siderolabs.io - PUSH: true - - name: talosctl-cni-bundle - conditions: - - only-on-schedule - - name: e2e-equinix-metal-prepare - environment: - IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: checkout contrib - checkoutStep: - repository: siderolabs/contrib - ref: main - path: _out/contrib - - name: setup tf - terraformStep: true - - name: tf apply - command: e2e-cloud-tf - environment: - TF_SCRIPT_DIR: _out/contrib - TF_E2E_TEST_TYPE: equinix-metal - TF_E2E_ACTION: apply - - name: e2e-equinix-metal - - name: tf destroy - command: e2e-cloud-tf - conditions: - - always - environment: - TF_SCRIPT_DIR: _out/contrib - TF_E2E_TEST_TYPE: equinix-metal - TF_E2E_ACTION: destroy --- kind: common.Renovate spec: diff --git a/.secrets.yaml b/.secrets.yaml index fd1ff277e7..6cbb8cc9f2 100644 --- a/.secrets.yaml +++ b/.secrets.yaml @@ -6,8 +6,6 @@ secrets: AZURE_CLIENT_ID: ENC[AES256_GCM,data:sr2EhYwKjlsHYatqEoDXcm3yp5W8kzLyU4wpUPVvIwquxfM/,iv:ZMqoaG+F9JCfpUUbH6S0vvpwUmrfbCNpv4EJzFkb7Ng=,tag:RN5psxUWFa0SHroi4iqPHQ==,type:str] AZURE_CLIENT_SECRET: ENC[AES256_GCM,data:DXH6XWJ1hfdrJJ2ue7Oq2cKsZKjuIAVACCBXRrp86EjrMY/4I9StnA==,iv:GHFK7zQmBQNUHOQvozGigW1pvfbFxaOZQR/HJc58XD4=,tag:1ciek8BjoJjTjIaoImJj6Q==,type:str] AZURE_TENANT_ID: ENC[AES256_GCM,data:dZapmCqJeTx9C0us38mxDpPbdxBn39fJOmIc+5MgnAI6esT5,iv:s/GuStsQKgdc/6jpq2YMAE9GggLH/xGfrDzzgk/4kmQ=,tag:+dVM3/Joq3OA/opmSU6TSA==,type:str] - EM_PROJECT_ID: ENC[AES256_GCM,data:nPVZ+Uoul/W7UpxIoeMP1n3YhuEjq3fNKD+zoso4FBP2Obd0,iv:SSF8KZBczWvCJjZpvDo60mnoM21CrzdmmKs2reLi8w0=,tag:VKjsQSHqiQY+IzkIXO70MA==,type:str] - EM_API_TOKEN: ENC[AES256_GCM,data:PnNDZTRDTubebmtAuH1sAuEp5ZwzVie5WA0AhCUk26M=,iv:5MdcOwY+QrIdkFgCXcs2rBGCXQBnhi/EDxTPWr/vCMs=,tag:mcQ9qrWPYMaPalzr/GV7pQ==,type:str] GOOGLE_PROJECT_ID: ENC[AES256_GCM,data:egcG5hIa5aq6tSRjhA==,iv:g/6pkcSJIQNNgoon6X+6DH2JaQgLKfTDpPUNFjlJ6Xg=,tag:ygF0I8bLRRbj2RdogQqxmw==,type:str] GOOGLE_CREDENTIALS: ENC[AES256_GCM,data:ucHNQ0fygvZnOfa5k3J1zO99122malyCB1aDDwTSOuQZsUHrnCg5FYsxJ5RgTl5mbpityJjKQtHLcMetRVLQ/S2/aPjhbx+OgYLmlFMnJR/NmqEQzuwe8YsPSjOg9NCqucE7BBfbKItQ/PD0+x6LRKxeMO/gr6BXTkL4dwPinCV9IgVZU2CEAdbvcGvxBGKWZ0mHEIvdznN3dK2OL27K+Q+VXZDhzUPfhR5V7u5WUu+PG0QsSby/lZNYdAHpxfkS0YjfTCpukCB0Zvix6cUaorA+BHNYA1qV3nzHDuHHdR6byoGYXMWU209RVG2HKiNAQRlmTsbjr641OWHustGo+Ann9Rv2pZ7r6Q08p0M8cvn5o42TB5H3lv72Iiiru2aV9ZQHpzy1PG4PH9vfebowO2VbZ/wKpRWvc6cpPrAQfoXZCLlaiLoJ1KaVZb9Br8vjlGCHCFzytb61R8BT36M687fRerwVQSu6F5cRzfW6W3Jh5Ufo31wYqdEe2XdN0f/jDG1w0rF2xX4oScgXI/uaVrJ3zCYlVkdbnQjSmu059SmRRkfYJqri+hyDilWKKDPK3+qmBbyeJ+lxcNNugksRMfq5ms5HV70JoUCbiEQF5KzsTCw9s7O4xFYjP5ELXgwHqQbXeOxMS4+GAaN9k+p4owLkVRkO3PkWHBvs+aqCBQvsdZW8XjikNeHWHTZLq4DpOuBrtpvwID5bEPqN70ah1hU9gc9oXC4ArUU5QlqGxNkzdea/cymO7W+0JeRKKRW4G984b1xbLjjjL0Zx8VCDDDx7BTd+DrBsJUZ2CO+u2XIZX6+LNqPt9n/DQUARv13KM4hUmugjhZxx0f0mro1bXMfEfbs8micuk7qDQtKVkRApUlCEb+kEVDXMQUeetLQfUhU7c23QA8tMBHz2IoEmY5yf6CI5PfcUSI9Oldez4+JlCFPf3a2UyVR0+4VITYdBFW0dKLhjR/eYNOh3kEYERksALRYoS2XtLLquHSxRgAPki62RQOrZclfdi1+IGT17l+PyoSKOusIUkHd/y0jUHBSIBjYAZrqZ2WolYpwTMzE3hz3lMys9RbrJV653QgLCndWDXD7k+imXsyyYy1me/JHssYu6ZZ7EsPTGNezdG1/9j7X1VHYKw0DMsYXwIVEI+7/flwHExVTT10+gO+WIVnf7QdUpvsqJNsniCS82Rq9tRhIwLIiePOdV1azMBVqbI8LUBm/E9iFW+iYEuezLL5YsQFvItrNuH5wwhdFNiWrdBWz7klxb0R61/EBPPr6UvVf5d5WyCYonn9UUmUfQrzhgplfr3Qk8a5IAoaT1SW+iS1e15O8PsARGKy/AcX+mTf2v1qgiPnk5IucsZGlH9dwl2gIBbJ8d8SZPl4mGjW9UMesyZxoBTyY1OOYZ3NQSCZnvEggiI+BpIt35nwMLf71LZrXJOY/Q/s2eQBih4FsNb32wlEFcfpxrvT42deh1fatDTZP9NLldbyXWJkyxdAiziUiFtTM3rBly6mNG5hBsbKQpjzN94Tb/9oMD9RbCBcyj1e96DAsRNamqkPlRecZtdh9OuAuq2EjfsEFE9sodtbdxHwDdnR40SElw4jrJ0Ga0QNq04FmXMP86dz/h+MRUO3ldDvax/kjAjR5MRJZXr117sW6fuls268Qo14zdL/nbd9jYdHn9hheCAdM0FvohuCXSWgvoVcpKKCD8kKvgIaXvaFxxAKqWisrxTbtSFoflYzMjaP7L3lY5LlcadTSb+KJl5RVY3ERuUnirMrxVKYRZFsug+Smr5hlcbup/wEESv2aFp3JkEqQxfGxD+g3tHwW9U3KvJ7iv/GQFsikZ2UfLJ0EVAuiVu4Dv25CcxlWx/NGJ3e/FC9nWLgpwnzezsuithZZXci2bH4NvnDxA669Jq3LjwTcKMguEbWOuDBDlO9JcvZsa+0vlQKzZmrzirwLIi8hXQyTeKaHk1ahcblbaZGYoI3E13u7DiGvaQ/+4Y65UFtGusR/NmXG1B4NrGb/EG3mc60JFfIi6CBhtugwEdGYGDkymgHiIM/fb6b8UHXV/kcfnTsGweH2Lc7sR5eMP5a8D7O2P4uvwp3r2NRLwrrGunOARpo835Kx/ZCheS5XCDuiy+LEaTHjDD5cDl2RlgheMjVAcXF/pc3+Q+JBccKdw1D/aN8tYTsPiJiCW6bAOVLwOm1vaa9ecQiNxnx8gym4bYERrx+hlDExS/I+xtmmdJe/s5EqGrVImZjXSkb3LON+ktATByoQVpNjsBpVfnyR7rFcz/UdLDIX3l9IS1cZhIBtkqGSylbOXMUEhhq70qcHpuNTpGxGP30K1c5A63BQB0hpM/wyV629WHUYD1SM48niVT36wVxj356secwI6JVA3hlZp5t7F/KcIuAG1WVy/GUf+cKBWNSnniRLUJdBXSXNamG5o+CN0AXvDNyP9I/xQsrbWzPC5eBNqRL0MEJsfZlWFR6fyI+5UyLlfIh0rwYTz7BK9l1wq1TRV7YqiFpALObtGVxclfKxdFymWwEfjUCwVqw8RAETGqOwfVLvvDlZp/RGup8M2ghsql1Uu/BlrCAoaiJbF8eeuIwNx6K/sq5P8RIFXRZBmWMqewg93Ea/hUIAhubz4fZtHvlh1mbOPWUkzlPCyBPd3uM93mw6wCp6xQM3DbZfQRnKD8HPr6+CFPIn1YGZ1oftBM9mEpH7PtpwJWwDA+Wdl1VbBjUjFG4XVdWxsqbS0W7pePEW1rnqv/bGuPHctEUAXN9IGKSW953T4ChFgYXGcNEURtkknE7bMlQSDZvLS/vtn89aaaL8gnfBF8NvFkB8uQSkQfn/CvQ00GdlhI1l0CyV0+xMrerUw+20nlhC7C7aNKsyx7S8HatUIEkvD6/XPRNoGa9M6w+81JYWbbDF6DFljiiNKtWmv5BkVhWFTwimEOmqKQc6DmXbvtGqH7Pts7PXS/5k83D8eV4kPHuiKNwdU0wsdo+PGSLP+OMWF3Ygbb71Bqq6dwnfciXQi/6yCUv3WdQf2MbMzyqEy9ugXeWI4uvbh+/u5HHzhwMTzhZVoGgwXuyX+nCFPCsqdzqzn8s+TSoU=,iv:nLXpwEqTJaQnZlE0CiQl+hWlBIJGSa8tEUebXpkMWec=,tag:MZ/FJeksYkqCsLaELJDq0A==,type:str] sops: @@ -19,73 +17,71 @@ sops: - recipient: age1xrpa9ujxxcj2u2gzfrzv8mxak4rts94a6y60ypurv6rs5cpr4e4sg95f0k enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvL24xdzZ5WVF6Mmxxa0NW - TnFSM00xWHFYRHJhbmxZU09hWG0weFNBdkdFCmVrQ1pxd2hJWkltMHo1S0dvMWwr - QXlMN1FCbTc3ajZQVS9xNXNtUDB0NEkKLS0tIHdtbmd3NG9Kdlo1VzdqMENVcVkr - ZE0zRWwxVzBLL3Q1WW1FNmVvc0txZm8K+GkjAq/WSduuDrsbeyqVi29Pj2IL25mA - a11K/HVqTCU834uHQXjpN3keJS23v5BJGZCpOwVXyZX8f1yAm/ZQAA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrcFdwc0JTcGJISmlEYVpH + ajJmOXUybkJaeWpBVzdaZjExcmRpUTBwVlNvClZMZzNhc3g1bVVqd1YvWlZOUGIw + dm04WnZLVUV2dzBsM0xISm9Kc1FGNlEKLS0tIG4xSUJvUHloTUNLZGJUbjhKYmI2 + aGRDNzBvb09ZMnFXYjQyQ01VT3JWTkUKlxoDwPBcNAeXTy+qGg7QI7mZAV7bKEWT + XGqFTGipHlZ3fLG8dqlSPGXVmy3rSyCkKJgvgbQNut4UMZtZSjXe5A== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-09-05T16:58:15Z" - mac: ENC[AES256_GCM,data:/7bib7AGGFlP2l93l0Ht6r4Guxaq0sVtsDEbmyEYHYZh1NKwIy/RO0W3SwGXcQPNI9vgPjdP3lsXsUiJ0B0ADxsjWrTjZOkIHxhsBr6Yr59uTGiGOMFEYKPSK5+5ZG9dR4yu0CHyZlxHq+P1L/grsmb0ucazfWguM9y58hqpG24=,iv:ZgWz2o47PgN+3uXDzTID/IgSe/Y5fd+Ubz7MlHKgmRg=,tag:CUbJx/WHlSr5/Jpyf7ODcg==,type:str] + lastmodified: "2024-12-26T15:24:43Z" + mac: ENC[AES256_GCM,data:0y4Td5B6y5/GfTUSokDMQkWGHvcdw128nYjcBOheIm+5vcDRvK28Rexjk230bk/pgzFGPgnR81wsEdejHAPGLQ1Tcr7wQpJCyG/hikfSnzgjJYZ4Pfne1aZp6vav860oSzrUTJOmAEB/IZy5BojKUXDSnreo4+qbSFMtUfh2xPo=,iv:LA+wn+dkgZYa1+eP5TChaAW2+yQVOc0ZCrbuRW54eU0=,tag:u0XiF5Fi0lUAPS02Vis2Ug==,type:str] pgp: - - created_at: "2024-04-29T17:03:17Z" + - created_at: "2024-12-26T15:24:19Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4D/dYBJRlWfQISAQdAG/X828buETcY2yNXRA2dORhwHSfBk25lhTMOesAozk0w - 42HQ4ZHV/xc/a9QsfX5pqAZgWbXUGce473RSMfbx3Xd2qnurqhOxyJ41xIQ2U1RX - 0l4BQKFt84pgtGHzVdmOsqGzn+kHVxeL9vmsNmC8GGiTGOt/YlLepTwN/0lxl9YC - CtPehgXh1HEjPF6+97KEe/LsIqsEusiBvnz7ieF5bzpt0rhje0mG/yRPpHdE3tzp - =eUa+ + hF4D/dYBJRlWfQISAQdAhMxf2ufyvBjHsiYgVmxfyhpVjXIkAWOBPF0V2hTBchIw + ty3hraRX8sRSyH9LBzO33xzsXYQH1XdynPy/xUSvSJ614GhOerDaDB2xKdLKhEaZ + 0l4BiT6s981bohkSBzxP6pqQc1EPsiXHt7VWdegq8c4egnluANr5iXcN0xuIb487 + HueNPaKXK6ZBF9QP+09tSNP6aAenejleCUHit2oM7afYIOy56UAi5Y3wMpIPy/zB + =d88N -----END PGP MESSAGE----- fp: 15D5721F5F5BAF121495363EFE042E3D4085A811 - - created_at: "2024-04-29T17:03:17Z" + - created_at: "2024-12-26T15:24:19Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4D+EORkHurkvgSAQdAc9l7LbjRnrmSkDnnqyjJgRso3exRZoFeHPvhd5FS3C8w - fa5KZkhoTCx9G19FFMOFksjLlCRVET7iN4/eI51KOuQ2XAj1PfG+fLPMucNtU7xz - 0l4Baqj1OkL2vF+u0r1OHpZO3R+8h0N1sMoN/4tgQc58ClNCSrslrUiclZXv1brN - yX+sK8AtlxiBl9f5DIVqA5v+emtHx38OvR3o9iX8JppYuChmnU6a2mHy0cjwEgM/ - =xkKE + hF4D+EORkHurkvgSAQdATrXte4QAtZXgF8VY/Kfjqp243m4fj9CpJOf2GKbO+x0w + xmVbY3h0iQogyvkYp3Us09qcYH5FsISkjxxIIIs4YB74kOwW6MvW4+BMfsnJUTzW + 0l4BHzdtU4m8JGqXOeP8C2BF0U22xaYGZMPPsextok3GjDNgNec1/4w7liWDehw8 + ORJ8z+15TxHyqoUnt4PWer5LOtE12f+MKGmDeOVxep/lSzZxrNycZCSLgaG5Cgdv + =BgJM -----END PGP MESSAGE----- fp: CC51116A94490FA6FB3C18EB2401FCAE863A06CA - - created_at: "2024-04-29T17:03:17Z" + - created_at: "2024-12-26T15:24:19Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DCsA/BhMt3V4SAQdAdsc6wpQaH5PxlLbUgJ1AtQQLAfzW8N8u9tMoYUsw9Cww - jfAQCIpFjOCcKn2EfQzb/KXSHHiAFBx0BYF4kEoEnclyytkBtny1O14eZMVp0Ja0 - 0l4BAEzpCeHkgxS19TghHguj7dmRvwk+C3U/qZR0Yd5F8okK3OyLGxE8SzOCC+Ex - YZ2LiEerDzj7N3SxdzRBtYgpturs0TUlZwbO2jWvb92LrCg+fwZTDf+FXBMKJMgJ - =F891 + hF4DCsA/BhMt3V4SAQdAENZRSE5wcxMS36LyYIlyIRj2IZR3gwn6vmpDPwcF3Ckw + 4Q7IAwgsSVTYloEq2L1ti6YiSYOIHJ6sQ37zb8MqjpnCwqeF+Ilw2zN6a4uapTDw + 0l4BEf2niBLKRnv4gYGAvQlsmDvKxD+XZgCA0Mf4Zo0gTBTNS5TRHaQuH2T+kZwc + fMAy22upXAJErldINHQLctOwG0r45lpqJAHu5BbmDOoyrrvU9oBk253XMgopYWmG + =WlAR -----END PGP MESSAGE----- fp: 4919F560F0D35F80CF382D76E084A2DF1143C14D - - created_at: "2024-04-29T17:03:17Z" + - created_at: "2024-12-26T15:24:19Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMAxQwM84t19oOAQgApMfAt5Si/Uo/Mk5VoOXvRXljrdRAkr7NXcRgw7aR99oR - oMp6M6yd6mMej840Vchrd5QPavMd6Pyrepebip50QViXzZKub4uw7ulSXr9Yy0Oa - cuVL7kimrjQE/3RfZfU4sHzoZUioz3lmfD1tVz7dCTxTp/wlJlb/68sZRG6fS/vE - KXjTf4P7IccTb5UWj8XMXcIaFrZ29MiHW/SBVeiYUkJk9gx37hTffz9lFKPx7iAN - MTZrbrqgyo5ZjM/z17j+F4I9M9eXaxld6fysFsuLHGmsZSvOrUSem8Db0gjr6hIi - ryv2tktT3HOuwhtSD9LuSa8Fkht5eOK9xu9E2MZSPtJeASK9n4FBaX+29mdtsW3z - +W7z1+hI/rWA6wVbJr/3h7gn0Z72/AlTcGqMJnITx73cBZTib30oMGtWWZ5dRBGU - TUeLQF8E0j4W7JMC+pDSUI71mMksoD+ihysJ3If96w== - =tZQw + hF4DRbry8yWl6IgSAQdAaWSu41JqARDdez39dRCn2zP7TbiN/S+5yFsQvjohonsw + RGgwTfrUVWy4E67EMx7RN3sVEXtLDBpBobdKOvUTqe6fZ+TSrqyalfDrlMDxaGjj + 1GgBCQIQYCBiEZ2BvxY654zbUVkEet2nm41Lg/qQsEqBnXXZT24hX85WUbOyAYct + bR3sQZul9RlBFrkEXSLwBN+tFzidoIiHkHtRRsLZyCGKFfxyguM9He9CevDpggPA + wkKtYzMUzrNfKw== + =8JBm -----END PGP MESSAGE----- - fp: 966BC282A680D8BB3E8363E865933E76F0549B0D - - created_at: "2024-04-29T17:03:17Z" + fp: 11177A43C6E3752E682AC690DBD13117B0A14E93 + - created_at: "2024-12-26T15:24:19Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzfZC0UNQ1VgSAQdAIOqJfm6hMsqYmTZtTbI1akgjnyMqXpK39iBZNx+HtzEw - DFLS/aioTT3QTndbSCtv4zlh5GqlhfMZrstgWBNhta0g4gxifX9VKWG2PUns4RX3 - 0l4BO3JwpHIV23X56gt9/H94GtuebNOaoNRLW7WmqpclpLV9Z3gm9Q0FOBeUGCPX - JDYt0QL0rcqIGPAcxEgLcx42vxHtUWfGcYGBugRbKVQ1xiEPZUAZgYAC5WqeKne2 - =lE3W + hF4DzfZC0UNQ1VgSAQdAT6ORCIjbdFHRpTcZLEJIniYNWnkgB6kbOTUR7Z4TNyww + YjqSVzt0pRHA0tnLKxC0EE1E9VGTrFjDpg0+yeoOzgS5M2zdl47LM9RMJTnA3cGM + 1GgBCQIQNQoVBm+zPbJstZMPWUO7vrgTRxKFREm9RW3y1UP4DO4MmMr1F6yJyN/Z + 0xZraVpL4YAj5FFnf9YkrPlTbiJsClO20k30rK79IEuXGkxTvLk4R0p8bbG1ps4D + HaTBqg+N24qQ8w== + =x4Lm -----END PGP MESSAGE----- fp: AA5213AF261C1977AF38B03A94B473337258BFD5 unencrypted_suffix: _unencrypted - version: 3.9.0 + version: 3.9.2 diff --git a/.sops.yaml b/.sops.yaml index 8f6ca07e6d..505fd28a66 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-04-29T16:25:51Z by kres ebc009d-dirty. +# Generated on 2024-12-26T15:20:08Z by kres fcff05e. creation_rules: - age: age1xrpa9ujxxcj2u2gzfrzv8mxak4rts94a6y60ypurv6rs5cpr4e4sg95f0k @@ -9,5 +9,5 @@ creation_rules: 15D5721F5F5BAF121495363EFE042E3D4085A811, CC51116A94490FA6FB3C18EB2401FCAE863A06CA, 4919F560F0D35F80CF382D76E084A2DF1143C14D, - 966BC282A680D8BB3E8363E865933E76F0549B0D, + 11177A43C6E3752E682AC690DBD13117B0A14E93, AA5213AF261C1977AF38B03A94B473337258BFD5 \ No newline at end of file diff --git a/hack/test/e2e-equinix-metal-prepare.sh b/hack/test/e2e-equinix-metal-prepare.sh deleted file mode 100755 index 3aa9a28142..0000000000 --- a/hack/test/e2e-equinix-metal-prepare.sh +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -source ./hack/test/e2e.sh - -export AWS_DEFAULT_REGION="us-east-1" -export BUCKET_NAME="talos-ci-e2e" - -export EQUINIX_METRO="dc" - -TEMP_DIR=$(mktemp -d) - -INSTALLER_IMAGE_NAME=$(cut -d ":" -f1 <<< "${INSTALLER_IMAGE}") -INSTALLER_IMAGE_TAG=$(cut -d ":" -f2 <<< "${INSTALLER_IMAGE}") - -rm -rf "${ARTIFACTS}/v2" - -function cleanup() { - rm -rf "${TEMP_DIR}" -} - -trap cleanup SIGINT EXIT - -function generate_ipxe_script() { - CONSOLE="console=ttyS1,115200n8" - - [[ "${1}" == "arm64" ]] && CONSOLE="console=ttyAMA0,115200" - - cat > "${ARTIFACTS}/ipxe-${1}" << EOF -#!ipxe - -kernel https://${BUCKET_NAME}.s3.amazonaws.com/vmlinuz-${1} talos.platform=equinixMetal console=tty0 ${CONSOLE} init_on_alloc=1 slab_nomerge pti=on consoleblank=0 nvme_core.io_timeout=4294967295 printk.devkmsg=on ima_template=ima-ng ima_appraise=fix ima_hash=sha512 -initrd https://${BUCKET_NAME}.s3.amazonaws.com/initramfs-${1}.xz -boot -EOF -} - -function upload_artifact() { - aws s3 cp --acl public-read "${ARTIFACTS}/${1}" "s3://${BUCKET_NAME}/${1}" -} - -shamove() { - SHA=$(sha256sum "${1}" | cut -d " " -f1) - - mv "${1}" "${ARTIFACTS}/v2/${INSTALLER_IMAGE_NAME}/${2}/sha256:${SHA}" -} - -# adapted from https://github.com/jpetazzo/registrish/ -function generate_oci() { - crane pull --format=oci "${INSTALLER_IMAGE}" "${TEMP_DIR}/${INSTALLER_IMAGE_NAME}" - - mkdir -p "${ARTIFACTS}/v2/${INSTALLER_IMAGE_NAME}/manifests" "${ARTIFACTS}/v2/${INSTALLER_IMAGE_NAME}/blobs" - - find "${TEMP_DIR}/${INSTALLER_IMAGE_NAME}/blobs" -type f | while read -r FILE; do - # gzip files are blobs - if gzip -t "${FILE}"; then - shamove "${FILE}" blobs - else - # json files with architecture are blobs - if [[ $(jq 'select(.architecture != null)' "${FILE}") != "" ]]; then - shamove "${FILE}" blobs - - continue - fi - - # copying over the index file as tag - [[ $(jq '.mediaType=="application/vnd.oci.image.index.v1+json"' "${FILE}") == "true" ]] && cp "${FILE}" "${ARTIFACTS}/v2/${INSTALLER_IMAGE_NAME}/manifests/${INSTALLER_IMAGE_TAG}" - - # anything else is other manifests referenced by the index - shamove "${FILE}" manifests - fi -done -} - -# adapted from https://github.com/jpetazzo/registrish/ -function upload_oci() { - # remove any existing container image data - aws s3 rm "s3://${BUCKET_NAME}/v2/" --recursive - - aws s3 sync "${ARTIFACTS}/v2/" \ - "s3://${BUCKET_NAME}/v2/" \ - --acl public-read \ - --exclude '*/manifests/*' - - find "${ARTIFACTS}/v2/" -path '*/manifests/*' -print0 | while IFS= read -r -d '' MANIFEST; do - CONTENT_TYPE=$(jq -r .mediaType < "${MANIFEST}") - - if [ "$CONTENT_TYPE" = "null" ]; then - CONTENT_TYPE="application/vnd.docker.distribution.manifest.v1+prettyjws" - fi - - aws s3 cp "${MANIFEST}" \ - "s3://${BUCKET_NAME}/${MANIFEST/${ARTIFACTS}\//}" \ - --acl public-read \ - --content-type "${CONTENT_TYPE}" \ - --metadata-directive REPLACE - done -} - -# generate ipxe script for both amd64 and arm64 -generate_ipxe_script "amd64" -generate_ipxe_script "arm64" - -upload_artifact "ipxe-amd64" -upload_artifact "ipxe-arm64" - -upload_artifact vmlinuz-amd64 -upload_artifact initramfs-amd64.xz -upload_artifact vmlinuz-arm64 -upload_artifact initramfs-arm64.xz - -generate_oci -upload_oci - -mkdir -p "${ARTIFACTS}/e2e-equinix-metal-generated" - -NAME_PREFIX="talos-e2e-${SHA}-equinix-metal" - -jq --null-input \ - --arg CLUSTER_NAME "${NAME_PREFIX}" \ - --arg EM_API_TOKEN "${EM_API_TOKEN}" \ - --arg EM_PROJECT_ID "${EM_PROJECT_ID}" \ - --arg TALOS_VERSION_CONTRACT "${TALOS_VERSION}" \ - --arg KUBERNETES_VERSION "${KUBERNETES_VERSION}" \ - --arg EM_REGION "${EQUINIX_METRO}" \ - --arg INSTALL_IMAGE "${BUCKET_NAME}.s3.amazonaws.com/${INSTALLER_IMAGE_NAME}:${INSTALLER_IMAGE_TAG}" \ - --arg IPXE_SCRIPT_URL_AMD64 "https://${BUCKET_NAME}.s3.amazonaws.com/ipxe-amd64" \ - --arg IPXE_SCRIPT_URL_ARM64 "https://${BUCKET_NAME}.s3.amazonaws.com/ipxe-arm64" \ - '{ - cluster_name: $CLUSTER_NAME, - em_api_token: $EM_API_TOKEN, - em_project_id: $EM_PROJECT_ID, - talos_version_contract: $TALOS_VERSION_CONTRACT, - kubernetes_version: $KUBERNETES_VERSION, - em_region: $EM_REGION, - ipxe_script_url_amd64: $IPXE_SCRIPT_URL_AMD64, - ipxe_script_url_arm64: $IPXE_SCRIPT_URL_ARM64, - install_image: $INSTALL_IMAGE - }' \ - | jq -f hack/test/tfvars/equinix-metal.jq > "${ARTIFACTS}/e2e-equinix-metal-generated/vars.json" - -cp hack/test/tfvars/*.yaml "${ARTIFACTS}/e2e-equinix-metal-generated" diff --git a/hack/test/e2e-equinix-metal.sh b/hack/test/e2e-equinix-metal.sh deleted file mode 100755 index 33561a17bc..0000000000 --- a/hack/test/e2e-equinix-metal.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -source ./hack/test/e2e.sh - -cp "${ARTIFACTS}/e2e-equinix-metal-talosconfig" "${TALOSCONFIG}" -cp "${ARTIFACTS}/e2e-equinix-metal-kubeconfig" "${KUBECONFIG}" - -# set the talosconfig to use the first controlplane ip -CONTROLPLANE0_NODE=$(${TALOSCTL} config info -o json | jq -r '.endpoints[0]') -${TALOSCTL} config node "${CONTROLPLANE0_NODE}" - -run_talos_integration_test -run_kubernetes_integration_test diff --git a/hack/test/tfvars/equinix-arm64.yaml b/hack/test/tfvars/equinix-arm64.yaml deleted file mode 100644 index 0e570d96af..0000000000 --- a/hack/test/tfvars/equinix-arm64.yaml +++ /dev/null @@ -1,3 +0,0 @@ -machine: - install: - disk: /dev/nvme0n1 diff --git a/hack/test/tfvars/equinix-metal.jq b/hack/test/tfvars/equinix-metal.jq deleted file mode 100644 index 808d9371c9..0000000000 --- a/hack/test/tfvars/equinix-metal.jq +++ /dev/null @@ -1,38 +0,0 @@ -{ - "cluster_name": .cluster_name, - "em_api_token": .em_api_token, - "talos_version_contract": .talos_version_contract, - "kubernetes_version": .kubernetes_version, - "em_region": .em_region, - "em_project_id": .em_project_id, - "control_plane": { - "num_instances": 3, - "plan": "c3.small.x86", - "ipxe_script_url": .ipxe_script_url_amd64, - "install_image": .install_image - }, - "worker_groups": [ - { - "name": "amd64", - "num_instances": 1, - "plan": "c3.small.x86", - "ipxe_script_url": .ipxe_script_url_amd64, - "install_image": .install_image - }, - { - "name": "arm64", - "plan": "c3.large.arm64", - "num_instances": 1, - "ipxe_script_url": .ipxe_script_url_arm64, - "install_image": .install_image, - "config_patch_files": [ - "equinix-arm64.yaml" - ] - } - ], - "extra_tags": [ - "Cluster Name=" + .cluster_name, - "Project=talos-e2e-ci", - "Environment=ci" - ] -}