chore: add current provisioning state before migration

This commit is contained in:
Jesús Pérez 2025-09-22 23:11:41 +01:00
parent a9703b4748
commit 50745b0f22
660 changed files with 88126 additions and 0 deletions

View file

@ -0,0 +1,65 @@
import aws_prov
# Settings from servers has priority over defaults ones, if a value is not set in server item, defaults one will be used instead
aws_prov.ServerDefaults_aws {
# AWS provision data settings
#prov_settings = "defs/aws_data.k"
time_zone = "UTC"
# UpCloud Zone like = "es-mad1"
#zone = "es-mad1"
#zone = "eu-west-1"
zone = "eu-south-2"
# Second to wait before check in for running state
running_wait = 10
# Total seconds to wait for running state before timeout
running_timeout = 200
# If not Storage size, Plan Storage size will be used
storages = [
{ name = "root", size = 15, total = 15, type = "ext4" , mount = True, mount_path = "/", parts = [
# { name = "root", size = 25, total = 80, type = "ext4" , mount = True, mount_path = "/", parts = [
# { name = "kluster", size = 55, type = "xfs" , mount = False }
]}
]
# Server OS to use (will be the first storage device). The value should be title or UUID of an either
# public or private template. Set to empty to fully customise the storages.
# Default = "Ubuntu Server 20.04 LTS (Focal Fossa) "
#storage_os = "Debian GNU/Linux 12 (Bookworm)"
storage_os_find = "name: debian-12 | arch: x86_64"
#storage_os = "find"
# eu-west-1
#storage_os = "ami-0eb11ab33f229b26c"
# eu-south-2 ami-0e733f933140cf5cd (64 bits (x86)) / ami-0696f50508962ab62 (64 bits (Arm))
storage_os = "ami-0e733f933140cf5cd"
# Add one or more SSH keys to the admin account. Accepted values are SSH public keys or filenames from
# where to read the keys.
# ssh public key to be included in /root/.ssh/authorized_keys
ssh_key_path = "~/.ssh/id_cdci.pub"
ssh_key_name = "cdci"
# utility network, if no value it will not be set and utility IP will not be set
network_utility_ipv4 = True
network_utility_ipv6 = False
# public network, if no value it will not be set and public IP will not be set
network_public_ipv4 = True
network_public_ipv6 = False
# To use private network needs to be created previously to get ID and IP
# If network_private_id contains "CREATE" it will be created with 'name' in 'cidr_block' and updated here
# network_private_id = "CREATE"
# Otherwise created manually and update id
# Example = upctl network create --name "Custom Net" --zone nl-ams1 --ip-network address = 10.11.2.0/24
# IF content is 'CREATE' a network_private_id will be created and create here
# IF ID does not already exist a new network_private_id will be created and replaced here
network_private_id = "03d64e84-50ab-46a3-bf28-b4d93783aa04"
network_private_name = "Private_Net"
# To use private network, IPs will be set in servers items
priv_cidr_block = "10.11.2.0/24"
primary_dns = ""
secondary_dns = ""
main_domain = "librecloud.local"
domains_search = "librecloud.local"
# Main user (default Debian user is admin)
user = "devadm"
user_home = "/home/devadm"
user_ssh_port = 22
fix_local_hosts = True
#installer_user = "root"
installer_user = "admin"
}

180
o-klab/wuji/defs/servers.k Normal file
View file

