У меня есть проект, который использует makefile для управления vagrant, я хочу поместить параметр vagrant в make-файл, такой как cpu
, memory
, ip
, hostname
, forwarded_port
и тому подобное. Я нашел способ , который vagrantfile читает файл yaml для параметризации vagrantfile. Поэтому makefile требуется target
, чтобы прочитать все переменные пользовательских опций и записать их в config.yaml в виде key-value
пар.
Пример выглядит следующим образом:
# === BEGIN USER OPTIONS ===
BOX_OS ?= fedora
# Box setup
#BOX_IMAGE
# Disk setup
DISK_COUNT ?= 1
DISK_SIZE_GB ?= 25
# VM Resources
MASTER_CPUS ?= 2
MASTER_MEMORY_SIZE_GB ?= 2
NODE_CPUS ?= 2
NODE_MEMORY_SIZE_GB ?= 2
NODE_COUNT ?= 2
# Network
MASTER_IP ?= 192.168.26.10
NODE_IP_NW ?= 192.168.26.
POD_NW_CIDR ?= 10.244.0.0/16
...
...
# === END USER OPTIONS ===
echo
команда достигает этого
# Makefile
envInit:
@echo "POD_NW_CIDR : \"$(POD_NW_CIDR)\"" > ${FILECWD}/configs.yaml
Но too many variables
может быть слишком сложным.
Есть ли способ массового чтения переменных и их значений и записи их в файл yml
Буду очень признателен, если вы, ребята, расскажете, как этого добиться, массово читая переменные и их значения и записывая их в файл yml.