# Ansible Collection - adls.osrancher

This collection contains roles for setup of a Kubernetes cluster with OpenStack and RKE2.

## Install
```
ansible-galaxy collection install git+ssh://git@gitlab.tuwien.ac.at:822/ADLS/infrastructure/adls.osrancher.git
```

## Usage

Use roles inside a Ansible playbook
```
# create network, VMs, loadbalancer
- hosts: localhost
  vars: 
    cluster_name: test
  roles:
    adls.osrancher.create_infrastructure

# install and configure RKE2
- hosts: all
  vars: 
  roles:
    adls.osrancher.rke2    
```

## Variables

| Variable | Default | Description |
| ----------- | ----------- | ----------- |
| cluster_name |  | Name of the RKE2 cluster |
| server_count | 3 | Number of RKE2 worker VMs |
| agent_count | 3 | Number of RKE2 server VMs |
| server_flavor | m1a.large | Server VM flavor |
| agent_flavor | m1a.xlarge | Worker VM flavor |
| server_volume_size | 50 | Volume size (GB) for server VM |
| agent_volume_size | 100 | Volume size (GB) for worker VM |
| image | 1fe615f0-9dad-447d-bf54-9071defafb77 | ID for OpenStack VM image |
| domain | | DNS-Entry for loadbalancer IP |
| node_taints | | Node taints for RKE2 node |
| node_labels | | Node labels for RKE2 node |
| rke2_channel | stable | RKE3 version channel |
| state | present | Flag for setup (`present`) or removing (`absent`) RKE3 cluster |