Skip to content

Instantly share code, notes, and snippets.

@lukasmrtvy
Created May 11, 2023 12:15
Show Gist options
  • Save lukasmrtvy/1b7937978c5ed959d40f8e0685818d5a to your computer and use it in GitHub Desktop.
Save lukasmrtvy/1b7937978c5ed959d40f8e0685818d5a to your computer and use it in GitHub Desktop.
cat << EOF > config.bu
variant: fcos
version: 1.4.0
passwd:
users:
- name: sleeper
uid: 1001
storage:
links:
- path: /home/sleeper/.config/systemd/user/sockets.target.wants/podman.socket
user:
name: sleeper
group:
name: sleeper
target: /usr/lib/systemd/user/podman.socket
hard: false
directories:
- path: /home/sleeper/.config
mode: 0755
user:
name: sleeper
group:
name: sleeper
- path: /home/sleeper/.config/systemd
mode: 0755
user:
name: sleeper
group:
name: sleeper
- path: /home/sleeper/.config/systemd/user
mode: 0755
user:
name: sleeper
group:
name: sleeper
- path: /home/sleeper/.config/systemd/user/sockets.target.wants
mode: 0755
user:
name: sleeper
group:
name: sleeper
files:
- path: /var/lib/systemd/linger/sleeper
mode: 0644
systemd:
units:
- name: wait.service
enabled: true
contents: |
[Unit]
Wants=network.target
After=network-online.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'while true; do podman -r --url unix:/run/user/1001/podman/podman.sock info && break; done'
[Install]
WantedBy=multi-user.target
- name: run.service
enabled: true
contents: |
[Unit]
Wants=network.target wait.service
After=network-online.target wait.service
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'seq 20 | xargs -Iz podman -r --url unix:/run/user/1001/podman/podman.sock run -d docker.io/library/nginx'
[Install]
WantedBy=multi-user.target
- name: stats.service
enabled: true
contents: |
[Unit]
Wants=network.target wait.service
After=network-online.target wait.service run.service
[Service]
ExecStart=/bin/podman -r --url unix:/run/user/1001/podman/podman.sock stats
[Install]
WantedBy=multi-user.target
EOF
podman run -i --rm quay.io/coreos/butane:release --pretty --strict < config.bu > config.ign
aws --profile apify-sandbox ec2 run-instances \
--region us-east-1 \
--image-id ami-081f29ca9a2a16cec \
--instance-type m6i.4xlarge \
--key-name test \
--user-data "file://config.ign" \
--block-device-mappings "VirtualName=/dev/xvda,DeviceName=/dev/xvda,Ebs={VolumeSize=64}"
ssh -i ~/.ssh/podman.pem core@52.87.225.201
sudo -s
printf "%s\n" "FROM busybox" "RUN sleep 60" > /home/sleeper/Dockerfile
podman -r --url unix:/run/user/1001/podman/podman.sock build -f /home/sleeper/Dockerfile --no-cache .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment