diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 09af556..ee400a9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,7 +5,7 @@ We're so glad you're here. ### Important Resources -#### bugs: [https://github.com/tinkerbell/sandbox/issues](https://github.com/tinkerbell/sandbox/issues) +#### bugs: [https://github.com/tinkerbell/playground/issues](https://github.com/tinkerbell/playground/issues) ### Code of Conduct @@ -34,19 +34,19 @@ If you have `direnv` installed the included `.envrc` will make that step automat ### How to Submit Change Requests -Please submit change requests and / or features via [Issues](https://github.com/tinkerbell/sandbox/issues). +Please submit change requests and / or features via [Issues](https://github.com/tinkerbell/playground/issues). There's no guarantee it'll be changed, but you never know until you try. We'll try to add comments as soon as possible, though. ### How to Report a Bug -Bugs are problems in code, in the functionality of an application or in its UI design; you can submit them through [Issues](https://github.com/tinkerbell/sandbox/issues). +Bugs are problems in code, in the functionality of an application or in its UI design; you can submit them through [Issues](https://github.com/tinkerbell/playground/issues). ## Code Style Guides ## Implementation Details -The Sandbox is organized into two high level components: `infrastructure` and `stack`. +The Playground is organized into two high level components: `infrastructure` and `stack`. - The `infrastructure` component is responsible for provisioning the infrastructure required to run the Tinkerbell stack. `Vagrant` and `Terraform` are the supported infrastructure tools. - The `stack` component is responsible for provisioning the Tinkerbell stack itself. `Docker Compose` and `Helm` are the supported stack tools. diff --git a/README.md b/README.md index 36c4d05..93f85c2 100644 --- a/README.md +++ b/README.md @@ -37,4 +37,4 @@ By default the Vagrant quickstart guides automatically install Ubuntu on the VM kubectl apply -f my-custom-workflow.yaml ``` -1. Restart the machine to provision (if using the vagrant sandbox test machine this is done by running `vagrant destroy -f machine1 && vagrant up machine1`) +1. Restart the machine to provision (if using the vagrant playground test machine this is done by running `vagrant destroy -f machine1 && vagrant up machine1`) diff --git a/docs/quickstarts/KUBERNETES.md b/docs/quickstarts/KUBERNETES.md index 5b571b5..15207f1 100644 --- a/docs/quickstarts/KUBERNETES.md +++ b/docs/quickstarts/KUBERNETES.md @@ -43,7 +43,7 @@ You will need to bring your own hardware (machine) for this guide. 1. Download and convert a cloud image to a raw image ```bash - kubectl apply -n tink-system -f https://raw.githubusercontent.com/tinkerbell/sandbox/main/vagrant/ubuntu-download.yaml + kubectl apply -n tink-system -f https://raw.githubusercontent.com/tinkerbell/playground/main/vagrant/ubuntu-download.yaml # This will download and convert the Ubuntu Jammy 22.04 cloud image. ``` diff --git a/docs/quickstarts/VAGRANTLVIRT.md b/docs/quickstarts/VAGRANTLVIRT.md index 0d5b1e8..eb78a43 100644 --- a/docs/quickstarts/VAGRANTLVIRT.md +++ b/docs/quickstarts/VAGRANTLVIRT.md @@ -37,7 +37,7 @@ This option will also create a VM and provision an OS onto it. ==> stack: Creating image (snapshot of base box volume). ==> stack: Creating domain with the following settings... ==> stack: -- Name: vagrant_stack - ==> stack: -- Description: Source: /home/tink/repos/tinkerbell/sandbox/vagrant/Vagrantfile + ==> stack: -- Description: Source: /home/tink/repos/tinkerbell/playground/vagrant/Vagrantfile ==> stack: -- Domain type: kvm ==> stack: -- Cpus: 2 ==> stack: -- Feature: acpi @@ -88,15 +88,15 @@ This option will also create a VM and provision an OS onto it. stack: Removing insecure key from the guest if it's present... stack: Key inserted! Disconnecting and reconnecting using new SSH key... ==> stack: Machine booted and ready! - ==> stack: Rsyncing folder: /home/tink/repos/tinkerbell/sandbox/vagrant/ => /sandbox/stack + ==> stack: Rsyncing folder: /home/tink/repos/tinkerbell/playground/vagrant/ => /playground/stack ==> stack: Configuring and enabling network interfaces... ==> stack: Running provisioner: shell... stack: Running: /tmp/vagrant-shell20231031-285946-1krhzm0.sh - stack: + main 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /sandbox/stack/ 192.168.56.5 0.4.2 eth1 1.28.3 v5.6.0 '' + stack: + main 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /playground/stack/ 192.168.56.5 0.4.2 eth1 1.28.3 v5.6.0 '' stack: + local host_ip=192.168.56.4 stack: + local worker_ip=192.168.56.43 stack: + local worker_mac=08:00:27:9e:f5:3a - stack: + local manifests_dir=/sandbox/stack/ + stack: + local manifests_dir=/playground/stack/ stack: + local loadbalancer_ip=192.168.56.5 stack: + local helm_chart_version=0.4.2 stack: + local loadbalancer_interface=eth1 @@ -228,11 +228,11 @@ This option will also create a VM and provision an OS onto it. 100 47.5M 100 47.5M 0 0 24.8M 0 0:00:01 0:00:01 --:--:-- 37.9M stack: + chmod +x ./kubectl stack: + mv ./kubectl /usr/local/bin/kubectl - stack: + run_helm 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /sandbox/stack/ 192.168.56.5 0.4.2 eth1 v5.6.0 + stack: + run_helm 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /playground/stack/ 192.168.56.5 0.4.2 eth1 v5.6.0 stack: + local host_ip=192.168.56.4 stack: + local worker_ip=192.168.56.43 stack: + local worker_mac=08:00:27:9e:f5:3a - stack: + local manifests_dir=/sandbox/stack/ + stack: + local manifests_dir=/playground/stack/ stack: + local loadbalancer_ip=192.168.56.5 stack: + local helm_chart_version=0.4.2 stack: + local loadbalancer_interface=eth1 @@ -319,10 +319,10 @@ This option will also create a VM and provision an OS onto it. stack: STATUS: deployed stack: REVISION: 1 stack: TEST SUITE: None - stack: + apply_manifests 192.168.56.43 08:00:27:9e:f5:3a /sandbox/stack/ 192.168.56.5 tink-system + stack: + apply_manifests 192.168.56.43 08:00:27:9e:f5:3a /playground/stack/ 192.168.56.5 tink-system stack: + local worker_ip=192.168.56.43 stack: + local worker_mac=08:00:27:9e:f5:3a - stack: + local manifests_dir=/sandbox/stack/ + stack: + local manifests_dir=/playground/stack/ stack: + local host_ip=192.168.56.5 stack: + local namespace=tink-system stack: + disk_device=/dev/sda @@ -349,8 +349,8 @@ This option will also create a VM and provision an OS onto it. stack: + kubectl apply -n tink-system -f /tmp/manifests.yaml stack: hardware.tinkerbell.org/machine1 created stack: template.tinkerbell.org/ubuntu-jammy created - stack: workflow.tinkerbell.org/sandbox-workflow created - stack: + kubectl apply -n tink-system -f /sandbox/stack//ubuntu-download.yaml + stack: workflow.tinkerbell.org/playground-workflow created + stack: + kubectl apply -n tink-system -f /playground/stack//ubuntu-download.yaml stack: configmap/download-image created stack: job.batch/download-ubuntu-jammy created stack: + kubectl_for_vagrant_user @@ -404,7 +404,7 @@ This option will also create a VM and provision an OS onto it. Bringing machine 'machine1' up with 'libvirt' provider... ==> machine1: Creating domain with the following settings... ==> machine1: -- Name: vagrant_machine1 - ==> machine1: -- Description: Source: /home/tink/repos/tinkerbell/sandbox/vagrant/Vagrantfile + ==> machine1: -- Description: Source: /home/tink/repos/tinkerbell/playground/vagrant/Vagrantfile ==> machine1: -- Domain type: kvm ==> machine1: -- Cpus: 2 ==> machine1: -- Feature: acpi @@ -442,7 +442,7 @@ This option will also create a VM and provision an OS onto it. # watch for the workflow to complete # once the workflow is complete (see the expected output below for completion), move on to the next step - kubectl get -n tink-system workflow sandbox-workflow --watch + kubectl get -n tink-system workflow playground-workflow --watch ```
@@ -450,21 +450,21 @@ This option will also create a VM and provision an OS onto it. ```bash NAME TEMPLATE STATE - sandbox-workflow ubuntu-jammy STATE_PENDING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_SUCCESS + playground-workflow ubuntu-jammy STATE_PENDING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_SUCCESS ```
diff --git a/docs/quickstarts/VAGRANTVBOX.md b/docs/quickstarts/VAGRANTVBOX.md index fb3e08c..b9b311a 100644 --- a/docs/quickstarts/VAGRANTVBOX.md +++ b/docs/quickstarts/VAGRANTVBOX.md @@ -14,8 +14,8 @@ This option will also create a VM and provision an OS onto it. 1. Clone this repository ```bash - git clone https://github.com/tinkerbell/sandbox.git - cd sandbox + git clone https://github.com/tinkerbell/playground.git + cd playground ``` 1. Start the stack @@ -69,14 +69,14 @@ This option will also create a VM and provision an OS onto it. stack: VirtualBox Version: 7.0 ==> stack: Configuring and enabling network interfaces... ==> stack: Mounting shared folders... - stack: /sandbox/stack => ~/tinkerbell/sandbox/vagrant + stack: /playground/stack => ~/tinkerbell/playground/vagrant ==> stack: Running provisioner: shell... stack: Running: /var/folders/xt/8w5g0fv54tj4njvjhk_0_25r0000gr/T/vagrant-shell20231031-54683-k09nai.sh - stack: + main 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /sandbox/stack/ 192.168.56.5 0.4.2 eth1 1.28.3 v5.6.0 '' + stack: + main 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /playground/stack/ 192.168.56.5 0.4.2 eth1 1.28.3 v5.6.0 '' stack: + local host_ip=192.168.56.4 stack: + local worker_ip=192.168.56.43 stack: + local worker_mac=08:00:27:9e:f5:3a - stack: + local manifests_dir=/sandbox/stack/ + stack: + local manifests_dir=/playground/stack/ stack: + local loadbalancer_ip=192.168.56.5 stack: + local helm_chart_version=0.4.2 stack: + local loadbalancer_interface=eth1 @@ -214,11 +214,11 @@ This option will also create a VM and provision an OS onto it. 100 47.5M 100 47.5M 0 0 21.3M 0 0:00:02 0:00:02 --:--:-- 31.6M stack: + chmod +x ./kubectl stack: + mv ./kubectl /usr/local/bin/kubectl - stack: + run_helm 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /sandbox/stack/ 192.168.56.5 0.4.2 eth1 v5.6.0 + stack: + run_helm 192.168.56.4 192.168.56.43 08:00:27:9e:f5:3a /playground/stack/ 192.168.56.5 0.4.2 eth1 v5.6.0 stack: + local host_ip=192.168.56.4 stack: + local worker_ip=192.168.56.43 stack: + local worker_mac=08:00:27:9e:f5:3a - stack: + local manifests_dir=/sandbox/stack/ + stack: + local manifests_dir=/playground/stack/ stack: + local loadbalancer_ip=192.168.56.5 stack: + local helm_chart_version=0.4.2 stack: + local loadbalancer_interface=eth1 @@ -304,10 +304,10 @@ This option will also create a VM and provision an OS onto it. stack: STATUS: deployed stack: REVISION: 1 stack: TEST SUITE: None - stack: + apply_manifests 192.168.56.43 08:00:27:9e:f5:3a /sandbox/stack/ 192.168.56.5 tink-system + stack: + apply_manifests 192.168.56.43 08:00:27:9e:f5:3a /playground/stack/ 192.168.56.5 tink-system stack: + local worker_ip=192.168.56.43 stack: + local worker_mac=08:00:27:9e:f5:3a - stack: + local manifests_dir=/sandbox/stack/ + stack: + local manifests_dir=/playground/stack/ stack: + local host_ip=192.168.56.5 stack: + local namespace=tink-system stack: + disk_device=/dev/sda @@ -333,8 +333,8 @@ This option will also create a VM and provision an OS onto it. stack: + kubectl apply -n tink-system -f /tmp/manifests.yaml stack: hardware.tinkerbell.org/machine1 created stack: template.tinkerbell.org/ubuntu-jammy created - stack: workflow.tinkerbell.org/sandbox-workflow created - stack: + kubectl apply -n tink-system -f /sandbox/stack//ubuntu-download.yaml + stack: workflow.tinkerbell.org/playground-workflow created + stack: + kubectl apply -n tink-system -f /playground/stack//ubuntu-download.yaml stack: configmap/download-image created stack: job.batch/download-ubuntu-jammy created stack: + kubectl_for_vagrant_user @@ -435,7 +435,7 @@ This option will also create a VM and provision an OS onto it. # watch for the workflow to complete # once the workflow is complete (see the example output below for completion), move on to the next step - kubectl get -n tink-system workflow sandbox-workflow --watch + kubectl get -n tink-system workflow playground-workflow --watch ```
@@ -443,21 +443,21 @@ This option will also create a VM and provision an OS onto it. ```bash NAME TEMPLATE STATE - sandbox-workflow ubuntu-jammy STATE_PENDING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_RUNNING - sandbox-workflow ubuntu-jammy STATE_SUCCESS + playground-workflow ubuntu-jammy STATE_PENDING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_RUNNING + playground-workflow ubuntu-jammy STATE_SUCCESS ```
diff --git a/vagrant/.env b/vagrant/.env index 5f508e3..539dedc 100644 --- a/vagrant/.env +++ b/vagrant/.env @@ -6,5 +6,7 @@ MACHINE1_MAC=08:00:27:9e:f5:3a # https://github.com/tinkerbell/charts/pkgs/container/charts%2Fstack HELM_CHART_VERSION=0.4.3 -KUBECTL_VERSION=1.28.3 +KUBECTL_VERSION=1.27.12 +# K3D version v5.6.3 doesn't work with host networking. https://github.com/k3d-io/k3d/issues/964 K3D_VERSION=v5.6.0 +HELM_VERSION=v3.14.4 diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile index 1f31080..ffc1aa4 100644 --- a/vagrant/Vagrantfile +++ b/vagrant/Vagrantfile @@ -18,8 +18,9 @@ MACHINE1_MAC = (ENV["MACHINE1_MAC"] || "08:00:27:9E:F5:3A").downcase HELM_CHART_VERSION = ENV["HELM_CHART_VERSION"] || "0.4.0" KUBECTL_VERSION = ENV["KUBECTL_VERSION"] || "1.28.3" K3D_VERSION = ENV["K3D_VERSION"] || "v5.6.0" +HELM_VERSION = ENV["HELM_VERSION"] || "v3.14.4" HELM_LOADBALANCER_INTERFACE = ENV["HELM_LOADBALANCER_INTERFACE"] || "eth1" -DEST_DIR_BASE = "/sandbox/stack/" +DEST_DIR_BASE = "/playground/stack/" Vagrant.configure("2") do |config| config.vm.provider :libvirt do |libvirt| @@ -46,7 +47,7 @@ Vagrant.configure("2") do |config| override.vm.synced_folder "", DEST_DIR_BASE, type: "rsync" end - stack.vm.provision :shell, path: "setup.sh", args: [PROVISIONER_IP, MACHINE1_IP, MACHINE1_MAC, DEST_DIR_BASE, LOADBALANCER_IP, HELM_CHART_VERSION, HELM_LOADBALANCER_INTERFACE, KUBECTL_VERSION, K3D_VERSION, GATEWAY_IP] + stack.vm.provision :shell, path: "setup.sh", args: [PROVISIONER_IP, MACHINE1_IP, MACHINE1_MAC, DEST_DIR_BASE, LOADBALANCER_IP, HELM_CHART_VERSION, HELM_LOADBALANCER_INTERFACE, KUBECTL_VERSION, K3D_VERSION, HELM_VERSION, GATEWAY_IP] end config.vm.define :machine1, autostart: false do |machine1| diff --git a/vagrant/hardware.yaml b/vagrant/hardware.yaml index 666e1d8..b8a719f 100644 --- a/vagrant/hardware.yaml +++ b/vagrant/hardware.yaml @@ -7,7 +7,7 @@ spec: - device: $DISK_DEVICE metadata: facility: - facility_code: sandbox + facility_code: playground instance: hostname: "machine1" id: "$TINKERBELL_CLIENT_MAC" diff --git a/vagrant/ipxe.efi b/vagrant/ipxe.efi deleted file mode 100644 index fd4c0b2..0000000 Binary files a/vagrant/ipxe.efi and /dev/null differ diff --git a/vagrant/setup.sh b/vagrant/setup.sh index 0160a22..f4ab04d 100644 --- a/vagrant/setup.sh +++ b/vagrant/setup.sh @@ -17,7 +17,7 @@ install_kubectl() { } install_helm() { - helm_ver=v3.9.4 + local helm_ver=$1 curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh @@ -47,7 +47,8 @@ install_k3d() { } start_k3d() { - k3d cluster create --network host --no-lb --k3s-arg "--disable=traefik,servicelb" --k3s-arg "--kube-apiserver-arg=feature-gates=MixedProtocolLBService=true" --host-pid-mode + k3d cluster create --network host --no-lb --k3s-arg "--disable=traefik,servicelb,metrics-server,local-storage" + mkdir -p ~/.kube/ k3d kubeconfig get -a >~/.kube/config until kubectl wait --for=condition=Ready nodes --all --timeout=600s; do sleep 1; done @@ -117,10 +118,11 @@ run_helm() { local loadbalancer_interface=$7 local k3d_version=$8 local namespace="tink-system" + local helm_version=$9 install_k3d "$k3d_version" start_k3d - install_helm + install_helm "$helm_version" helm_install_tink_stack "$namespace" "$helm_chart_version" "$loadbalancer_interface" "$loadbalancer_ip" apply_manifests "$worker_ip" "$worker_mac" "$manifests_dir" "$loadbalancer_ip" "$namespace" kubectl_for_vagrant_user @@ -136,6 +138,7 @@ main() { local loadbalancer_interface="$7" local kubectl_version="$8" local k3d_version="$9" + local helm_version="${10}" update_apt install_docker @@ -143,7 +146,7 @@ main() { # Needed after iPXE increased the default TCP window size to 2MB. sudo ethtool -K eth1 tx off sg off tso off install_kubectl "$kubectl_version" - run_helm "$host_ip" "$worker_ip" "$worker_mac" "$manifests_dir" "$loadbalancer_ip" "$helm_chart_version" "$loadbalancer_interface" "$k3d_version" + run_helm "$host_ip" "$worker_ip" "$worker_mac" "$manifests_dir" "$loadbalancer_ip" "$helm_chart_version" "$loadbalancer_interface" "$k3d_version" "$helm_version" } if [[ ${BASH_SOURCE[0]} == "$0" ]]; then diff --git a/vagrant/template.yaml b/vagrant/template.yaml index cb16360..9eb9f42 100644 --- a/vagrant/template.yaml +++ b/vagrant/template.yaml @@ -1,29 +1,29 @@ apiVersion: "tinkerbell.org/v1alpha1" kind: Template metadata: - name: ubuntu-focal + name: ubuntu spec: data: | version: "0.1" - name: ubuntu_Focal + name: ubuntu global_timeout: 1800 tasks: - - name: "os-installation" + - name: "os installation" worker: "{{.device_1}}" volumes: - /dev:/dev - /dev/console:/dev/console - /lib/firmware:/lib/firmware:ro actions: - - name: "stream-ubuntu-image" - image: quay.io/tinkerbell/actions/image2disk:v1.0.0 + - name: "stream ubuntu image" + image: quay.io/tinkerbell/actions/image2disk:latest timeout: 600 environment: DEST_DISK: {{ index .Hardware.Disks 0 }} IMG_URL: "http://$TINKERBELL_HOST_IP:8080/jammy-server-cloudimg-amd64.raw.gz" COMPRESSED: true - name: "grow-partition" - image: quay.io/tinkerbell/actions/cexec:v1.0.0 + image: quay.io/tinkerbell/actions/cexec:latest timeout: 90 environment: BLOCK_DEVICE: {{ index .Hardware.Disks 0 }}1 @@ -31,8 +31,8 @@ spec: CHROOT: y DEFAULT_INTERPRETER: "/bin/sh -c" CMD_LINE: "growpart {{ index .Hardware.Disks 0 }} 1 && resize2fs {{ index .Hardware.Disks 0 }}1" - - name: "install-openssl" - image: quay.io/tinkerbell/actions/cexec:v1.0.0 + - name: "install openssl" + image: quay.io/tinkerbell/actions/cexec:latest timeout: 90 environment: BLOCK_DEVICE: {{ index .Hardware.Disks 0 }}1 @@ -40,8 +40,8 @@ spec: CHROOT: y DEFAULT_INTERPRETER: "/bin/sh -c" CMD_LINE: "apt -y update && apt -y install openssl" - - name: "create-user" - image: quay.io/tinkerbell/actions/cexec:v1.0.0 + - name: "create user" + image: quay.io/tinkerbell/actions/cexec:latest timeout: 90 environment: BLOCK_DEVICE: {{ index .Hardware.Disks 0 }}1 @@ -49,8 +49,8 @@ spec: CHROOT: y DEFAULT_INTERPRETER: "/bin/sh -c" CMD_LINE: "useradd -p $(openssl passwd -1 tink) -s /bin/bash -d /home/tink/ -m -G sudo tink" - - name: "enable-ssh" - image: quay.io/tinkerbell/actions/cexec:v1.0.0 + - name: "enable ssh" + image: quay.io/tinkerbell/actions/cexec:latest timeout: 90 environment: BLOCK_DEVICE: {{ index .Hardware.Disks 0 }}1 @@ -58,8 +58,8 @@ spec: CHROOT: y DEFAULT_INTERPRETER: "/bin/sh -c" CMD_LINE: "ssh-keygen -A; systemctl enable ssh.service; echo 'PasswordAuthentication yes' > /etc/ssh/sshd_config.d/60-cloudimg-settings.conf" - - name: "disable-apparmor" - image: quay.io/tinkerbell/actions/cexec:v1.0.0 + - name: "disable apparmor" + image: quay.io/tinkerbell/actions/cexec:latest timeout: 90 environment: BLOCK_DEVICE: {{ index .Hardware.Disks 0 }}1 @@ -67,8 +67,8 @@ spec: CHROOT: y DEFAULT_INTERPRETER: "/bin/sh -c" CMD_LINE: "systemctl disable apparmor; systemctl disable snapd" - - name: "write-netplan" - image: quay.io/tinkerbell/actions/writefile:v1.0.0 + - name: "write netplan" + image: quay.io/tinkerbell/actions/writefile:latest timeout: 90 environment: DEST_DISK: {{ index .Hardware.Disks 0 }}1 @@ -87,14 +87,14 @@ spec: GID: 0 MODE: 0644 DIRMODE: 0755 - - name: "kexec" + - name: "kexec into os" image: ghcr.io/jacobweinstock/waitdaemon:latest timeout: 90 pid: host environment: BLOCK_DEVICE: {{ formatPartition ( index .Hardware.Disks 0 ) 1 }} FS_TYPE: ext4 - IMAGE: quay.io/tinkerbell/actions/kexec:v1.0.0 + IMAGE: quay.io/tinkerbell/actions/kexec:latest WAIT_SECONDS: 10 volumes: - /var/run/docker.sock:/var/run/docker.sock diff --git a/vagrant/workflow.yaml b/vagrant/workflow.yaml index 8cd9ec8..c8f966e 100644 --- a/vagrant/workflow.yaml +++ b/vagrant/workflow.yaml @@ -1,9 +1,9 @@ apiVersion: "tinkerbell.org/v1alpha1" kind: Workflow metadata: - name: sandbox-workflow + name: playground-workflow spec: - templateRef: ubuntu-focal + templateRef: ubuntu hardwareRef: machine1 hardwareMap: device_1: $TINKERBELL_CLIENT_MAC