diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e5efd3c105c528aa762ad3ae4f45d32b8df223f3 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# Ansible Collection - adls.osrancher + +This collection contains roles for setup of a Kubernetes cluster with OpenStack and RKE2. + +## Install +``` +ansible-galaxy install -r requirements.yml +``` + +## 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 | \ No newline at end of file diff --git a/galaxy.yml b/galaxy.yml new file mode 100644 index 0000000000000000000000000000000000000000..6b190e8ccfaf0b88e513b4349344fc720a391c4e --- /dev/null +++ b/galaxy.yml @@ -0,0 +1,63 @@ +### REQUIRED +# The namespace of the collection. This can be a company/brand/organization or product namespace under which all +# content lives. May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with +# underscores or numbers and cannot contain consecutive underscores +namespace: adls + +# The name of the collection. Has the same character restrictions as 'namespace' +name: osrancher + +# The version of the collection. Must be compatible with semantic versioning +version: 1.0.0 + +# The path to the Markdown (.md) readme file. This path is relative to the root of the collection +readme: README.md + +# A list of the collection's content authors. Can be just the name or in the format 'Full Name <email> (url) +# @nicks:irc/im.site#channel' +authors: +- Thomas Weber <thomas.weber@wu.ac.at> +- Elias Wimmer <elias.wimmer@tuwien.ac.at> + + +### OPTIONAL but strongly recommended +# A short summary description of the collection +description: Setup a RKE2 Kubernetes Cluster on OpenStack + +# Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only +# accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file' +license: +- GPL-2.0-or-later + +# The path to the license file for the collection. This path is relative to the root of the collection. This key is +# mutually exclusive with 'license' +license_file: '' + +# A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character +# requirements as 'namespace' and 'name' +tags: [] + +# Collections that this collection requires to be installed for it to be usable. The key of the dict is the +# collection label 'namespace.name'. The value is a version range +# L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version +# range specifiers can be set and are separated by ',' +dependencies: {} + +# The URL of the originating SCM repository +repository: https://gitlab.tuwien.ac.at/ADLS/infrastructure/adls.osrancher + +# The URL to any online docs +documentation: https://gitlab.tuwien.ac.at/ADLS/infrastructure/adls.osrancher + +# The URL to the homepage of the collection/project +homepage: https://gitlab.tuwien.ac.at/ADLS/infrastructure/adls.osrancher + +# The URL to the collection issue tracker +issues: http://example.com/issue/tracker + +# A list of file glob-like patterns used to filter any files or directories that should not be included in the build +# artifact. A pattern is matched from the relative path of the file or directory of the collection directory. This +# uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry', +# and '.git' are always filtered +build_ignore: [] +