1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/yunorunner_ynh.git synced 2024-09-03 20:36:13 +02:00

Use a config file instead of hard coded string

This commit is contained in:
Salamandar 2024-03-15 15:06:46 +01:00
parent f794c09af2
commit 42db2ac21b
2 changed files with 54 additions and 61 deletions

44
conf/lxd-preseed.yml Normal file
View file

@ -0,0 +1,44 @@
config:
cluster.https_address: __DOMAIN__:8443
core.https_address: __DOMAIN__:8443
core.trust_password: __YUNO_PWD__
networks:
- config:
ipv4.address: 192.168.__LXC_NETWORK__.1/24
ipv4.nat: "true"
ipv6.address: none
description: ""
name: lxdbr0
type: bridge
project: default
storage_pools:
- config:
size: __BTRFS_SIZE__GB
source: /var/lib/lxd/disks/local.img
description: ""
name: local
driver: btrfs
profiles:
- config: {}
description: Default LXD profile
devices:
lxdbr0:
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: local
type: disk
name: default
projects:
- config:
features.images: "true"
features.networks: "true"
features.profiles: "true"
features.storage.volumes: "true"
description: Default LXD project
name: default
cluster:
server_name: __DOMAIN__
enabled: true

View file

@ -29,7 +29,16 @@ setup_lxd() {
ynh_print_info "Configuring lxd..."
if [ "$cluster" -eq 1 ]; then
setup_lxd
yunohost firewall allow TCP 8443
free_space=$(df --output=avail / | sed 1d)
btrfs_size=$(( free_space * 90 / 100 / 1024 / 1024 ))
lxc_network=$((1 + RANDOM % 254))
ynh_add_config --template="lxd-preseed.yml" --destination="$install_dir/lxd-preseed.yml"
lxd init --preseed < "$install_dir/lxd-preseed.yml"
rm "$install_dir/lxd-preseed.yml"
lxc config set core.https_address "[::]"
else
lxd init --auto # --storage-backend=dir
fi
@ -46,66 +55,6 @@ exposed_ports_if_cluster() {
fi
}
setup_lxd_cluster() {
local free_space=$(df --output=avail / | sed 1d)
local btrfs_size=$(( free_space * 90 / 100 / 1024 / 1024 ))
local lxc_network=$((1 + RANDOM % 254))
yunohost firewall allow TCP 8443
tmpfile=$(mktemp --suffix=.preseed.yml)
cat >"$tmpfile" <<EOF
config:
cluster.https_address: $domain:8443
core.https_address: ${domain}:8443
core.trust_password: ${yuno_pwd}
networks:
- config:
ipv4.address: 192.168.${lxc_network}.1/24
ipv4.nat: "true"
ipv6.address: none
description: ""
name: lxdbr0
type: bridge
project: default
storage_pools:
- config:
size: ${btrfs_size}GB
source: /var/lib/lxd/disks/local.img
description: ""
name: local
driver: btrfs
profiles:
- config: {}
description: Default LXD profile
devices:
lxdbr0:
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: local
type: disk
name: default
projects:
- config:
features.images: "true"
features.networks: "true"
features.profiles: "true"
features.storage.volumes: "true"
description: Default LXD project
name: default
cluster:
server_name: ${domain}
enabled: true
EOF
lxd init --preseed < "$tmpfile"
rm "$tmpfile"
lxc config set core.https_address "[::]"
}
#=================================================
# EXPERIMENTAL HELPERS
#=================================================