# 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                              |
| registry_mirrors   | {}                                   | [rke2-docs](https://docs.rke2.io/install/containerd_registry_configuration/#mirrors)        |
| manifests          | {}                                   | [defualts](collections/ansible_collections/adls/osrancher/roles/rke2/defaults/main.yml#L58) |