Commit 11cf5f5e by Szeberényi Imre

Initial commit

parents
# IDE, cache
*.retry
*.log
__pycache__/
.vscode/
.idea/
*.swp
# Lokális inventory példányok
#inventories/*/host_vars/
#inventories/*/group_vars/*vault.yml
# Titkok, SSH kulcsok
*.key
*.pem
*.crt
*.csr
vault_pass.txt
# Galaxy letöltött role-ok (ha nem saját fejlesztés)
roles/*/
!roles/common/
!roles/monitor-client/
# Lokális futtatási állományok
.ansible/
tmp/
[defaults]
roles_path = ./roles:~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
inventory = ./inventories/prod/hosts.ini
#
deployment_type: "production"
cloud_user: "cloud"
[local]
localhost ansible_connection=local
- hosts: all
gather_facts: false
vars:
# Optional: if you want to run the whole play as 'cloud', drop become
ansible_user: cloud
roles:
- role: monitor-client
# Default variables for the monitor_client role
monitor_client_repo_name: "https://git.ik.bme.hu/circle3/monitor_client.git"
monitor_client_repo_revision: "python3.6"
monitor_client_app_user: "cloud"
monitor_client_base_dir: "/home/{{ monitor_client_app_user }}/monitor-client"
monitor_client_repo_dir: "/home/{{ monitor_client_app_user }}/monitor-client"
monitor_client_venv_dir: "/home/{{ monitor_client_app_user }}/.virtualenvs/monitor-client"
# Control whether the git task updates an existing checkout
monitor_client_git_update: false
# Pin pip/setuptools/wheel first (Celery 4-friendly pip<24.1)
monitor_client_pip_bootstrap:
- "pip<24.1"
- "setuptools>=58,<70"
- "wheel"
# Requirements file path inside repo
monitor_client_requirements_file: "{{ monitor_client_base_dir }}/requirements/{{ deployment_type }}.txt"
# Systemd service name
monitor_client_systemd_service: "monitor-client.service"
---
- name: systemd daemon-reload
ansible.builtin.systemd:
daemon_reload: yes
become: yes
- name: restart monitor-client
ansible.builtin.systemd:
name: "{{ monitor_client_systemd_service }}"
state: restarted
enabled: yes
become: yes
---
# AgentDriver systemd-only deployment
- name: Ensure base dir exists (owned by app user)
ansible.builtin.file:
path: "{{ monitor_client_base_dir }}"
state: directory
owner: "{{ monitor_client_app_user }}"
group: "{{ monitor_client_app_user }}"
mode: "0755"
- name: Ensure repo dir exists (owned by app user)
ansible.builtin.file:
path: "{{ monitor_client_base_dir }}"
state: directory
owner: "{{ monitor_client_app_user }}"
group: "{{ monitor_client_app_user }}"
mode: "0755"
- name: Checkout repository
ansible.builtin.git:
repo: "{{ monitor_client_repo_name }}"
dest: "{{ monitor_client_base_dir }}"
version: "{{ monitor_client_repo_revision }}"
update: "{{ monitor_client_git_update | bool }}"
accept_hostkey: yes
become: yes
become_user: "{{ monitor_client_app_user }}"
tags: [ 'git' ]
- name: Create Python venv
pip:
name: pip
state: latest
virtualenv: "{{ monitor_client_venv_dir }}"
virtualenv_python: python3.9
- name: Install pip requirements into venv
pip:
requirements: "{{ monitor_client_repo_dir }}/requirements/install_first.txt"
virtualenv: "{{ monitor_client_venv_dir }}"
virtualenv_python: python3.9
- name: Install Python requirements into venv
pip:
requirements: "{{ monitor_client_repo_dir }}/requirements/base.txt"
virtualenv: "{{ monitor_client_venv_dir }}"
virtualenv_python: python3.9
- name: Install Python requirements
ansible.builtin.pip:
requirements: "{{ monitor_client_requirements_file }}"
virtualenv: "{{ monitor_client_venv_dir }}"
virtualenv_python: python3.9
become: yes
become_user: "{{ monitor_client_app_user }}"
tags: [ 'deps' ]
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 sign in to comment