homework 8.4: create vector role, complete homework

This commit is contained in:
2022-08-02 10:16:48 +07:00
parent 0115945805
commit 118b94d9a2
4 changed files with 33 additions and 68 deletions

View File

@@ -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/

View File

@@ -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

View File

@@ -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

View File

@@ -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. Помните, что одна роль должна настраивать один продукт.