mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
homework 8.4: create vector role, complete homework
This commit is contained in:
@@ -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/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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. Помните, что одна роль должна настраивать один продукт.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user