# [Bases](./README.md) ## Main Components ### Setup Volume, NFS, K8S Provisioner - [`ansible-playbook -i ansible/arcodange/factory/inventory/ ansible/arcodange/factory/playbooks/02_setup.yml --tags='all,never'`](/ansible/arcodange/factory/playbooks/02_setup.yml) > [!IMPORTANT] > Une partie du playbook est invoqué par le précédent [playbook system](/ansible/arcodange/factory/playbooks/01_system.yml) responsasble du Provisioner K8S. > Le NFS est également requis pour le Persistent Volume Claim (PVC) utiliser pour les certificats SSL de Traefik. ### Setup Postgres Le container possède sa propre partition et ne tourne pas dans le cluster K3S (pour plus de simplicité). >[!NOTE] >Le role [`deploy_postgresql`](/ansible/arcodange/factory/playbooks/setup/roles/deploy_postgresql/tasks/create_db_and_user.yml) du playbook `setup` utilise la variable `applications_databases`: une liste de { db_name: str; db_user: str; db_password: str} à créer. ### Setup Gitea Le container possède sa propre partition et ne tourne pas dans le cluster K3S (pour plus de simplicité). On déploiera un gitea action runner sur d'autres machines pour que l'instance principale gitea gèrent mieux les cas de famine de ressources potentiellement causés par ce dernier. #### Setup mail alert TODO >[!WARNING] >le template [app.ini.j2](/ansible/arcodange/factory/playbooks/setup/roles/deploy_gitea/templates/app.ini.j2) n'est pas utilisé. (voir [inventaire](/ansible/arcodange/factory/inventory/group_vars/hard_disk/gitea.yml)) > il faudrait peut-être utiliser [community.general.ini_file](https://docs.ansible.com/ansible/latest/collections/community/general/ini_file_module.html) ## Annexes ### Ordre d'execution des playbooks ```mermaid %%{init: { 'logLevel': 'debug', 'theme': 'dark' } }%% timeline title ordre d'execution des playbooks section Setup DNS, OS, ... configuration manuelle : installer OS, réserver IP statique, configurer SSH,VNC : formater et créer des partitions avec gparted section Docker & K3S system : install Docker : install K3S working with docker : configure Traefik section Volume, NFS setup hard_disk : monter les partitions : installer NFS system : déployer provisionner NFS section postgres setup : postgres section gitea setup : gitea section gitea action runner setup : gitea action runner section argo cd argo_cd : argo cd section hello world app setup git repository : terraform setup CI deploy : dev : list exposed deployments with label and port as a landpage : expose (as ngrock ? direct ? port ? ) ```