diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 04a4852..e6c6f74 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -239,7 +239,7 @@ jobs: - name: Create Release Notes run: | - echo -e "# Rancher Airgap Release ${GITHUB_REF##*/}\nWe are excited about this latest release of Rancher Airgap! Please review all of the releases notes below and always ensure to download the correct assets. Please utilize GitHub Issues, Forks, and Pull Requests to submit any issues, updates, or fixes! Thank you.\n\nThese Release Notes were generated automatically by [github-actions](https://github.com/apps/github-actions).\n\n## Upgrade Steps\n* No upgrade steps for this release.\n\n## Breaking Changes\n* No breaking changes for this release.\n\n## Features and Improvements\n* No features or improvements for this release.\n\n## Bug Fixes and Additional Notes\n* No bug fixes or additional notes for this release.\n\n## Release Assets for the Rancher Airgap\n\n### Hauler (by Rancher Government Solutions)\n* **Hauler Manifest ->** [rancher-airgap-hauler.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/hauler/rancher-airgap-hauler.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/hauler/rancher-airgap-hauler.yaml\`\n\n### Rancher Kubernetes Engine 2 (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-rke2.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rke2/rancher-airgap-rke2.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rke2/rancher-airgap-rke2.yaml\`\n\n### Rancher Multi-Cluster-Manager (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-rancher.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rancher/rancher-airgap-rancher.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rancher/rancher-airgap-rancher.yaml\`\n* **(Minimal) Hauler Manifest ->** [rancher-airgap-rancher-minimal.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rancher/rancher-airgap-rancher-minimal.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rancher/rancher-airgap-rancher-minimal.yaml\`\n\n### Rancher Longhorn (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-longhorn.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/longhorn/rancher-airgap-longhorn.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/longhorn/rancher-airgap-longhorn.yaml\`\n\n### Rancher NeuVector (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-neuvector.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/neuvector/rancher-airgap-neuvector.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/neuvector/rancher-airgap-neuvector.yaml\`\n\n### Rancher Harvester (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-harvester.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/harvester/rancher-airgap-harvester.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/harvester/rancher-airgap-harvester.yaml\`\n\n### Helm (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-helm.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/helm/rancher-airgap-helm.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/helm/rancher-airgap-helm.yaml\`\n\n### Cosign (by Sigstore)\n* **Hauler Manifest ->** [rancher-airgap-cosign.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/cosign/rancher-airgap-cosign.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/cosign/rancher-airgap-cosign.yaml\`\n\n### Gitea (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-gitea.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/gitea/rancher-airgap-gitea.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/gitea/rancher-airgap-gitea.yaml\`\n\n### KubeVip (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-kubevip.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/kubevip/rancher-airgap-kubevip.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/kubevip/rancher-airgap-kubevip.yaml\`" > RELEASE-NOTES.MD + echo -e "# Rancher Airgap Release ${GITHUB_REF##*/}\nWe are excited about this latest release of Rancher Airgap! Please review all of the releases notes below and always ensure to download the correct assets. Please utilize GitHub Issues, Forks, and Pull Requests to submit any issues, updates, or fixes! Thank you.\n\nThese Release Notes were generated automatically by [github-actions](https://github.com/apps/github-actions).\n\n## Upgrade Steps\n* No upgrade steps for this release.\n\n## Breaking Changes\n* No breaking changes for this release.\n\n## Features and Improvements\n* No features or improvements for this release.\n\n## Bug Fixes and Additional Notes\n* No bug fixes or additional notes for this release.\n\n## Release Assets for the Rancher Airgap\n\n### Hauler (by Rancher Government Solutions)\n* **Hauler Manifest ->** [rancher-airgap-hauler.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/hauler/rancher-airgap-hauler.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/hauler/rancher-airgap-hauler.yaml\`\n\n### Rancher Kubernetes Engine 2 (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-rke2.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rke2/rancher-airgap-rke2.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rke2/rancher-airgap-rke2.yaml\`\n\n### Rancher Multi-Cluster-Manager (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-rancher.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rancher/rancher-airgap-rancher.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rancher/rancher-airgap-rancher.yaml\`\n* **(Minimal) Hauler Manifest ->** [rancher-airgap-rancher-minimal.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/rancher/rancher-airgap-rancher-minimal.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/rancher/rancher-airgap-rancher-minimal.yaml\`\n\n### Rancher Longhorn (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-longhorn.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/longhorn/rancher-airgap-longhorn.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/longhorn/rancher-airgap-longhorn.yaml\`\n\n### Rancher NeuVector (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-neuvector.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/neuvector/rancher-airgap-neuvector.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/neuvector/rancher-airgap-neuvector.yaml\`\n\n### Rancher Harvester (by Rancher)\n* **Hauler Manifest ->** [rancher-airgap-harvester.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/harvester/rancher-airgap-harvester.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/harvester/rancher-airgap-harvester.yaml\`\n\n### Helm (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-helm.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/helm/rancher-airgap-helm.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/helm/rancher-airgap-helm.yaml\`\n\n### Cosign (by Sigstore)\n* **Hauler Manifest ->** [rancher-airgap-cosign.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/cosign/rancher-airgap-cosign.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/cosign/rancher-airgap-cosign.yaml\`\n\n### Gitea (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-gitea.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/gitea/rancher-airgap-gitea.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/gitea/rancher-airgap-gitea.yaml\`\n\n### KubeVip (by the CNCF)\n* **Hauler Manifest ->** [rancher-airgap-kubevip.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/kubevip/rancher-airgap-kubevip.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/kubevip/rancher-airgap-kubevip.yaml\`\n\n### Vault (by HashiCorp)\n* **Hauler Manifest ->** [rancher-airgap-vault.yaml](https://github.com/zackbradys/rancher-airgap/blob/main/hauler/vault/rancher-airgap-vault.yaml)\n* \`curl -sfOL https://raw.githubusercontent.com/zackbradys/rancher-airgap/main/hauler/vault/rancher-airgap-vault.yaml\`" > RELEASE-NOTES.MD echo "Previewing Release Notes" cat RELEASE-NOTES.MD @@ -272,15 +272,14 @@ jobs: hauler version pwd && ls -lh - - name: Set Up Variables - run: | - RancherAirgapVersion=$(curl -sI https://github.com/zackbradys/rancher-airgap/releases/latest | grep -i location | sed -e 's#.*tag/v##' -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g') - - name: Fetch Public Key - run: curl -sfOL https://raw.githubusercontent.com/rancherfederal/carbide-releases/main/carbide-key.pub + run: | + curl -sfOL https://raw.githubusercontent.com/rancherfederal/carbide-releases/main/carbide-key.pub - name: Authenticate to Private Registry - run: hauler login ${Registry} --username ${RegistryUsername} --pasword ${RegistryPassword} + run: | + source ~/.bashrc + hauler login ${Registry} --username ${RegistryUsername} --password ${RegistryPassword} - name: Set Up AWS CLI and Credentials uses: aws-actions/configure-aws-credentials@v4 @@ -289,83 +288,106 @@ jobs: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - - name: Build Hauler + - name: Build/Upload Hauler run: | - cd hauler/hauler + cd hauler/hauler && source ~/.bashrc time hauler store sync --files rancher-airgap-hauler.yaml time hauler store save --filename hauler-carbide.tar.zst + aws s3 cp hauler-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Helm + - name: Build/Upload Helm run: | - cd hauler/helm + cd hauler/helm && source ~/.bashrc time hauler store sync --files rancher-airgap-helm.yaml time hauler store save --filename helm-carbide.tar.zst + aws s3 cp helm-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Cosign + - name: Build/Upload Cosign run: | - cd hauler/cosign + cd hauler/cosign && source ~/.bashrc time hauler store sync --files rancher-airgap-cosign.yaml time hauler store save --filename cosign-carbide.tar.zst + aws s3 cp cosign-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build RKE2 + - name: Build/Upload RKE2 run: | - cd hauler/rke2 - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-rke2.yaml + cd hauler/rke2 && source ~/.bashrc + time hauler store sync --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-rke2.yaml time hauler store save --filename rke2-carbide.tar.zst + aws s3 cp rke2-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Rancher + - name: Build/Upload Rancher run: | - cd hauler/rancher - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-rancher.yaml + cd hauler/rancher && source ~/.bashrc + time hauler store sync --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-rancher.yaml time hauler store save --filename rancher-carbide.tar.zst + aws s3 cp rancher-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Rancher Minimal + - name: Build/Upload Rancher Minimal run: | - cd hauler/rancher + cd hauler/rancher && source ~/.bashrc rm -rf store - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-rancher-minimal.yaml + time hauler store sync --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-rancher-minimal.yaml time hauler store save --filename rancher-minimal-carbide.tar.zst + aws s3 cp rancher-minimal-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Longhorn + - name: Build/Upload Longhorn run: | - cd hauler/longhorn - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-longhorn.yaml + cd hauler/longhorn && source ~/.bashrc + time hauler store sync --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-longhorn.yaml time hauler store save --filename longhorn-carbide.tar.zst + aws s3 cp longhorn-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build NeuVector + - name: Build/Upload NeuVector run: | - cd hauler/neuvector - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-neuvector.yaml + cd hauler/neuvector && source ~/.bashrc + time hauler store sync --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-neuvector.yaml time hauler store save --filename neuvector-carbide.tar.zst + aws s3 cp neuvector-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Harvester + - name: Build/Upload Harvester run: | - cd hauler/harvester - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-harvester.yaml + cd hauler/harvester && source ~/.bashrc + time hauler store sync --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-harvester.yaml time hauler store save --filename harvester-carbide.tar.zst + aws s3 cp harvester-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Gitea + - name: Build/Upload Gitea run: | - cd hauler/gitea - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-gitea.yaml + cd hauler/gitea && source ~/.bashrc + time hauler store sync --platform linux/amd64 --files rancher-airgap-gitea.yaml time hauler store save --filename gitea-carbide.tar.zst + aws s3 cp gitea-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Kubevip + - name: Build/Upload Kubevip run: | - cd hauler/kubevip - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-kubevip.yaml + cd hauler/kubevip && source ~/.bashrc + time hauler store sync --platform linux/amd64 --files rancher-airgap-kubevip.yaml time hauler store save --filename kubevip-carbide.tar.zst + aws s3 cp kubevip-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Build Vault + - name: Build/Upload Vault run: | - cd hauler/vault - time hauler store sync --platform linux/amd64 --registry ${Registry} --key carbide-key.pub --files rancher-airgap-kubevip.yaml + cd hauler/vault && source ~/.bashrc + time hauler store sync --platform linux/amd64 --files rancher-airgap-vault.yaml time hauler store save --filename vault-carbide.tar.zst + aws s3 cp vault-carbide.tar.zst s3://carbide/${{ github.ref }}/ + aws s3 ls s3://carbide/${{ github.ref }} - - name: Fetch Hauler Binaries + - name: Fetch/Package/Upload Hauler Binaries run: | - mkdir hauler/binaries - cd hauler/binaries + mkdir -p hauler/binaries && cd hauler/binaries && source ~/.bashrc curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_checksums.txt curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_darwin_all.tar.gz curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_darwin_amd64.tar.gz @@ -374,9 +396,6 @@ jobs: curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_linux_arm64.tar.gz curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_windows_amd64.tar.gz curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_windows_arm64.tar.gz - - - name: Package Hauler Binaries - run: | for file in *.tar.gz; do folder_name="${file%.tar.gz}" @@ -387,69 +406,5 @@ jobs: rm -f "$file" done zip -r hauler-binaries.zip ./*_checksums.txt */ - - - name: Prepare AWS S3 and Repository - run: | - cd ${{ github.workspace }} - aws s3 ls s3://carbide/ - ls -lh - - - name: Upload Hauler - run: | - aws s3 cp hauler/hauler/hauler-cabide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Helm - run: | - aws s3 cp hauler/helm/helm-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Cosign - run: | - aws s3 cp hauler/cosign/hauler s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Rancher - run: | - aws s3 cp hauler/rancher/hauler s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Rancher Minimal - run: | - aws s3 cp hauler/rancher/rancher-minimal-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Longhorn - run: | - aws s3 cp hauler/longhorn/longhorn-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload NeuVector - run: | - aws s3 cp hauler/neuvector/neuvector-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Harvester - run: | - aws s3 cp hauler/harvester/harvester-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Gitea - run: | - aws s3 cp hauler/gitea/gitea-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload KubeVip - run: | - aws s3 cp hauler/kubevip/kubevip-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Vault - run: | - aws s3 cp haulter/vault/vault-carbide.tar.zst s3://carbide/${{ github.ref }}/ - aws s3 ls s3://carbide/${{ github.ref }} - - - name: Upload Hauler Binaries - run: | - aws s3 cp hauler/binaries/hauler-binaries.zip s3://carbide/${{ github.ref }}/ + aws s3 cp hauler-binaries.zip s3://carbide/${{ github.ref }}/ aws s3 ls s3://carbide/${{ github.ref }}