#!/bin/bash set -x -e source /usr/lib/rancheros-release manifest() { cat << EOF kind: ManagedOSImage apiVersion: rancheros.cattle.io/v1 metadata: name: default-os-image namespace: fleet-local spec: osImage: "${IMAGE}" EOF } if [ -e /etc/rancher/rke2/rke2.yaml ]; then export KUBECONFIG=/etc/rancher/rke2/rke2.yaml elif [ -e /etc/rancher/k3s/k3s.yaml ]; then export KUBECONFIG=/etc/rancher/k3s/k3s.yaml else exit 0 fi PULL_POLICY=IfNotPresent if [ "$IMAGE_TAG" = dev ]; then PULL_POLICY=Always fi helm upgrade \ --install \ --create-namespace \ -n cattle-rancheros-operator-system \ --set image.repository=${IMAGE_REPO} \ --set image.tag=${IMAGE_TAG} \ --set image.imagePullPolicy=${PULL_POLICY} \ rancheros-operator /usr/share/rancher/os2/rancheros-operator-chart.tgz while ! kubectl get crd managedosimages.rancheros.cattle.io; do echo Waiting for RancherOS Operator to be running sleep 15 done while ! manifest | kubectl apply -f -; do sleep 15 done