aboutgitcodelistschat:MatrixIRC
path: root/web/demo_mknod_podman.sh
blob: 721837471a21801d1b019b6993a7397d2048389c (plain) (tree)
1
2
3
4
5




                  

















































                                                                                


                         














                                                                      
#!/bin/sh -ef


SESSION=dmknod
VIDEO=seitan-mknod
source web/common.sh

split_panes() {
	tmux split-window -h
	tmux send-keys -t $SESSION 'PS1="$ " && clear' ENTER
}

SCRIPT_podman_no_seitan='
sudo podman run -ti \
	--runtime /usr/bin/crun -u 1000 \
	--rm --cap-drop ALL \
	quay.io/fedora/fedora \
	mknod /dev/lol c 1 7
##
'

SCRIPT_cooker='
clear
cat demo/mknod.hjson
###
clear
./seitan-cooker demo/mknod.hjson demo/mknod.gluten demo/mknod.bpf
###
clear
'

SCRIPT_seitan='
sudo ./seitan -s /tmp/seitan.sock -i demo/mknod.gluten
##
'

SCRIPT_podman_seitan="
sudo podman run -ti --runtime /usr/bin/crun -u 1000 --rm  --cap-drop ALL \\
        --annotation run.oci.seccomp_bpf_data=\"$(base64 -w0 demo/mknod.bpf)\" \
        --annotation run.oci.seccomp.receiver=/tmp/seitan.sock \\
	quay.io/fedora/fedora \\
	sh -c 'mknod /dev/lol c 1 7 && ls /dev/lol'
##
"

# Pre-pull image before starting the recording
sudo podman pull quay.io/fedora/fedora

setup_common

tmux send-keys -t $SESSION -l 'reset'
tmux send-keys -t $SESSION C-m
tmux rename-window -t $SESSION 'Seitan demo: run mknod in container'
sleep 10

PSEITAN=$(get_first_pane)
PPODMAN=$((PSEITAN+1))

asciinema rec --overwrite ${VIDEO}.cast -c 'tmux attach -t $SESSION' &
tmux refresh-client

script podman_no_seitan
script cooker

# Start seitan and podman
split_panes
tmux select-pane -t $PSEITAN
script seitan
tmux select-pane -t $PPODMAN
script podman_seitan

teardown_common
gzip -fk9 ${VIDEO}.cast