@ -0,0 +1,180 @@
import upcloud_prov
servers = [
upcloud_prov.Server_upcloud {
#not_use = True
# Hostname as reference for resource if is changed later inside server, change will not be updated in resource inventory
hostname = "o-wuji-cp-0"
title = "Wuji Control-Panel 0"
# If not Storage size, Plan Storage size will be used
plan = "2xCPU-4GB"
storages = [
upcloud_prov.Storage_upcloud {
name = "root",
# size = 15, total = 25,
# size = 25, total = 50,
size = 35, total = 80,
# type = "ext4" , mount = True, mount_path = "/",
parts = [
{ name = "root", size = 35, type = "ext4" , mount = True, mount_path = "/" },
{ name = "kluster", size = 45, type = "xfs" , mount = True, mount_path = "/kluster" }
#{ name = "kluster", size = 45, type = "raw" , mount = True, mount_path = "" }
#{ name = "kluster", size = 10, type = "xfs" , mount = False }
]
}
]
# Labels to describe the server in `key = "value` format, multiple can be declared.
# Usage = "env = "dev
labels = "use=k8s-cp"
# To use private network it a VPC + Subnet + NetworkInfterface has to be created
# IP will be assign here
network_private_ip = "10.11.2.20"
liveness_ip = "$network_public_ip"
liveness_port = 22
extra_hostnames = [ "wuji-cp-0" ]
taskservs = [
{ name = "os", profile = "controlpanel"},
{ name = "resolv" },
{ name = "runc" },
{ name = "crun" },
{ name = "youki" },
{ name = "crio" },
{ name = "kubernetes", target_save_path = "/wuwei/wuji" },
#{ name = "cilium" },
{ name = "rook-ceph", target_save_path = "/wuwei/wuji/rook-ceph" },
#{ name = "kubernetes/kubeconfig", profile = "kubeconfig", install_mode = "getfile" },
{ name = "external-nfs" },
]
},
upcloud_prov.Server_upcloud {
#not_use = True
# Hostname as reference for resource if is changed later inside server, change will not be updated in resource inventory
hostname = "o-wuji-strg-0"
title = "Wuji storage 0"
# If not Storage size, Plan Storage size will be used
plan = "2xCPU-4GB"
#plan = "4xCPU-8GB"
storages = [
upcloud_prov.Storage_upcloud {
name = "root",
# size = 15, total = 25,
# size = 25, total = 50,
size = 35, total = 80,
#type = "ext4" , mount = True, mount_path = "/",
parts = [
{ name = "root", size = 35, type = "ext4" , mount = True, mount_path = "/" },
{ name = "ceph_0", size = 25, type = "raw" , mount = True, mount_path = ""},
{ name = "ceph_1", size = 20, type = "raw" , mount = True, mount_path = ""}
#{ name = "kluster", size = 10, type = "xfs" , mount = False }
]
}
]
# Labels to describe the server in `key = "value` format, multiple can be declared.
# Usage = "env = "dev
labels = "use=k8s-wuji, use=k8s-storage"
# To use private network it a VPC + Subnet + NetworkInfterface has to be created
# IP will be assign here
network_private_ip = "10.11.2.30"
liveness_ip = "$network_public_ip"
liveness_port = 22
extra_hostnames = [ "wuji-strg-0" ]
taskservs = [
{ name = "os", profile = "worker"},
{ name = "resolv" },
{ name = "runc" },
{ name = "crun" },
{ name = "youki" },
{ name = "crio" },
{ name = "kubernetes" },
{ name = "kubernetes", profile = "k8s-nodejoin" },
{ name = "external-nfs" },
]
},
upcloud_prov.Server_upcloud {
#not_use = True
# Hostname as reference for resource if is changed later inside server, change will not be updated in resource inventory
hostname = "o-wuji-strg-1"
title = "Wuji storage 1"
# If not Storage size, Plan Storage size will be used
plan = "2xCPU-4GB"
#plan = "4xCPU-8GB"
storages = [
upcloud_prov.Storage_upcloud {
name = "root",
# size = 15, total = 25,
# size = 25, total = 50,
size = 35, total = 80,
#type = "ext4" , mount = True, mount_path = "/",
parts = [
{ name = "root", size = 35, type = "ext4" , mount = True, mount_path = "/" },
{ name = "ceph_0", size = 25, type = "raw" , mount = True, mount_path = ""},
{ name = "ceph_1", size = 20, type = "raw" , mount = True, mount_path = ""}
#{ name = "kluster", size = 10, type = "xfs" , mount = False }
]
}
]
# Labels to describe the server in `key = "value` format, multiple can be declared.
# Usage = "env = "dev
labels = "use=k8s-wuji, use=k8s-strg"
# To use private network it a VPC + Subnet + NetworkInfterface has to be created
# IP will be assign here
network_private_ip = "10.11.2.31"
liveness_ip = "$network_public_ip"
liveness_port = 22
extra_hostnames = [ "wuji-strg-1" ]
taskservs = [
{ name = "os", profile = "worker"},
{ name = "resolv" },
{ name = "runc" },
{ name = "crun" },
{ name = "youki" },
{ name = "crio" },
{ name = "kubernetes" },
{ name = "kubernetes", profile = "k8s-nodejoin" },
{ name = "external-nfs" },
]
},
upcloud_prov.Server_upcloud {
#not_use = True
# Hostname as reference for resource if is changed later inside server, change will not be updated in resource inventory
hostname = "o-wuji-wrkr-0"
title = "Wuji worker 0"
# If not Storage size, Plan Storage size will be used
#plan = "1xCPU-2GB"
#plan = "4xCPU-8GB"
plan = "2xCPU-4GB"
storages = [
upcloud_prov.Storage_upcloud {
name = "root",
# size = 15, total = 25,
# size = 25, total = 50,
#size = 35, total = 80,
size = 50, total = 50,
# type = "ext4" , mount = True, mount_path = "/",
parts = [
{ name = "root", size = 50, type = "ext4" , mount = True, mount_path = "/" },
#{ name = "kluster", size = 45, type = "raw" , mount = True }
#{ name = "kluster", size = 10, type = "xfs" , mount = False }
]
}
]
# Labels to describe the server in `key = "value` format, multiple can be declared.
# Usage = "env = "dev
labels = "use=k8s-worker"
# To use private network it a VPC + Subnet + NetworkInfterface has to be created
# IP will be assign here
network_private_ip = "10.11.2.40"
liveness_ip = "$network_public_ip"
liveness_port = 22
extra_hostnames = [ "wuji-wrkr-0" ]
taskservs = [
{ name = "os", profile = "worker"},
{ name = "resolv" },
{ name = "runc" },
{ name = "crun" },
{ name = "youki" },
{ name = "crio" },
{ name = "kubernetes" },
{ name = "kubernetes", profile = "k8s-nodejoin" },
]
},
]

