kopsrox

kopsrox.ini

proxmox

config related to proxmox setup

see SETUP.md for API access details

endpoint

127.0.0.1 the proxmox server hostname/dns or IP address you will connect to

127.0.0.1 will work on any host running proxmox

port

8006 port to connect to proxmox API endpoint

8006 is the default

user

user to connect to proxmox API as

default is root@pam

token_name

kopsrox

api_key

icjecjeijciejceinceini

proxnode

proxmox the proxmox node that kopsrox will work on - the image and all nodes are created on this host

proxstor

local-lvm shared storage also works

proximgid

600 - the proxmox id used for the kopsrox image/template and the basis of the cluster

kopsrox uses a simple static id/ip assignment scheme based on the [proxmox] - proximgid and [kopsrox] - network settings

For example:

[proxmox]
proximgid = 620

[kopsrox]
network = 192.168.0.170
- vmid ip type
0 620 - image
1 621 192.168.0.171 master 1
2 622 192.168.0.172 master 2
3 623 192.168.0.173 master 3
4 624 - spare
5 625 192.168.0.175 worker 1
6 626 192.168.0.176 worker 2
7 627 192.168.0.177 worker 3
8 628 192.168.0.178 worker 4
9 629 192.168.0.179 worker 5

See also [kopsrox] network setting

up_image_url

https://cloud-images.ubuntu.com/minimal/daily/mantic/current/mantic-minimal-cloudimg-amd64.img

url to the cloud image you want to use as the koprox base template.

during kopsrox.py image create this is downloaded and patched via virt-customise to install qemu-guest-agent

qcow images are also supported.

Tested images so far:

https://cdn.amazonlinux.com/os-images/2.0.20240306.2/kvm/amzn2-kvm-2.0.20240306.2-x86_64.xfs.gpt.qcow2 https://mirrors.vinters.com/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2

proxbridge

vmbr0 - the bridge to use - must have internet access via the networkgw defined below

a proxmox sdn can be used by specifying the zone and vnet like this: sdn/zone/vnet

kopsrox

vm_disk

20G - size of the disk for each node in Gigs

vm_cpu

1 - number of vcpus for each vm

vm_ram

2 - amount of ram in G

cloudinituser

admin - a user account for access to the vm

you can use this user name / password to login on the vm if required

cloudinitpass

password - a password for the cloudinituser - you can use this user name / password to login on the vm if required

cloudinitsshkey

sshkey.pub - your ssh public key

network

“network” address of proxmox cluster

network = 192.168.0.170

See proximgid

networkgw

192.168.0.1 the default gateway for the network ( must provide internet access )

netmask

24 cdir netmask for the network

This is equal to ‘255.255.255.0’

network_dns

192.168.0.1 - the dns server used for the vms

cluster

config relating to the cluster

name

kopsrox name of the cluster

the name is displayed in the cli output

nodes are named eg kopsrox-m1

k3s_version

v1.24.6+k3s1 - the version of k3s installed

masters

1 number of master nodes - only other supported value is 3

workers

0 number of worker nodes in the cluster - values upto 5 are supported

s3

config values for s3 etcd snapshot/restore operations.

If you’re not using this you can leave these blank.

endpoint

eg s3.yourprovider.com

region

optional

access-key <a name=access-key>

393893894389

access-secret <a name=access-secret>

ioewioeiowe - the access secret for your s3 provider

bucket

kopsrox - bucket name