From 118b94d9a2005b40b819961e5231e950ee2cfa56 Mon Sep 17 00:00:00 2001 From: dannc Date: Tue, 2 Aug 2022 10:16:48 +0700 Subject: [PATCH] homework 8.4: create vector role, complete homework --- .../8.4/playbook/group_vars/vector/vars.yml | 3 - .../08-ansible/8.4/playbook/requirements.yml | 4 ++ src/homework/08-ansible/8.4/playbook/site.yml | 61 +------------------ src/homework/08-ansible/8.4/readme.md | 33 ++++++++-- 4 files changed, 33 insertions(+), 68 deletions(-) diff --git a/src/homework/08-ansible/8.4/playbook/group_vars/vector/vars.yml b/src/homework/08-ansible/8.4/playbook/group_vars/vector/vars.yml index 3f1964b..2279353 100644 --- a/src/homework/08-ansible/8.4/playbook/group_vars/vector/vars.yml +++ b/src/homework/08-ansible/8.4/playbook/group_vars/vector/vars.yml @@ -1,6 +1,3 @@ --- vector_version: 0.23.0 vector_config_dir: /var/lib/vector -vector_config: - data_dir: /var/lib/vector - # todo добавить конфигурацию https://vector.dev/docs/reference/configuration/ diff --git a/src/homework/08-ansible/8.4/playbook/requirements.yml b/src/homework/08-ansible/8.4/playbook/requirements.yml index 2c1217e..2dae2fc 100644 --- a/src/homework/08-ansible/8.4/playbook/requirements.yml +++ b/src/homework/08-ansible/8.4/playbook/requirements.yml @@ -7,3 +7,7 @@ scm: git version: "1.0.1" name: lighthouse +- src: git@github.com:Dannecron/netology-devops-ansible-vector.git + scm: git + version: "1.0.0" + name: vector diff --git a/src/homework/08-ansible/8.4/playbook/site.yml b/src/homework/08-ansible/8.4/playbook/site.yml index 03fc42c..a6662b5 100644 --- a/src/homework/08-ansible/8.4/playbook/site.yml +++ b/src/homework/08-ansible/8.4/playbook/site.yml @@ -15,64 +15,7 @@ - name: vector hosts: vector - tasks: - - name: vector | install archive manager - become: true - ansible.builtin.yum: - name: - - tar - - name: vector | get distrib - ansible.builtin.get_url: - url: "https://packages.timber.io/vector/{{ vector_version }}/vector-{{ vector_version }}-x86_64-unknown-linux-musl.tar.gz" - dest: "./vector-{{ vector_version }}-x86_64-unknown-linux-musl.tar.gz" - mode: "755" - - name: vector | unpack distrib - ansible.builtin.unarchive: - src: "./vector-{{ vector_version }}-x86_64-unknown-linux-musl.tar.gz" - dest: "./" - remote_src: true - - name: vector | install - become: true - ansible.builtin.copy: - src: "vector-x86_64-unknown-linux-musl/bin/vector" - dest: "/usr/local/bin/" - remote_src: true - mode: "755" - - name: vector | check installed version - ansible.builtin.command: - cmd: vector --version - register: result - changed_when: - - 'vector_version not in result.stdout' - tags: - - vector_check_version - - name: vector | create data dir - become: true - ansible.builtin.file: - mode: "755" - owner: "{{ ansible_user_id }}" - group: "{{ ansible_user_gid }}" - path: "{{ vector_config_dir }}" - state: "directory" - - name: vector | template config - ansible.builtin.template: - src: "templates/vector.config.j2" - dest: "{{ vector_config_dir }}/vector.yaml" - mode: "755" - - name: vector | register as service - become: true - ansible.builtin.template: - src: "templates/vector.service.j2" - dest: "/etc/systemd/system/vector.service" - owner: "{{ ansible_user_id }}" - group: "{{ ansible_user_gid }}" - mode: "0644" - backup: true - - name: vector | start service - become: true - ansible.builtin.service: - name: vector - state: started - daemon_reload: true + roles: + - vector tags: - vector diff --git a/src/homework/08-ansible/8.4/readme.md b/src/homework/08-ansible/8.4/readme.md index c269145..e92f663 100644 --- a/src/homework/08-ansible/8.4/readme.md +++ b/src/homework/08-ansible/8.4/readme.md @@ -7,12 +7,12 @@ > Подготовка к выполнению > -> 1. (Необязательно) Познакомьтесь с [lighthouse](https://youtu.be/ymlrNlaHzIY?t=929) +> 1. (Необязательно) Познакомьтесь с [`lighthouse`](https://youtu.be/ymlrNlaHzIY?t=929) > 2. Создайте два пустых публичных репозитория в любом своём проекте: vector-role и lighthouse-role. > 3. Добавьте публичную часть своего ключа к своему профилю в github. Заведены новые репозитории: -- //todo vector +- [Dannecron/netology-devops-ansible-vector](https://github.com/Dannecron/netology-devops-ansible-vector) - [Dannecron/netology-devops-ansible-lighthouse](https://github.com/Dannecron/netology-devops-ansible-lighthouse) ### Задание 2 @@ -51,11 +51,32 @@ __Warning__: Внутри роли используются тэги `always`, если данная роль не будет запускаться в рамках playbook. > 4. Создать новый каталог с ролью при помощи `ansible-galaxy role init vector-role`. -> 5. На основе tasks из старого playbook заполните новую role. Разнесите переменные между `vars` и `default`. -> 6. Перенести нужные шаблоны конфигов в `templates`. -> 7. Описать в `README.md` обе роли и их параметры. -// todo сделать для vector +```shell +ansible-galaxy role init vector-role +``` + +```text +- Role vector-role was created successfully +``` + +> 6. На основе tasks из старого playbook заполните новую role. Разнесите переменные между `vars` и `default`. + +В `default` перенесены все текущие переменные (версия, путь до директории с конфигурацией, конфигурация), +так как эти переменные могут быть изменены для каждого отдельно взятого `playbook`. + +Получается, что `vars` на данный момент останется пустым, так как нет таких переменных, +которые необходимы только внутри роли без возможности изменить их в `playbook`. + +> 7. Перенести нужные шаблоны конфигов в `templates`. + +В `templates` будут унесены два шаблона: +- `vector.config.j2` +- `vector.service.j2` + +> 8. Описать в `README.md` обе роли и их параметры. + +Описание добавлена в рамках репозитория с ролью: [readme.md](https://github.com/Dannecron/netology-devops-ansible-vector/blob/main/README.md) > 9. Повторите шаги 3-6 для lighthouse. Помните, что одна роль должна настраивать один продукт.