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_version: 0.23.0
|
||||||
vector_config_dir: /var/lib/vector
|
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
|
scm: git
|
||||||
version: "1.0.1"
|
version: "1.0.1"
|
||||||
name: lighthouse
|
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
|
- name: vector
|
||||||
hosts: vector
|
hosts: vector
|
||||||
tasks:
|
roles:
|
||||||
- name: vector | install archive manager
|
- vector
|
||||||
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
|
|
||||||
tags:
|
tags:
|
||||||
- vector
|
- 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.
|
> 2. Создайте два пустых публичных репозитория в любом своём проекте: vector-role и lighthouse-role.
|
||||||
> 3. Добавьте публичную часть своего ключа к своему профилю в github.
|
> 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)
|
- [Dannecron/netology-devops-ansible-lighthouse](https://github.com/Dannecron/netology-devops-ansible-lighthouse)
|
||||||
|
|
||||||
### Задание 2
|
### Задание 2
|
||||||
@@ -51,11 +51,32 @@ __Warning__: Внутри роли используются тэги `always`,
|
|||||||
если данная роль не будет запускаться в рамках playbook.
|
если данная роль не будет запускаться в рамках playbook.
|
||||||
|
|
||||||
> 4. Создать новый каталог с ролью при помощи `ansible-galaxy role init vector-role`.
|
> 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. Помните, что одна роль должна настраивать один продукт.
|
> 9. Повторите шаги 3-6 для lighthouse. Помните, что одна роль должна настраивать один продукт.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user