constellation/docs/screencasts/docker/github-readme.expect
Fabian Kammel 566924caf8
docs: embedd asciinema casts (#1154)
Signed-off-by: Fabian Kammel <fk@edgeless.systems>
Co-authored-by: Moritz Eckert <m1gh7ym0@gmail.com>
Co-authored-by: Thomas Tendyck <tt@edgeless.systems>
Co-authored-by: 3u13r <lc@edgeless.systems>
2023-03-11 00:13:32 +01:00

89 lines
2.3 KiB
Plaintext

#!/usr/bin/expect -f
# Note: Expects to be able to run 'sudo install' without a password
set timeout -1
set send_human {0.05 0 1 0.05 0.3}
set CTRLC \003
set CTRLX \030
set record_name [lindex $argv 0];
proc expect_prompt {} {
# This matches the trailing 0m of our ANSI control sequence. See PS1 in Dockerfile.
expect "0m "
}
proc run_command {cmd} {
send -h "$cmd"
send "\r"
expect -timeout 1
}
# Start recording
spawn asciinema rec --overwrite /recordings/github-readme.cast
send "\r"
expect_prompt
run_command "# Step 1: Create IAM configuration"
expect_prompt
run_command "constellation iam create gcp --generate-config --projectID constellation-331613 --serviceAccountID constellation-demo --zone europe-west3-b"
expect -re "y\/n"
send "y"
send "\r"
expect_prompt
# TODO: Delete step once #1149 released
run_command "# Step 2: Fill in configuration"
expect_prompt
run_command "yq '.provider.gcp.project = \"constellation-331613\"' -i constellation-conf.yaml"
expect_prompt
run_command "yq '.provider.gcp.zone = \"europe-west3-b\"' -i constellation-conf.yaml"
expect_prompt
run_command "yq '.provider.gcp.region = \"europe-west3\"' -i constellation-conf.yaml"
expect_prompt
run_command "cat constellation-conf.yaml | head -n15"
expect_prompt
run_command "# Step 3: Create cloud environment"
expect_prompt
run_command "constellation create --control-plane-nodes 3 --worker-nodes 2"
expect -re "y\/n"
send "y"
send "\r"
expect_prompt
run_command "# Step 4: Initialize Constellation"
expect_prompt
run_command "constellation init"
expect_prompt
run_command "# Wait for cluster to finish bootstrapping..."
expect_prompt
# Without a sleep we only see a single node, not 5.
run_command "sleep 300"
expect_prompt
run_command "# Step 5: Connect to Constellation"
expect_prompt
run_command "export KUBECONFIG=/constellation/constellation-admin.conf"
expect_prompt
run_command "kubectl get nodes"
run_command "# Step 6: Delete Constellation cluster"
expect_prompt
run_command "constellation terminate"
expect -re "y\/n"
send "y"
send "\r"
expect_prompt
run_command "# Step 7: Remove IAM resources"
expect_prompt
run_command "cd constellation-iam-terraform"
expect_prompt
run_command "terraform apply -destroy -auto-approve"
expect -timeout 25
run_command "# All resources are cleaned up."
# Stop recording
send "exit"