Installeer tea met Ansible
Gepubliceerd op 31 mei 2026 • 2 min leestijd • 339 woordenIk gebruik tea om wat dingen te automatiseren in mijn homelab. Aangezien ik meestal ergens helemaal induik, dingen installeer en configureer en het vervolgens weer vergeet, is het voor mij belangrijk dat zoveel mogelijk automatisch gaat. Ansible helpt me hiermee. Ik heb in Ansible een role gemaakt om mijn management host in te richten en te standaardiseren. Om alles netjes op te slaan en versioning op te doen gebruik ik gitea. Om vanaf commandline wat gitea zaken te regelen, zoals een repository aan te maken wanneer deze nog niet bestaat, gebruik ik tea.
Een Ansible role zorgt ervoor dat tea wordt gedownload, geinstalleerd en geconfigureerd.
Ik heb een baseline playbook in playbooks/baseline.yml.
---
- name: Baseline configuratie voor de management Linux host
hosts: linux
become: true
roles:
- baselineIn roles/baseline/vars/main.yml heb ik de variabelen gezet voor tea
tea_version: "0.14.0"
tea_config_dir: "/home/{{ tea_admin_user }}/.config/tea"
tea_config_file: "{{ tea_config_dir }}/config.yml"in roles/baseline/tasks/main.yml staan de uiteindelijke acties die ik doe
- name: Download tea binary
ansible.builtin.get_url:
url: "{{ tea_url }}"
dest: /usr/local/bin/tea
mode: "0755"
- name: Zorg dat config directory bestaat
ansible.builtin.file:
path: "{{ tea_config_dir }}"
state: directory
mode: "0700"
owner: {{ tea_admin_user }}
group: {{ tea_admin_user }}
become: true
- name: Plaats tea config
ansible.builtin.template:
src: templates/tea-config.yml.j2
dest: "{{ tea_config_file }}"
mode: "0600"
owner: {{ tea_admin_user }}
group: {{ tea_admin_user }}
become: trueDe daadwerkelijke config file staat in roles/baseline/templates/tea-config.yml.j2
logins:
- name: gitea
url: {{ tea_gitea_url }}
token: {{ tea_gitea_token }}
default: true
ssh_host: git.thuis.elsinga.me
ssh_key: ""
insecure: false
ssh_certificate_principal: ""
ssh_agent: false
ssh_key_agent_pub: ""
version_check: true
user: elsingaa
created: 1773661605
refresh_token: ""
token_expiry: 0
preferences:
editor: false
flag_defaults:
remote: ""De secrets staan in een Ansible vault, ansible-vault edit group_vars/all/vault.yml:
Hier staan het gitea url, token en de username.
tea_admin_user: "<de admin user waar je de config voor bouwt>"
tea_gitea_token: "<het token wat je genereert in gitea>"
tea_gitea_url: "<gitea instance>Met ansible-playbook playbooks/baseline.yml voer ik tenslotte het playbook uit om de daadwerkelijke installatie en configuratie uit te voeren.
Hopelijk zorgt dit ervoor dat ik over een tijdje ook nog snap wat ik gedaan heb.
