Commit 515b765f authored by zauberstuhl's avatar zauberstuhl
Browse files

Update README.md

parent 5c50ab8e
# Feneas Ansible
# Feneas Ansible Infrastructure
Ansible playbooks for fun and profit.
This repository contains the entire Feneas Infrastructure described in Ansible.
Merge requests and contributions are welcome.
## Updating/Creating/Deleting services to the cluster
If you have questions you might want to join our matrix chat [#feneas-infra:feneas.org](https://chat.feneas.org/#/room/#feneas-infra:feneas.org), first.
Modify services in `playbooks/k8s/services/` accordingly or add new services to it.
Then run the deployment playbook:
## Contribution
ansible-playbook -i hosts playbooks/cluster.yaml --tags deploy --ask-vault-pass
We started organizing our playbooks with [ansible roles](https://docs.ansible.com/ansible/2.3/playbooks_roles.html).
For an example or template you might want to checkout: `playbooks/roles/feneas-ghost/`.
Don't forget to include new service in `playbooks/server-deploy.yaml`!
## Creating and adding a new server to the cluster
### Requirements
* Access to [console.hetzner.cloud](https://console.hetzner.cloud/)
* Administration vault password
* Local ssh server (create-server playbook is executed locally)
* Install ansible dependencies `ansible-galaxy install -r requirements.yml`
### Create a new server
1. Add to `group_vars/local` under the `server.hostnames` section a new name
2. Add your ssh key name to `server.ssh_keys` (you have to add your ssh key in [console.hetzner.cloud](https://console.hetzner.cloud/) first)
3. Run `ansible-playbook -i hosts --ask-vault-pass playbooks/create-server.yaml`
4. Add the new server to the `internal` network in the network section of [console.hetzner.cloud](https://console.hetzner.cloud/)
5. Create a new `host_vars/<server-name>`. This could look something like this:
After creating a new role simply insert the task in `playbooks/server-deploy.yaml` and create a merge request for review.
Example entry for the deploy playbook:
```
---
ansible_user: root
ansible_port: 22
ansible_host: XXX.XXX.XXX.XXX
ansible_private_host: 10.99.0.<XXX>
- import_role:
name: feneas-ghost
tags:
- deploy
- ghost
```
6. Add the server name to the worker section in `hosts` file
### Configure the newly added server
ansible-playbook -i hosts playbooks/cluster.yaml --tags dependencies --ask-vault-pass
### Add the new server to the kubernetes cluster
ansible-playbook -i hosts playbooks/cluster.yaml --tags worker
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment