mirror of
https://github.com/rancher/os.git
synced 2025-09-12 13:17:17 +00:00
Add operator
This commit is contained in:
36
framework/files/usr/sbin/ros-operator-install
Executable file
36
framework/files/usr/sbin/ros-operator-install
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/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}"
|
||||
clusterTargets:
|
||||
- clusterName: local
|
||||
EOF
|
||||
}
|
||||
|
||||
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/os/rancheros-operator-chart.tgz
|
||||
|
||||
while ! manifest | kubectl apply -f -; do
|
||||
sleep 15
|
||||
done
|
15
framework/files/usr/sbin/ros-populate-node-labels
Executable file
15
framework/files/usr/sbin/ros-populate-node-labels
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
. /usr/lib/rancheros-release
|
||||
|
||||
IMAGE=$(echo "$IMAGE" | sed 's![/:]!-!g')
|
||||
for i in rke2 k3s; do
|
||||
mkdir -p /etc/rancher/$i/config.yaml.d
|
||||
cat > /etc/rancher/$i/config.yaml.d/99-rancheros-labels.yaml << EOF
|
||||
node-label+:
|
||||
- rancheros.cattle.io/image=${IMAGE}
|
||||
- rancheros.cattle.io/tag=${IMAGE_TAG}
|
||||
- plan.upgrade.cattle.io/os-upgrader=${IMAGE}
|
||||
EOF
|
||||
done
|
@@ -1,12 +1,12 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
HOST_DIR="${HOST_DIR:-/host}"
|
||||
RELEASE_FILE="${RELEASE_FILE:-/etc/os-release}"
|
||||
RELEASE_FILE="${RELEASE_FILE:-/usr/lib/rancheros-release}"
|
||||
|
||||
if [ "$FORCE" != "true" ]; then
|
||||
if diff $RELEASE_FILE ${HOST_DIR}${RELEASE_FILE} >/dev/null; then
|
||||
echo Update to date with
|
||||
cat /etc/os-release
|
||||
cat ${RELEASE_FILE}
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
Reference in New Issue
Block a user