-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-validation-userdata.yaml
More file actions
51 lines (43 loc) Β· 1.69 KB
/
test-validation-userdata.yaml
File metadata and controls
51 lines (43 loc) Β· 1.69 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
#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:demo-stable"
# 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..."
docker pull ghcr.io/urmanac/cozystack-assets/talos:demo-stable || {
echo "β Failed to pull ghcr.io/urmanac/cozystack-assets/talos:demo-stable"
exit 1
}
# Extract Talos installer for kexec transition
echo "π Extracting Talos installer..."
docker create --name talos-extract "ghcr.io/urmanac/cozystack-assets/talos:demo-stable"
mkdir -p /opt/talos-installer
echo "β
Boot-to-Talos preparation complete"
runcmd:
- /opt/boot-to-talos.sh
final_message: "Ubuntu β Talos transition initiated"