-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfinal-validation-userdata.yaml
More file actions
55 lines (46 loc) Β· 2.02 KB
/
final-validation-userdata.yaml
File metadata and controls
55 lines (46 loc) Β· 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#cloud-config
write_files:
- path: /opt/boot-to-talos.sh
permissions: "0755"
content: |
#!/bin/bash
set -euo pipefail
echo "π Starting boot-to-Talos transition..."
# Install Docker for image operations
apt-get update
apt-get install -y docker.io
systemctl start docker
# Configure Docker to use registry caches (critical - no direct internet from private subnets)
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << DOCKER_EOF
{
"registry-mirrors": ["http://10.10.1.100:5054"],
"insecure-registries": ["10.10.1.100:5054"]
}
DOCKER_EOF
systemctl restart docker
# Pull custom Talos image via GHCR registry cache (port 5054)
echo "π¦ Pulling custom Talos image via bastion cache: 10.10.1.100:5054"
echo "π Image: ghcr.io/urmanac/cozystack-assets/talos/cozystack-spin-tailscale/talos:latest"
# Pull from registry cache (nodes have no direct internet - critical)
echo "π Testing registry cache access..."
curl -f http://10.10.1.100:5054/v2/ || {
echo "β Registry cache not accessible at 10.10.1.100:5054"
exit 1
}
echo "π¦ Pulling custom Talos image..."
# Pull via registry cache since nodes have no direct internet
docker pull 10.10.1.100:5054/urmanac/cozystack-assets/talos/cozystack-spin-tailscale/talos:latest || {
echo "β Failed to pull from registry cache"
exit 1
}
# Tag for easier reference
docker tag 10.10.1.100:5054/urmanac/cozystack-assets/talos/cozystack-spin-tailscale/talos:latest ghcr.io/urmanac/cozystack-assets/talos/cozystack-spin-tailscale/talos:latest
# Extract Talos installer for kexec transition
echo "π Extracting Talos installer..."
docker create --name talos-extract "ghcr.io/urmanac/cozystack-assets/talos/cozystack-spin-tailscale/talos:latest"
mkdir -p /opt/talos-installer
echo "β
Boot-to-Talos preparation complete"
runcmd:
- /opt/boot-to-talos.sh
final_message: "Ubuntu β Talos transition initiated"