395 lines
8.8 KiB
Makefile
395 lines
8.8 KiB
Makefile
#==============================================================#
|
|
# File : Makefile
|
|
# Desc : vagrant shortcuts
|
|
# Ctime : 2023-07-29
|
|
# Mtime : 2026-01-20
|
|
# Path : vagrant/Makefile
|
|
# License : Apache-2.0 @ https://pigsty.io/docs/about/license/
|
|
# Copyright : 2018-2026 Ruohang Feng / Vonng (rh@vonng.com)
|
|
#==============================================================#
|
|
|
|
|
|
###############################################################
|
|
# Environment #
|
|
###############################################################
|
|
#export VM_SPEC='meta'
|
|
#export VM_IMAGE='bento/rockylinux-9'
|
|
#export VM_SCALE='1'
|
|
#export VM_PROVIDER='virtualbox'
|
|
export VAGRANT_EXPERIMENTAL=disks
|
|
|
|
###############################################################
|
|
# Management #
|
|
###############################################################
|
|
|
|
#------------------------------#
|
|
# default: launch vagrant vms
|
|
#------------------------------#
|
|
default: start
|
|
new: del up ssh
|
|
|
|
#------------------------------#
|
|
# dns
|
|
#------------------------------#
|
|
dns:
|
|
sudo ./dns
|
|
|
|
#------------------------------#
|
|
# add ssh config to ~/.ssh/
|
|
#------------------------------#
|
|
ssh:
|
|
./ssh
|
|
sshb:
|
|
./ssh oss
|
|
|
|
#------------------------------#
|
|
# Start & Up
|
|
#------------------------------#
|
|
start: up ssh
|
|
up:
|
|
vagrant up
|
|
|
|
#------------------------------#
|
|
# Stop & Halt
|
|
#------------------------------#
|
|
down: halt
|
|
dw: halt
|
|
halt:
|
|
vagrant halt
|
|
|
|
#------------------------------#
|
|
# destroy
|
|
#------------------------------#
|
|
clean: destroy
|
|
del: destroy
|
|
destroy:
|
|
vagrant destroy -f
|
|
nuke:
|
|
./nuke
|
|
|
|
#------------------------------#
|
|
# status
|
|
#------------------------------#
|
|
st: status
|
|
status:
|
|
vagrant status
|
|
list:
|
|
virsh list --all
|
|
|
|
#------------------------------#
|
|
# suspend & resume
|
|
#------------------------------#
|
|
pause: suspend
|
|
suspend:
|
|
vagrant suspend
|
|
resume:
|
|
vagrant resume
|
|
|
|
#------------------------------#
|
|
# libvirtd info
|
|
#------------------------------#
|
|
info:
|
|
virsh list
|
|
virsh net-list
|
|
virsh vol-list --pool=default
|
|
|
|
|
|
###############################################################
|
|
# Specifications #
|
|
###############################################################
|
|
|
|
#------------------------------#
|
|
# Building Environment #
|
|
#------------------------------#
|
|
oss: del vo up ssh
|
|
pro: del vp up ssh
|
|
rpm: del vr up ssh
|
|
deb: del vd up ssh
|
|
all: del va up ssh
|
|
|
|
vo: # oss building environment
|
|
./config oss
|
|
vp: # pro building environment
|
|
./config pro
|
|
vr: # rpm building environment
|
|
./config rpm
|
|
vd: # deb building environment
|
|
./config deb
|
|
va: # deb building environment
|
|
./config all
|
|
|
|
|
|
#------------------------------#
|
|
# meta, single node, the devbox
|
|
#------------------------------#
|
|
# simple 1-node devbox for quick setup, demonstration, and development
|
|
|
|
meta: del vmeta up ssh
|
|
meta7: del vmeta7 up ssh
|
|
meta8: del vmeta8 up ssh
|
|
meta9: del vmeta9 up ssh
|
|
meta11: del vmeta11 up ssh
|
|
meta12: del vmeta12 up ssh
|
|
meta20: del vmeta20 up ssh
|
|
meta22: del vmeta22 up ssh
|
|
meta24: del vmeta24 up ssh
|
|
|
|
vm: vmeta
|
|
vmeta:
|
|
./config meta
|
|
vmeta7:
|
|
./config meta el7
|
|
vmeta8:
|
|
./config meta el8
|
|
vmeta9:
|
|
./config meta el9
|
|
vmeta11:
|
|
./config meta debian11
|
|
vmeta12:
|
|
./config meta debian12
|
|
vmeta20:
|
|
./config meta ubuntu20
|
|
vmeta22:
|
|
./config meta ubuntu22
|
|
vmeta24:
|
|
./config meta ubuntu24
|
|
|
|
|
|
#------------------------------#
|
|
# full, four nodes, the sandbox
|
|
#------------------------------#
|
|
# full-featured 4-node sandbox for HA-testing & tutorial & practices
|
|
|
|
full: del vfull up ssh
|
|
full7: del vfull7 up ssh
|
|
full8: del vfull8 up ssh
|
|
full9: del vfull9 up ssh
|
|
full11: del vfull11 up ssh
|
|
full12: del vfull12 up ssh
|
|
full20: del vfull20 up ssh
|
|
full22: del vfull22 up ssh
|
|
full24: del vfull24 up ssh
|
|
|
|
vf: vfull
|
|
vfull:
|
|
./config full
|
|
vfull7:
|
|
./config full el7
|
|
vfull8:
|
|
./config full el8
|
|
vfull9:
|
|
./config full el9
|
|
vfull11:
|
|
./config full debian11
|
|
vfull12:
|
|
./config full debian12
|
|
vfull20:
|
|
./config full ubuntu20
|
|
vfull22:
|
|
./config full ubuntu22
|
|
vfull24:
|
|
./config full ubuntu24
|
|
|
|
#------------------------------#
|
|
# deci, 10 nodes, the 10-node
|
|
#------------------------------#
|
|
# complex 10-node simubox for small simulation
|
|
|
|
deci: del vdeci up ssh
|
|
deci8: del vdeci8 up ssh
|
|
deci9: del vdeci9 up ssh
|
|
deci10: del vdeci10 up ssh
|
|
deci12: del vdeci12 up ssh
|
|
deci13: del vdeci12 up ssh
|
|
deci22: del vdeci22 up ssh
|
|
deci24: del vdeci24 up ssh
|
|
|
|
vdc: vdeci
|
|
vdeci:
|
|
./config deci
|
|
vdeci8:
|
|
./config deci el8
|
|
vdeci9:
|
|
./config deci el9
|
|
vdeci10:
|
|
./config deci el10
|
|
vdeci12:
|
|
./config deci debian12
|
|
vdeci13:
|
|
./config deci debian13
|
|
vdeci22:
|
|
./config deci ubuntu22
|
|
vdeci24:
|
|
./config deci ubuntu24
|
|
|
|
#------------------------------#
|
|
# simu, 20 nodes, the simubox
|
|
#------------------------------#
|
|
# complex 20-node simubox for production simulation & complete testing
|
|
|
|
simu: del vsimu up ssh
|
|
simu7: del vsimu7 up ssh
|
|
simu8: del vsimu8 up ssh
|
|
simu9: del vsimu9 up ssh
|
|
simu11: del vsimu11 up ssh
|
|
simu12: del vsimu12 up ssh
|
|
simu20: del vsimu20 up ssh
|
|
simu22: del vsimu22 up ssh
|
|
simu24: del vsimu24 up ssh
|
|
|
|
vs: vsimu
|
|
vsimu:
|
|
./config simu
|
|
vsimu7:
|
|
./config simu el7
|
|
vsimu8:
|
|
./config simu el8
|
|
vsimu9:
|
|
./config simu el9
|
|
vsimu11:
|
|
./config simu debian11
|
|
vsimu12:
|
|
./config simu debian12
|
|
vsimu20:
|
|
./config simu ubuntu20
|
|
vsimu22:
|
|
./config simu ubuntu22
|
|
vsimu24:
|
|
./config simu ubuntu24
|
|
|
|
#------------------------------#
|
|
# dual, 2-node, seldom used
|
|
#------------------------------#
|
|
# 2-node environment
|
|
|
|
dual: del vdual up ssh
|
|
dual7: del vdual7 up ssh
|
|
dual8: del vdual8 up ssh
|
|
dual9: del vdual9 up ssh
|
|
dual11: del vdual11 up ssh
|
|
dual12: del vdual12 up ssh
|
|
dual20: del vdual20 up ssh
|
|
dual22: del vdual22 up ssh
|
|
|
|
vdual:
|
|
./config dual
|
|
vdual7:
|
|
./config dual el7
|
|
vdual8:
|
|
./config dual el8
|
|
vdual9:
|
|
./config dual el9
|
|
vdual12:
|
|
./config dual debian12
|
|
vdual20:
|
|
./config dual ubuntu20
|
|
vdual22:
|
|
./config dual ubuntu22
|
|
vdual24:
|
|
./config dual ubuntu24
|
|
|
|
#------------------------------#
|
|
# trio, 3-node, seldom used
|
|
#------------------------------#
|
|
# 3-node environment
|
|
|
|
trio: del vtrio up ssh
|
|
trio7: del vtrio7 up ssh
|
|
trio8: del vtrio8 up ssh
|
|
trio9: del vtrio9 up ssh
|
|
trio11: del vtrio11 up ssh
|
|
trio12: del vtrio12 up ssh
|
|
trio20: del vtrio20 up ssh
|
|
trio22: del vtrio22 up ssh
|
|
trio24: del vtrio24 up ssh
|
|
|
|
vtrio:
|
|
./config trio
|
|
vtrio7:
|
|
./config trio el7
|
|
vtrio8:
|
|
./config trio el8
|
|
vtrio9:
|
|
./config trio el9
|
|
vtrio12:
|
|
./config trio debian12
|
|
vtrio20:
|
|
./config trio ubuntu20
|
|
vtrio22:
|
|
./config trio ubuntu22
|
|
vtrio24:
|
|
./config trio ubuntu24
|
|
|
|
#------------------------------#
|
|
# minio, 4-node, seldom used
|
|
#------------------------------#
|
|
# 4-node environment
|
|
|
|
minio: del vminio up ssh
|
|
minio7: del vminio7 up ssh
|
|
minio8: del vminio8 up ssh
|
|
minio9: del vminio9 up ssh
|
|
minio11: del vminio11 up ssh
|
|
minio12: del vminio12 up ssh
|
|
minio20: del vminio20 up ssh
|
|
minio22: del vminio22 up ssh
|
|
minio24: del vminio24 up ssh
|
|
|
|
vminio:
|
|
./config minio
|
|
vminio7:
|
|
./config minio el7
|
|
vminio8:
|
|
./config minio el8
|
|
vminio9:
|
|
./config minio el9
|
|
vminio12:
|
|
./config minio debian12
|
|
vminio20:
|
|
./config minio ubuntu20
|
|
vminio22:
|
|
./config minio ubuntu22
|
|
vminio24:
|
|
./config minio ubuntu24
|
|
|
|
#------------------------------#
|
|
# citus, 13-node, seldom used
|
|
#------------------------------#
|
|
citus: del vcitus up ssh
|
|
citus8: del vcitus8 up ssh
|
|
citus9: del vcitus9 up ssh
|
|
citus11: del vcitus11 up ssh
|
|
citus12: del vcitus12 up ssh
|
|
citus20: del vcitus20 up ssh
|
|
citus22: del vcitus22 up ssh
|
|
citus24: del vcitus24 up ssh
|
|
|
|
vcitus:
|
|
./config citus
|
|
vcitus8:
|
|
./config citus el8
|
|
vcitus9:
|
|
./config citus el9
|
|
vcitus12:
|
|
./config citus debian12
|
|
vcitus20:
|
|
./config citus ubuntu20
|
|
vcitus22:
|
|
./config citus ubuntu22
|
|
vcitus24:
|
|
./config citus ubuntu24
|
|
|
|
###############################################################
|
|
# Inventory #
|
|
###############################################################
|
|
.PHONY: default new ssh sshb dns start up down dw halt clean del destroy nuke st status pause suspend resume info \
|
|
oss rpm deb all vo vr vd vm vf vp va \
|
|
meta meta7 meta8 meta9 meta11 meta12 meta20 meta22 vmeta vmeta7 vmeta8 vmeta9 vmeta11 vmeta12 vmeta20 vmeta22 vmeta24 \
|
|
dual dual7 dual8 dual9 dual11 dual12 dual20 dual22 vdual vdual7 vdual8 vdual9 vdual11 vdual12 vdual20 vdual22 vdual24 \
|
|
trio trio7 trio8 trio9 trio11 trio12 trio20 trio22 vtrio vtrio7 vtrio8 vtrio9 vtrio11 vtrio12 vtrio20 vtrio22 vtrio24 \
|
|
full full7 full8 full9 full11 full12 full20 full22 vfull vfull7 vfull8 vfull9 vfull11 vfull12 vfull20 vfull22 vfull24 \
|
|
simu simu7 simu8 simu9 simu11 simu12 simu20 simu22 vsimu vsimu7 vsimu8 vsimu9 vsimu11 vsimu12 vsimu20 vsimu22 vsimu24 \
|
|
minio minio7 minio8 minio9 minio11 minio12 minio20 minio22 mini24 vminio vminio7 vminio8 vminio9 vminio12 vminio20 vminio22 vminio24
|
|
citus citus8 citus9 citus11 citus12 citus20 citus22 citus24 vcitus vcitus8 vcitus9 vcitus11 vcitus12 vcitus20 vcitus22 vcitus24
|
|
|
|
###############################################################
|