Page MenuHomeVyOS Platform
Authored By
penetal
Nov 3 2024, 4:28 PM
Size
2 KB
Referenced Files
None
Subscribers
None

Makefile

SHELL := bash
# .SHELLFLAGS := -eu -x -o pipefail -c
.SHELLFLAGS := -eu -o pipefail -c
.ONESHELL:
.DELETE_ON_ERROR:
MAKEFLAGS += --warn-undefined-variables
MAKEFLAGS += --no-builtin-rules
ROOT_DIR := $(CURDIR)
ISO_URL := https://github.com/vyos/vyos-nightly-build/releases/download/1.5-rolling-202411030007/vyos-1.5-rolling-202411030007-generic-amd64.iso
.PHONY: default
default: curl
.PHONY: container
container: container
.PHONY: curl
curl: container
curl -k --request POST 'https://localhost:8443/configure' --form data='{ "op": "set", "path": [ "service", "ntp", "server", "time1.vyos.net", "prefer" ] }' --form key='MySuperSecretKey'
vyos.iso:
@echo -e "\n\n###########################################################################"
echo Make vyos.iso
wget -O vyos.iso "${ISO_URL}"
touch vyos.iso
filesystem.squashfs: vyos.iso
@echo -e "\n\n###########################################################################"
echo Make filesystem.squashfs
rm -f filesystem.squashfs
xorriso -osirrox on -indev vyos.iso -extract /live/filesystem.squashfs filesystem.squashfs
touch filesystem.squashfs
container-img: filesystem.squashfs
@echo -e "\n\n###########################################################################"
echo Make vyos-unsquashfs
sudo rm -rf vyos-unsquashfs || true
mkdir -p vyos-unsquashfs
sudo unsquashfs -f -d "vyos-unsquashfs" -excludes filesystem.squashfs /dev
sudo touch vyos-unsquashfs
sudo tar -C vyos-unsquashfs -c . | docker import - "vyos:latest"
touch container-img
sudo rm -rf vyos-unsquashfs
container: container-img container-setup-api.vbash
@echo -e "\n\n###########################################################################"
echo Make container
set -x
until [ -z "$$(docker ps -f "name=vyos" -q)" ]; do
docker stop vyos
sleep 5
done
bash -c "touch container; docker run --rm --name vyos --privileged --network=bridge -p 8443:443 "vyos:latest" /sbin/init; rm -f container" &
sleep 5
s=5; for i in {1..5}; do [ -n "$$(docker ps -f "name=vyos" -q)" ] && s=0 && break || s=$$? && sleep 5; done; [ $$s -eq 0 ]
set +x
docker cp container-setup-api.vbash vyos:/container-setup-api.vbash
docker exec -t vyos chmod +x /container-setup-api.vbash
docker exec -t vyos /container-setup-api.vbash
docker inspect --format json --type container vyos | jq -r '.[].NetworkSettings.IPAddress'

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
904950
Default Alt Text
Makefile (2 KB)

Event Timeline