added spilt tarballs #169
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: rancher-airgap-workflow | |
on: | |
workflow_dispatch: | |
push: | |
tags: | |
- '*' | |
jobs: | |
rancher-airgap-build: | |
name: Rancher Airgap - Build Job | |
runs-on: [self-hosted, linux, X64] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
hauler version | |
pwd && ls -laR | |
- name: Build Hauler | |
run: | | |
sh hauler/scripts/hauler/hauler-hauler.sh | |
mv /opt/hauler/hauler/rancher-airgap-hauler.yaml hauler/hauler/rancher-airgap-hauler.yaml | |
pwd && ls -laR hauler/hauler | |
- name: Build Helm | |
run: | | |
sh hauler/scripts/helm/hauler-helm.sh | |
mv /opt/hauler/helm/rancher-airgap-helm.yaml hauler/helm/rancher-airgap-helm.yaml | |
pwd && ls -laR hauler/helm | |
- name: Build Cosign | |
run: | | |
sh hauler/scripts/cosign/hauler-cosign.sh | |
mv /opt/hauler/cosign/rancher-airgap-cosign.yaml hauler/cosign/rancher-airgap-cosign.yaml | |
pwd && ls -laR hauler/cosign | |
- name: Build RKE2 | |
run: | | |
sh hauler/scripts/rke2/hauler-rke2.sh | |
mv /opt/hauler/rke2/rancher-airgap-rke2.yaml hauler/rke2/rancher-airgap-rke2.yaml | |
pwd && ls -laR hauler/rke2 | |
- name: Build Rancher | |
run: | | |
sh hauler/scripts/rancher/hauler-rancher.sh | |
mv /opt/hauler/rancher/rancher-airgap-rancher.yaml hauler/rancher/rancher-airgap-rancher.yaml | |
pwd && ls -laR hauler/rancher | |
- name: Build Rancher Minimal | |
run: | | |
sh hauler/scripts/rancher/hauler-rancher-minimal.sh | |
mv /opt/hauler/rancher-minimal/rancher-airgap-rancher-minimal.yaml hauler/rancher/rancher-airgap-rancher-minimal.yaml | |
pwd && ls -laR hauler/rancher | |
- name: Build Longhorn | |
run: | | |
sh hauler/scripts/longhorn/hauler-longhorn.sh | |
mv /opt/hauler/longhorn/rancher-airgap-longhorn.yaml hauler/longhorn/rancher-airgap-longhorn.yaml | |
pwd && ls -laR hauler/longhorn | |
- name: Build NeuVector | |
run: | | |
sh hauler/scripts/neuvector/hauler-neuvector.sh | |
mv /opt/hauler/neuvector/rancher-airgap-neuvector.yaml hauler/neuvector/rancher-airgap-neuvector.yaml | |
pwd && ls -laR hauler/neuvector | |
- name: Build Harvester | |
run: | | |
sh hauler/scripts/harvester/hauler-harvester.sh | |
mv /opt/hauler/harvester/rancher-airgap-harvester.yaml hauler/harvester/rancher-airgap-harvester.yaml | |
pwd && ls -laR hauler/harvester | |
- name: Build Gitea | |
run: | | |
sh hauler/scripts/gitea/hauler-gitea.sh | |
mv /opt/hauler/gitea/rancher-airgap-gitea.yaml hauler/gitea/rancher-airgap-gitea.yaml | |
pwd && ls -laR hauler/gitea | |
- name: Build KubeVip | |
run: | | |
sh hauler/scripts/kubevip/hauler-kubevip.sh | |
mv /opt/hauler/kubevip/rancher-airgap-kubevip.yaml hauler/kubevip/rancher-airgap-kubevip.yaml | |
pwd && ls -laR hauler/kubevip | |
- name: Build Vault | |
run: | | |
sh hauler/scripts/vault/hauler-vault.sh | |
mv /opt/hauler/vault/rancher-airgap-vault.yaml hauler/vault/rancher-airgap-vault.yaml | |
pwd && ls -laR hauler/vault | |
- name: Commit and Push Repository | |
continue-on-error: true | |
run: | | |
pwd && ls -laR | |
git status | |
git config --global user.name "${GITHUB_ACTOR}" | |
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" | |
git add *.yaml | |
git commit -a -m "updated rancher airgap assets [github-actions]" | |
git push | |
rancher-airgap-testing: | |
name: Rancher Airgap - Test/Lint Job | |
runs-on: [self-hosted, linux, X64] | |
needs: [rancher-airgap-build] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
hauler version | |
pwd && ls -laR | |
- name: Test/Lint Hauler | |
run: | | |
cd hauler/hauler | |
time hauler store sync --files rancher-airgap-hauler.yaml | |
time hauler store save --filename hauler.tar.zst | |
hauler store info | |
ls -laR && rm -rf store hauler.tar.zst | |
- name: Test/Lint Helm | |
run: | | |
cd hauler/helm | |
time hauler store sync --files rancher-airgap-helm.yaml | |
time hauler store save --filename helm.tar.zst | |
hauler store info | |
ls -laR && rm -rf store helm.tar.zst | |
- name: Test/Lint Cosign | |
run: | | |
cd hauler/cosign | |
time hauler store sync --files rancher-airgap-cosign.yaml | |
time hauler store save --filename cosign.tar.zst | |
hauler store info | |
ls -laR && rm -rf store cosign.tar.zst | |
- name: Test/Lint RKE2 | |
run: | | |
cd hauler/rke2 | |
time hauler store sync --files rancher-airgap-rke2.yaml | |
time hauler store save --filename rke2.tar.zst | |
hauler store info | |
ls -laR && rm -rf store rke2.tar.zst | |
- name: Test/Lint Rancher | |
run: | | |
cd hauler/rancher | |
time hauler store sync --files rancher-airgap-rancher.yaml | |
time hauler store save --filename rancher.tar.zst | |
hauler store info | |
ls -laR && rm -rf store rancher.tar.zst | |
- name: Test/Lint Rancher Minimal | |
run: | | |
cd hauler/rancher | |
rm -rf store | |
time hauler store sync --files rancher-airgap-rancher-minimal.yaml | |
time hauler store save --filename rancher-minimal.tar.zst | |
hauler store info | |
ls -laR && rm -rf store rancher-minimal.tar.zst | |
- name: Test/Lint Longhorn | |
run: | | |
cd hauler/longhorn | |
time hauler store sync --files rancher-airgap-longhorn.yaml | |
time hauler store save --filename longhorn.tar.zst | |
hauler store info | |
ls -laR && rm -rf store longhorn.tar.zst | |
- name: Test/Lint NeuVector | |
run: | | |
cd hauler/neuvector | |
time hauler store sync --files rancher-airgap-neuvector.yaml | |
time hauler store save --filename neuvector.tar.zst | |
hauler store info | |
ls -laR && rm -rf store neuvector.tar.zst | |
- name: Test/Lint Harvester | |
run: | | |
cd hauler/harvester | |
time hauler store sync --files rancher-airgap-harvester.yaml | |
time hauler store save --filename harvester.tar.zst | |
hauler store info | |
ls -laR && rm -rf store harvester.tar.zst | |
- name: Test/Lint Gitea | |
run: | | |
cd hauler/gitea | |
time hauler store sync --files rancher-airgap-gitea.yaml | |
time hauler store save --filename gitea.tar.zst | |
hauler store info | |
ls -laR && rm -rf store gitea.tar.zst | |
- name: Test/Lint KubeVip | |
run: | | |
cd hauler/kubevip | |
time hauler store sync --files rancher-airgap-kubevip.yaml | |
time hauler store save --filename kubevip.tar.zst | |
hauler store info | |
ls -laR && rm -rf store kubevip.tar.zst | |
- name: Test/Lint Vault | |
run: | | |
cd hauler/vault | |
time hauler store sync --files rancher-airgap-vault.yaml | |
time hauler store save --filename vault.tar.zst | |
hauler store info | |
ls -laR && rm -rf store vault.tar.zst | |
rancher-airgap-release: | |
name: Rancher Airgap - Release Job | |
runs-on: [self-hosted, linux, X64] | |
needs: [rancher-airgap-build, rancher-airgap-testing] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
hauler version | |
pwd && ls -laR | |
- name: Create Release Notes | |
run: | | |
echo -e "# Rancher Airgap Release ${{ github.ref_name }}\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 | |
- name: Release with Release Notes | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
draft: false | |
prerelease: false | |
body_path: RELEASE-NOTES.MD | |
rancher-airgap-private: | |
name: Rancher Airgap - Private Job | |
runs-on: [self-hosted, linux, X64] | |
needs: [rancher-airgap-build] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Dependencies/Setup/Checks | |
run: | | |
source ~/.bashrc | |
hauler version | |
pwd && ls -lh | |
- name: Fetch Public Key | |
run: | | |
curl -sfOL https://raw.githubusercontent.com/rancherfederal/carbide-releases/main/carbide-key.pub | |
- name: Authenticate to Private Registry | |
run: | | |
source ~/.bashrc | |
hauler login ${Registry} --username ${RegistryUsername} --password ${RegistryPassword} | |
- name: Set Up AWS CLI and Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-region: ${{ secrets.AWS_REGION }} | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
- name: Fetch/Build Hauler | |
run: | | |
cd hauler/hauler && source ~/.bashrc | |
time hauler store sync --store amd64 --platform linux/amd64 --files rancher-airgap-hauler.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files rancher-airgap-hauler.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename hauler-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename hauler-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Helm | |
run: | | |
cd hauler/helm && source ~/.bashrc | |
time hauler store sync --store amd64 --platform linux/amd64 --files rancher-airgap-helm.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files rancher-airgap-helm.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename helm-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename helm-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Cosign | |
run: | | |
cd hauler/cosign && source ~/.bashrc | |
time hauler store sync --store amd64 --platform linux/amd64 --files rancher-airgap-cosign.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files rancher-airgap-cosign.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename cosign-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename cosign-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build RKE2 | |
run: | | |
cd hauler/rke2 && source ~/.bashrc | |
time hauler store sync --store amd64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-rke2.yaml | |
time hauler store sync --store arm64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/arm64 --files rancher-airgap-rke2.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename rke2-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename rke2-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Rancher | |
run: | | |
cd hauler/rancher && source ~/.bashrc | |
sed -i 's#quay.io/##g' rancher-airgap-rancher.yaml | |
sed -i 's#https://releases.rancher.com/server-charts/latest#https://rancherfederal.github.io/carbide-charts#g' rancher-airgap-rancher.yaml | |
time hauler store sync --store amd64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-rancher.yaml | |
time hauler store sync --store arm64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/arm64 --files rancher-airgap-rancher.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename rancher-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename rancher-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Rancher Minimal | |
run: | | |
cd hauler/rancher && source ~/.bashrc | |
rm -rf store | |
sed -i 's#quay.io/##g' rancher-airgap-rancher-minimal.yaml | |
sed -i 's#https://releases.rancher.com/server-charts/latest#https://rancherfederal.github.io/carbide-charts#g' rancher-airgap-rancher-minimal.yaml | |
time hauler store sync --store amd64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-rancher-minimal.yaml | |
time hauler store sync --store arm64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/arm64 --files rancher-airgap-rancher-minimal.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename rancher-minimal-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename rancher-minimal-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Longhorn | |
run: | | |
cd hauler/longhorn && source ~/.bashrc | |
time hauler store sync --store amd64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-longhorn.yaml | |
time hauler store sync --store arm64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/arm64 --files rancher-airgap-longhorn.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename longhorn-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename longhorn-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build NeuVector | |
run: | | |
cd hauler/neuvector && source ~/.bashrc | |
time hauler store sync --store amd64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-neuvector.yaml | |
time hauler store sync --store arm64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/arm64 --files rancher-airgap-neuvector.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename neuvector-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename neuvector-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Harvester | |
run: | | |
cd hauler/harvester && source ~/.bashrc | |
sed -e 's#quay.io/##g' -e 's#ghcr.io/##g' -e 's#registry.k8s.io/##g' -e 's#registry.suse.com/##g' rancher-airgap-harvester.yaml > rancher-airgap-harvester-amd64.yaml | |
sed -e 's#quay.io/##g' -e 's#ghcr.io/##g' -e 's#registry.k8s.io/##g' -e 's#registry.suse.com/##g' rancher-airgap-harvester.yaml > rancher-airgap-harvester-arm64.yaml | |
sed -i '1,/---/c\apiVersion: content.hauler.cattle.io/v1alpha1\nkind: Images\nmetadata:\n name: rancher-airgap-images-harvester\nspec:\n images:\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-amd64.iso:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-amd64-net-install.iso:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-vmlinuz-amd64:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-initrd-amd64:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-rootfs-amd64.squashfs:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-amd64.sha512:v1.3.2-carbide-2' rancher-airgap-harvester-amd64.yaml | |
sed -i '1,/---/c\apiVersion: content.hauler.cattle.io/v1alpha1\nkind: Images\nmetadata:\n name: rancher-airgap-images-harvester\nspec:\n images:\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-arm64.iso:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-vmlinuz-arm64:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-initrd-arm64:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-rootfs-arm64.squashfs:v1.3.2-carbide-2\n - name: rgcrprod.azurecr.us/carbide/harvester/harvester-v1.3.2-carbide-2-arm64.sha512:v1.3.2-carbide-2' rancher-airgap-harvester-arm64.yaml | |
time hauler store sync --store amd64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/amd64 --files rancher-airgap-harvester-amd64.yaml | |
time hauler store sync --store arm64 --registry ${Registry} --key ../../carbide-key.pub --platform linux/arm64 --files rancher-airgap-harvester-amd64.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename harvester-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename harvester-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Gitea | |
run: | | |
cd hauler/gitea && source ~/.bashrc | |
time hauler store sync --store amd64 --platform linux/amd64 --files rancher-airgap-gitea.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files rancher-airgap-gitea.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename gitea-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename gitea-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Kubevip | |
run: | | |
cd hauler/kubevip && source ~/.bashrc | |
time hauler store sync --store amd64 --platform linux/amd64 --files rancher-airgap-kubevip.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files rancher-airgap-kubevip.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename kubevip-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename kubevip-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Vault | |
run: | | |
cd hauler/vault && source ~/.bashrc | |
time hauler store sync --store amd64 --platform linux/amd64 --files rancher-airgap-vault.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files rancher-airgap-vault.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename vault-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename vault-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build Private | |
run: | | |
mkdir -p hauler/carbide && cd hauler/carbide && source ~/.bashrc | |
echo -e "apiVersion: content.hauler.cattle.io/v1alpha1\nkind: Images\nmetadata:\n name: carbide-images\nspec:\n images:\n$(curl -sfL https://raw.githubusercontent.com/rancherfederal/carbide-releases/main/carbide-images.txt | sed '/nats/d' | sed 's/^/ - name: /')" > carbide-images.yaml | |
echo -e "apiVersion: content.hauler.cattle.io/v1alpha1\nkind: Images\nmetadata:\n name: carbide-dependency-images\nspec:\n images:\n$(curl -sfL https://raw.githubusercontent.com/rancherfederal/carbide-releases/main/carbide-images.txt | sed '/rgcr/d' | sed 's/^/ - name: /')" > carbide-dependency-images.yaml | |
echo -e "apiVersion: content.hauler.cattle.io/v1alpha1\nkind: Charts\nmetadata:\n name: carbide-charts\nspec:\n charts:\n - name: airgapped-docs\n repoURL: https://rancherfederal.github.io/carbide-charts\n version: 0.1.51\n - name: stigatron\n repoURL: https://rancherfederal.github.io/carbide-charts\n version: 0.3.0\n - name: stigatron-ui\n repoURL: https://rancherfederal.github.io/carbide-charts\n version: 0.2.3\n---\napiVersion: content.hauler.cattle.io/v1alpha1\nkind: Charts\nmetadata:\n name: carbide-dependency-charts\nspec:\n charts:\n - name: heimdall2\n repoURL: https://rancherfederal.github.io/carbide-charts\n version: 0.1.45\n - name: nats\n repoURL: https://nats-io.github.io/k8s/helm/charts\n version: 1.1.5" > carbide-charts.yaml | |
time hauler store sync --store amd64 --key ../../carbide-key.pub --platform linux/amd64 --files carbide-images.yaml | |
time hauler store sync --store arm64 --key ../../carbide-key.pub --platform linux/arm64 --files carbide-images.yaml | |
time hauler store sync --store amd64 --platform linux/amd64 --files carbide-dependency-images.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files carbide-dependency-images.yaml | |
time hauler store sync --store amd64 --platform linux/amd64 --files carbide-charts.yaml | |
time hauler store sync --store arm64 --platform linux/arm64 --files carbide-charts.yaml | |
time hauler store save --store amd64 --platform linux/amd64 --filename carbide-carbide-amd64.tar.zst | |
time hauler store save --store arm64 --platform linux/arm64 --filename carbide-carbide-arm64.tar.zst | |
hauler store info --store amd64 | |
hauler store info --store arm64 | |
- name: Fetch/Build/Upload Hauler Binaries | |
run: | | |
mkdir -p hauler/hauler/binaries && cd hauler/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 | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_darwin_arm64.tar.gz | |
curl -sfOL https://github.com/hauler-dev/hauler/releases/download/v${HaulerVersion}/hauler_${HaulerVersion}_linux_amd64.tar.gz | |
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 | |
for file in *.tar.gz; do | |
folder_name="${file%.tar.gz}" | |
mkdir -p "$folder_name" | |
tar -xzf "$file" -C "$folder_name" | |
rm -f "$file" | |
done | |
time tar --zstd -cvf hauler-binaries.tar.zst ./*_checksums.txt */ | |
time aws s3 cp --no-progress hauler-binaries.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m hauler-binaries.tar hauler-binaries.tar.zst | |
time for file in hauler-binaries.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
- name: Upload Hauler | |
run: | | |
cd hauler/hauler && source ~/.bashrc | |
time aws s3 cp --no-progress hauler-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress hauler-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
- name: Upload Helm | |
run: | | |
cd hauler/helm && source ~/.bashrc | |
time aws s3 cp --no-progress helm-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress helm-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
- name: Upload Cosign | |
run: | | |
cd hauler/cosign && source ~/.bashrc | |
time aws s3 cp --no-progress cosign-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress cosign-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
- name: Upload RKE2 | |
run: | | |
cd hauler/rke2 && source ~/.bashrc | |
time aws s3 cp --no-progress rke2-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress rke2-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m rke2-carbide-amd64.tar rke2-carbide-amd64.tar.zst | |
time for file in rke2-carbide-amd64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
time 7z a -v999m rke2-carbide-arm64.tar rke2-carbide-arm64.tar.zst | |
time for file in rke2-carbide-arm64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
- name: Upload Rancher | |
run: | | |
cd hauler/rancher && source ~/.bashrc | |
time aws s3 cp --no-progress rancher-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress rancher-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m rancher-carbide-amd64.tar rancher-carbide-amd64.tar.zst | |
time for file in rancher-carbide-amd64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
time 7z a -v999m rancher-carbide-arm64.tar rancher-carbide-arm64.tar.zst | |
time for file in rancher-carbide-arm64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
- name: Upload Rancher Minimal | |
run: | | |
cd hauler/rancher && source ~/.bashrc | |
time aws s3 cp --no-progress rancher-minimal-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress rancher-minimal-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m rancher-minimal-carbide-amd64.tar rancher-minimal-carbide-amd64.tar.zst | |
time for file in rancher-minimal-carbide-amd64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
time 7z a -v999m rancher-minimal-carbide-arm64.tar rancher-minimal-carbide-arm64.tar.zst | |
time for file in rancher-minimal-carbide-arm64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
- name: Upload Longhorn | |
run: | | |
cd hauler/longhorn && source ~/.bashrc | |
time aws s3 cp --no-progress longhorn-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress longhorn-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m longhorn-carbide-amd64.tar longhorn-carbide-amd64.tar.zst | |
time for file in longhorn-carbide-amd64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
time 7z a -v999m longhorn-carbide-arm64.tar longhorn-carbide-arm64.tar.zst | |
time for file in longhorn-carbide-arm64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
- name: Upload NeuVector | |
run: | | |
cd hauler/neuvector && source ~/.bashrc | |
time aws s3 cp --no-progress neuvector-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress neuvector-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m neuvector-carbide-amd64.tar neuvector-carbide-amd64.tar.zst | |
time for file in neuvector-carbide-amd64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
time 7z a -v999m neuvector-carbide-arm64.tar neuvector-carbide-arm64.tar.zst | |
time for file in neuvector-carbide-arm64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
- name: Upload Harvester | |
run: | | |
cd hauler/harvester && source ~/.bashrc | |
time aws s3 cp --no-progress harvester-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress harvester-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m harvester-carbide-amd64.tar harvester-carbide-amd64.tar.zst | |
time for file in harvester-carbide-amd64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
time 7z a -v999m harvester-carbide-arm64.tar harvester-carbide-arm64.tar.zst | |
time for file in harvester-carbide-arm64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
- name: Upload Gitea | |
run: | | |
cd hauler/gitea && source ~/.bashrc | |
time aws s3 cp --no-progress gitea-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress gitea-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
- name: Upload Kubevip | |
run: | | |
cd hauler/kubevip && source ~/.bashrc | |
time aws s3 cp --no-progress kubevip-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress kubevip-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
- name: Upload Vault | |
run: | | |
cd hauler/vault && source ~/.bashrc | |
time aws s3 cp --no-progress vault-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress vault-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
- name: Upload Private | |
run: | | |
cd hauler/carbide && source ~/.bashrc | |
time aws s3 cp --no-progress carbide-carbide-amd64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time aws s3 cp --no-progress carbide-carbide-arm64.tar.zst s3://carbide/${{ github.ref_name }}/ | |
time 7z a -v999m carbide-carbide-amd64.tar carbide-carbide-amd64.tar.zst | |
time for file in carbide-carbide-amd64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done | |
time 7z a -v999m carbide-carbide-arm64.tar carbide-carbide-arm64.tar.zst | |
time for file in carbide-carbide-arm64.tar.0*; do | |
aws s3 cp cp --no-progress "$file" s3://carbide/${{ github.ref_name }}/spilts/ | |
done |