View file

@ -0,0 +1,60 @@
import upcloud_prov
# Settings from servers has priority over defaults ones, if a value is not set in server item, defaults one will be used instead
upcloud_prov.ServerDefaults_upcloud {
time_zone = "UTC"
# UpCloud Zone like = "es-mad1"
zone = "es-mad1"
# Second to wait before check in for running state
running_wait = 10
# Total seconds to wait for running state before timeout
running_timeout = 200
# If not Storage size, Plan Storage size will be used
storages = [
{ name = "root", size = 25, total = 25, type = "ext4" , mount = True, mount_path = "/", parts = [
# { name = "root", size = 25, total = 80, type = "ext4" , mount = True, mount_path = "/", parts = [
# { name = "kluster", size = 55, type = "xfs" , mount = False }
]}
]
# Server OS to use (will be the first storage device). The value should be title or UUID of an either
# public or private template. Set to empty to fully customise the storages.
# Default = "Ubuntu Server 20.04 LTS (Focal Fossa) "
# storage_os = "Debian GNU/Linux 12 (Bookworm)"
storage_os = "01000000-0000-4000-8000-000020070100"
# Add one or more SSH keys to the admin account. Accepted values are SSH public keys or filenames from
# where to read the keys.
# ssh public key to be included in /root/.ssh/authorized_keys
ssh_key_path = "~/.ssh/id_cdci.pub"
ssh_key_name = "cdci"
# utility network, if no value it will not be set and utility IP will not be set
network_utility_ipv4 = True
network_utility_ipv6 = False
# public network, if no value it will not be set and public IP will not be set
network_public_ipv4 = True
network_public_ipv6 = False
# To use private network needs to be created previously to get ID and IP
# If network_private_id contains "CREATE" it will be created with 'name' in 'cidr_block' and updated here
# network_private_id = "CREATE"
# Otherwise created manually and update id
# Example = upctl network create --name "Custom Net" --zone nl-ams1 --ip-network address = 10.0.1.0/24
# IF content is 'CREATE' a network_private_id will be created and create here
# IF ID does not already exist a new network_private_id will be created and replaced here
#network_private_id = "03d64e84-50ab-46a3-bf28-b4d93783aa04"
#network_private_name = "Private_Net"
network_private_id = "03bda413-1305-436d-994a-4be95f1027d4"
network_private_name = "LC Network"
# To use private network, IPs will be set in servers items
priv_cidr_block = "10.11.2.0/24"
primary_dns: "94.237.127.9"
secondary_dns: "94.237.40.9"
main_domain = "librecloud.online"
domains_search = "librecloud.online"
# Main user (default Debian user is admin)
user = "devadm"
user_home = "/home/devadm"
user_ssh_port = 22
fix_local_hosts = True
installer_user = "root"
}