Ansible Script 추가
This commit is contained in:
49
ansible/01_old/roles/dsk_bot.datasaker/tasks/check-agent.yml
Normal file
49
ansible/01_old/roles/dsk_bot.datasaker/tasks/check-agent.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
- name: "Check dsk-node-agent"
|
||||
include_tasks: dsk-node-agent.yml
|
||||
when: '"dsk-node-agent" in datasaker_agents'
|
||||
|
||||
- name: "Check dsk-trace-agent"
|
||||
include_tasks: dsk-trace-agent.yml
|
||||
when: '"dsk-trace-agent" in datasaker_agents'
|
||||
|
||||
- name: "Check dsk-log-agent"
|
||||
include_tasks: dsk-log-agent.yml
|
||||
when:
|
||||
- '"dsk-log-agent" in datasaker_agents'
|
||||
|
||||
- name: "Check dsk-postgres-agent"
|
||||
include_tasks: dsk-postgres-agent.yml
|
||||
when: '"dsk-postgres-agent" in datasaker_agents'
|
||||
|
||||
- name: "Check dsk-plan-postgres-agent"
|
||||
include_tasks: dsk-plan-postgres-agent.yml
|
||||
when: '"dsk-plan-postgres-agent" in datasaker_agents'
|
||||
|
||||
- name: "Check dsk-docker-node-agent"
|
||||
include_tasks: dsk-docker-node-agent.yml
|
||||
when: '"dsk-docker-node-agent" in datasaker_docker_agents'
|
||||
|
||||
- name: "Check dsk-docker-elasticsearch-agent"
|
||||
include_tasks: dsk-docker-elasticsearch-agent.yml
|
||||
when: '"dsk-docker-elasticsearch-agent" in datasaker_docker_agents'
|
||||
|
||||
- name: "Check dsk-docker-log-agent"
|
||||
include_tasks: dsk-docker-log-agent.yml
|
||||
when: '"dsk-docker-log-agent" in datasaker_docker_agents'
|
||||
|
||||
- name: "Check dsk-docker-mongo-agent"
|
||||
include_tasks: dsk-docker-mongo-agent.yml
|
||||
when: '"dsk-docker-mongo-agent" in datasaker_docker_agents'
|
||||
|
||||
- name: "Check dsk-docker-mysql-agent"
|
||||
include_tasks: dsk-docker-mysql-agent.yml
|
||||
when: '"dsk-docker-mysql-agent" in datasaker_docker_agents'
|
||||
|
||||
- name: "Check dsk-docker-postgres-agent"
|
||||
include_tasks: dsk-docker-postgres-agent.yml
|
||||
when: '"dsk-docker-postgres-agent" in datasaker_docker_agents'
|
||||
|
||||
- name: "Check dsk-docker-trace-agent"
|
||||
include_tasks: dsk-docker-trace-agent.yml
|
||||
when: '"dsk-docker-trace-agent" in datasaker_docker_agents'
|
||||
53
ansible/01_old/roles/dsk_bot.datasaker/tasks/dsk-common.yml
Normal file
53
ansible/01_old/roles/dsk_bot.datasaker/tasks/dsk-common.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
- name: Make Datasaker Host Agent Directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "{{ datasaker_host_path }}"
|
||||
when:
|
||||
- ansible_facts.os_family in ["Debian", "RedHat"]
|
||||
- datasaker_agents
|
||||
|
||||
- name: "create Host Agent global-config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/global-config.yml"
|
||||
state: touch
|
||||
when:
|
||||
- ansible_facts.os_family in ["Debian", "RedHat"]
|
||||
- datasaker_agents
|
||||
|
||||
- name: "Setting Host Agent global-config"
|
||||
template:
|
||||
src: global-config.yml.j2
|
||||
dest: "{{ datasaker_host_path }}/global-config.yml"
|
||||
when:
|
||||
- ansible_facts.os_family in ["Debian", "RedHat"]
|
||||
- datasaker_agents
|
||||
|
||||
- name: "Make Datasaker Docker Agent Directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
with_items:
|
||||
- "{{ datasaker_docker_config_path }}"
|
||||
when:
|
||||
- datasaker_docker_agents
|
||||
|
||||
- name: "Create Docker Agent global-config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_docker_global_config }}"
|
||||
state: touch
|
||||
when:
|
||||
- datasaker_docker_agents
|
||||
|
||||
- name: "Setting Docker Agent global-config"
|
||||
template:
|
||||
src: global-config.yml.j2
|
||||
dest: "{{ datasaker_docker_global_config }}"
|
||||
when:
|
||||
- datasaker_docker_agents
|
||||
102
ansible/01_old/roles/dsk_bot.datasaker/tasks/dsk-debian-pkg.yml
Normal file
102
ansible/01_old/roles/dsk_bot.datasaker/tasks/dsk-debian-pkg.yml
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
# - set_fact:
|
||||
# datasaker_agents: "{{ datasaker_agents | reject('equalto', 'dsk-log-agent') | list }}"
|
||||
# when: ansible_facts.distribution_version != "18.04"
|
||||
- name: Set os-specific variables
|
||||
set_fact:
|
||||
os_specific: "{% if ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '7' %}datasaker-redhat-7
|
||||
{% elif ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '8' %}datasaker-redhat-8
|
||||
{% elif ansible_facts['os_family'] == 'Amazon' and ansible_facts['distribution_major_version'] == '2' %}datasaker-amazonlinux-2
|
||||
{% elif ansible_facts['os_family'] == 'Debian'%}debian-repos
|
||||
{% else %}unknown{% endif %}"
|
||||
|
||||
- name: "Create temporary directory for key manipulation"
|
||||
tempfile:
|
||||
state: directory
|
||||
suffix: keys
|
||||
register: tempdir
|
||||
|
||||
- name: "download keyring then add key to keyring"
|
||||
get_url:
|
||||
url: "{{ dsk_public_gpg_key }}"
|
||||
dest: "{{ tempdir.path }}/datasaker.gpg.key"
|
||||
force: yes
|
||||
|
||||
- name: "Create {{ apt_usr_share_keyring }} if it doesn't exist"
|
||||
file:
|
||||
path: "{{ apt_usr_share_keyring }}"
|
||||
state: touch
|
||||
mode: "0644"
|
||||
changed_when: False
|
||||
|
||||
- name: "Ensure downloaded file for binary keyring"
|
||||
shell: "cat {{ tempdir.path }}/datasaker.gpg.key | sudo gpg --import --batch --no-default-keyring --keyring {{ apt_usr_share_keyring }}"
|
||||
|
||||
- name: "copy keyring to trusted keyring"
|
||||
copy:
|
||||
src: "{{ apt_usr_share_keyring }}"
|
||||
dest: "{{ apt_trusted_d_keyring }}"
|
||||
mode: "0644"
|
||||
remote_src: yes
|
||||
|
||||
- name: "Remove temporary directory for key manipulation"
|
||||
file:
|
||||
path: "{{ tempdir.path }}"
|
||||
state: absent
|
||||
|
||||
- name: "Add datasaker repository"
|
||||
apt_repository:
|
||||
repo: "deb [signed-by={{ apt_usr_share_keyring }}] https://nexus.exem-oss.org/repository/debian-repos/ ubuntu main"
|
||||
state: present
|
||||
filename: datasaker
|
||||
|
||||
- name: "Check datasaker Agent"
|
||||
include_tasks: check-agent.yml
|
||||
|
||||
- name: "Install metric sidecar"
|
||||
apt:
|
||||
name: "dsk-metric-sidecar"
|
||||
state: present
|
||||
update_cache: yes
|
||||
force: yes
|
||||
|
||||
- name: "Make Datasaker Log Directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_log_path }}/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
|
||||
- name: "Install datasaker agent"
|
||||
apt:
|
||||
name: "{{ item }}"
|
||||
state: latest
|
||||
update_cache: yes
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
ignore_errors: true
|
||||
|
||||
- name: "Install datasaker log agent"
|
||||
apt:
|
||||
name: "td-agent"
|
||||
state: latest
|
||||
update_cache: yes
|
||||
when:
|
||||
- '"dsk-log-agent" in datasaker_agents'
|
||||
- log_agent_image_tag != "latest"
|
||||
|
||||
- name: "Reload systemd configuration"
|
||||
ansible.builtin.systemd:
|
||||
daemon_reload: True
|
||||
|
||||
- name: "Restart dsk-agent service"
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ item }}"
|
||||
enabled: true
|
||||
state: restarted
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
ignore_errors: true
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
- name: "Create datasaker local directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{datasaker_docker_user}}"
|
||||
group: "{{datasaker_docker_group}}"
|
||||
mode: '0755'
|
||||
with_items:
|
||||
- "{{ datasaker_docker_path }}/agent/dsk-log-agent"
|
||||
|
||||
- name: "create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_docker_path }}/dsk-docker-log-agent-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-log-agent config"
|
||||
template:
|
||||
src: docker-log-agent-config.yml.j2
|
||||
dest: "{{ datasaker_docker_path }}/dsk-docker-log-agent-config.yml"
|
||||
|
||||
- name: "Run Datasaker Log Agent"
|
||||
docker_container:
|
||||
name: dsk-docker-log-agent
|
||||
image: "datasaker/dsk-log-agent:{{ log_agent_image_tag }}"
|
||||
state: started
|
||||
restart_policy: "{{ log_agent_restart_policy }}"
|
||||
ports:
|
||||
- "{{ log_agent_port }}:{{ log_agent_port }}"
|
||||
env:
|
||||
DKS_LOG_LEVEL: "{{ log_agent_log_level }}"
|
||||
command: "-global.config=/etc/datasaker/global-config.yml -agent.config=/etc/datasaker/dsk-log-agent/agent-config.yml -mount.volume=true"
|
||||
volumes: "{{ combined_volumes }}"
|
||||
vars:
|
||||
base_volumes:
|
||||
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||
- "{{ datasaker_docker_path }}/dsk-docker-log-agent-config.yml:/etc/datasaker/dsk-log-agent/agent-config.yml:ro"
|
||||
custom_volumes: "{{ custom_log_volume | default([docker_default_path]) | map('regex_replace', '^(.*)$', '\\1:\\1:ro') | list }}"
|
||||
combined_volumes: "{{ base_volumes + custom_volumes }}"
|
||||
|
||||
- name: "Run APP with fluentd logging"
|
||||
docker_container:
|
||||
name: "{{ app_name }}"
|
||||
image: "{{ app_image }}"
|
||||
state: started
|
||||
log_options:
|
||||
log-driver: fluentd
|
||||
log-opt:
|
||||
fluentd-address: "{{ log_agent_port }}:{{ log_agent_port }}"
|
||||
when:
|
||||
- app_name is defined
|
||||
- app_image is defined
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
- name: "Create datasaker group"
|
||||
ansible.builtin.group:
|
||||
name: "{{datasaker_docker_group}}"
|
||||
gid: "{{datasaker_docker_user_gid}}"
|
||||
state: present
|
||||
|
||||
- name: "Create datasaker user"
|
||||
block:
|
||||
- ansible.builtin.user:
|
||||
name: "{{datasaker_docker_user}}"
|
||||
uid: "{{datasaker_docker_user_uid}}"
|
||||
group: "{{datasaker_docker_group}}"
|
||||
shell: /usr/sbin/nologin
|
||||
system: yes
|
||||
state: present
|
||||
rescue:
|
||||
- ansible.builtin.shell: "sudo useradd -r -u {{datasaker_docker_user_uid}} -g {{datasaker_docker_group}} -s /usr/sbin/nologin {{datasaker_docker_user}}"
|
||||
ignore_errors: true
|
||||
|
||||
- name: "Create datasaker local directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{datasaker_docker_user}}"
|
||||
group: "{{datasaker_docker_group}}"
|
||||
mode: '0755'
|
||||
with_items:
|
||||
- "{{ datasaker_docker_path }}/agent/dsk-container-agent"
|
||||
- "{{ datasaker_docker_path }}/agent/dsk-node-agent"
|
||||
- "{{ datasaker_docker_path }}/log"
|
||||
|
||||
- name: "Run Datasaker Container Agent"
|
||||
ansible.builtin.docker_container:
|
||||
name: dsk-docker-container-agent
|
||||
image: "datasaker/dsk-container-agent:{{ container_agent_image_tag }}"
|
||||
state: started
|
||||
restart_policy: "{{ container_agent_restart_policy }}"
|
||||
privileged: yes
|
||||
env:
|
||||
DSK_CLUSTER_ID: "{{ VAR_CLUSTER_ID }}"
|
||||
GOMAXPROCS: '1'
|
||||
DSK_LOG_LEVEL: "{{ container_agent_log_level }}"
|
||||
volumes:
|
||||
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||
- "/:/rootfs/:ro"
|
||||
- "/var/run/:/var/run/:ro"
|
||||
- "/sys/:/sys/:ro"
|
||||
- "/dev/disk/:/dev/disk/:ro"
|
||||
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||
|
||||
- name: "Run Datasaker Node Agent"
|
||||
ansible.builtin.docker_container:
|
||||
name: dsk-docker-node-agent
|
||||
image: "datasaker/dsk-node-agent:{{ node_agent_image_tag }}"
|
||||
state: started
|
||||
restart_policy: "{{ node_agent_restart_policy }}"
|
||||
privileged: yes
|
||||
network_mode: host
|
||||
pid_mode: host
|
||||
env:
|
||||
DSK_CLUSTER_ID: "{{ VAR_CLUSTER_ID }}"
|
||||
DSK_LOG_LEVEL: "{{ node_agent_log_level }}"
|
||||
volumes:
|
||||
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||
- "/proc/:/host/proc/:ro"
|
||||
- "/sys/:/host/sys/:ro"
|
||||
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
- name: "Create datasaker local directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{datasaker_docker_user}}"
|
||||
group: "{{datasaker_docker_group}}"
|
||||
mode: '0755'
|
||||
with_items:
|
||||
- "{{ datasaker_docker_path }}/agent/dsk-postgres-agent"
|
||||
- "{{ datasaker_docker_path }}/agent/dsk-plan-postgres-agent"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_docker_path }}/dsk-docker-postgres-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-postgres-agent config"
|
||||
template:
|
||||
src: docker-postgres-agent-config.yml.j2
|
||||
dest: "{{ datasaker_docker_path }}/dsk-docker-postgres-config.yml"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_docker_path }}/dsk-docker-plan-postgres-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting plan-dsk-postgres-agent config"
|
||||
template:
|
||||
src: docker-plan-postgres-agent-config.yml.j2
|
||||
dest: "{{ datasaker_docker_path }}/dsk-docker-plan-postgres-config.yml"
|
||||
|
||||
- name: "Run dsk-postgres-agent container"
|
||||
docker_container:
|
||||
name: dsk-docker-postgres-agent
|
||||
image: "datasaker/dsk-postgres-agent:{{ postgres_agent_image_tag }}"
|
||||
state: started
|
||||
restart_policy: "{{ postgres_agent_restart_policy }}"
|
||||
detach: true
|
||||
env:
|
||||
DKS_LOG_LEVEL: "info"
|
||||
DATA_SOURCE_USER: "{{ postgres_user_name | default('') }}"
|
||||
DATA_SOURCE_PASS: "{{ postgres_user_password | default('') }}"
|
||||
DATA_SOURCE_URI: "{{ postgres_database_address | default('') }}:{{ postgres_database_port | default('') }}?sslmode=disable"
|
||||
volumes:
|
||||
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||
- "{{ datasaker_docker_path }}/dsk-docker-postgres-config.yml:/etc/datasaker/dsk-postgres-agent/agent-config.yml:ro"
|
||||
|
||||
- name: "Run dsk-plan-postgres-agent container"
|
||||
docker_container:
|
||||
name: dsk-docker-plan-postgres-agent
|
||||
image: "datasaker/dsk-plan-postgres-agent:{{ plan_postgres_agent_image_tag }}"
|
||||
state: started
|
||||
restart_policy: "{{ plan_postgres_agent_restart_policy }}"
|
||||
detach: true
|
||||
env:
|
||||
DKS_LOG_LEVEL: "info"
|
||||
volumes:
|
||||
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||
- "{{ datasaker_docker_path }}/dsk-docker-plan-postgres-config.yml:/etc/datasaker/dsk-plan-postgres-agent/agent-config.yml:ro"
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
- name: "Create datasaker local directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{datasaker_docker_user}}"
|
||||
group: "{{datasaker_docker_group}}"
|
||||
mode: '0755'
|
||||
with_items:
|
||||
- "{{ datasaker_docker_path }}/agent/dsk-trace-agent"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_docker_path }}/dsk-docker-trace-agent-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-trace-agent config"
|
||||
template:
|
||||
src: trace-agent-config.yml.j2
|
||||
dest: "{{ datasaker_docker_path }}/dsk-docker-trace-agent-config.yml"
|
||||
|
||||
- name: "Run Datasaker trace Agent"
|
||||
ansible.builtin.docker_container:
|
||||
name: dsk-docker-trace-agent
|
||||
image: "datasaker/dsk-trace-agent:{{ trace_agent_image_tag }}"
|
||||
state: started
|
||||
restart_policy: "{{ trace_agent_restart_policy }}"
|
||||
detach: yes
|
||||
published_ports:
|
||||
- 4317:4317/tcp
|
||||
- 4318:4318/tcp
|
||||
env:
|
||||
DKS_LOG_LEVEL: "{{ trace_agent_log_level }}"
|
||||
volumes:
|
||||
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||
- "{{ datasaker_docker_path }}/dsk-docker-trace-agent-config.yml:/etc/datasaker/dsk-trace-agent/agent-config.yml:ro"
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
- name: "Make agent Directory"
|
||||
ansible.builtin.file:
|
||||
path: "/etc/datasaker/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "dsk-log-agent"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/dsk-log-agent/agent-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-log-agent config"
|
||||
template:
|
||||
src: log-agent-config.yml.j2
|
||||
dest: "{{ datasaker_host_path }}/dsk-log-agent/agent-config.yml"
|
||||
|
||||
- name: "Install fluent-bit"
|
||||
block:
|
||||
- name: "Install fluent-bit"
|
||||
shell: curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh
|
||||
rescue:
|
||||
- name: "Copy RPM files"
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: "/tmp/"
|
||||
with_items:
|
||||
- "{{ role_path }}/files/libpq-13.5-1.el8.x86_64.rpm"
|
||||
- "{{ role_path }}/files/libpq-devel-13.5-1.el8.x86_64.rpm"
|
||||
when:
|
||||
- ansible_facts['os_family'] == 'RedHat'
|
||||
- ansible_facts['distribution_major_version'] == '8'
|
||||
- name: "Install libpq-13.5-1"
|
||||
command: rpm -ivh /tmp/{{ item }}
|
||||
with_items:
|
||||
- libpq-13.5-1.el8.x86_64.rpm
|
||||
- libpq-devel-13.5-1.el8.x86_64.rpm
|
||||
when:
|
||||
- ansible_facts['os_family'] == 'RedHat'
|
||||
- ansible_facts['distribution_major_version'] == '8'
|
||||
- template:
|
||||
src: fluent-bit-repo.yml.j2
|
||||
dest: "/etc/yum.repos.d/fluent-bit.repo"
|
||||
when:
|
||||
- ansible_facts['os_family'] == 'RedHat'
|
||||
- ansible_facts['distribution_major_version'] == '7'
|
||||
- yum:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
update_cache: yes
|
||||
with_items:
|
||||
- fluent-bit
|
||||
- file:
|
||||
path: /tmp/{{ item }}
|
||||
state: absent
|
||||
with_items:
|
||||
- libpq-13.5-1.el8.x86_64.rpm
|
||||
- libpq-devel-13.5-1.el8.x86_64.rpm
|
||||
when:
|
||||
- ansible_facts['os_family'] == 'RedHat'
|
||||
- ansible_facts['distribution_major_version'] == '8'
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: "Make agent Directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "dsk-node-agent"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/dsk-node-agent/agent-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-node-agent config"
|
||||
template:
|
||||
src: node-agent-config.yml.j2
|
||||
dest: "{{ datasaker_host_path }}/dsk-node-agent/agent-config.yml"
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: "Make agent Directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "dsk-plan-postgres-agent"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/dsk-plan-postgres-agent/agent-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-plan-postgres-agent config"
|
||||
template:
|
||||
src: plan-postgres-agent-config.yml.j2
|
||||
dest: "{{ datasaker_host_path }}/dsk-plan-postgres-agent/agent-config.yml"
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: "Make agent Directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "dsk-postgres-agent"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/dsk-postgres-agent/agent-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-postgres-agent config"
|
||||
template:
|
||||
src: postgres-agent-config.yml.j2
|
||||
dest: "{{ datasaker_host_path }}/dsk-postgres-agent/agent-config.yml"
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
- name: Set os-specific variables
|
||||
set_fact:
|
||||
os_specific: "{% if ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '7' %}datasaker-redhat-7
|
||||
{% elif ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '8' %}datasaker-redhat-8
|
||||
{% elif ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '9' %}datasaker-redhat-9
|
||||
{% elif ansible_facts['os_family'] == 'Amazon' and ansible_facts['distribution_major_version'] == '2' %}datasaker-amazonlinux-2
|
||||
{% else %}unknown{% endif %}"
|
||||
|
||||
- name: "Add datasaker repository"
|
||||
yum_repository:
|
||||
name: datasaker
|
||||
description: datasaker-repo
|
||||
baseurl: "{{ datasaker_yum_repo }}{{ os_specific }}"
|
||||
enabled: "{{ datasaker_yum_enabled }}"
|
||||
gpgcheck: "{{ datasaker_yum_gpgcheck }}"
|
||||
|
||||
# - set_fact:
|
||||
# datasaker_agents: "{{ datasaker_agents | reject('equalto', 'dsk-log-agent') | list }}"
|
||||
|
||||
- name: "Check datasaker Agent"
|
||||
include_tasks: check-agent.yml
|
||||
|
||||
- name: Make Datasaker Log Directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_log_path }}/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
|
||||
- name: "Install datasaker log agent"
|
||||
apt:
|
||||
name: "td-agent"
|
||||
state: latest
|
||||
update_cache: yes
|
||||
when:
|
||||
- '"dsk-log-agent" in datasaker_agents'
|
||||
- log_agent_image_tag != "latest"
|
||||
|
||||
- name: "Install datasaker agent"
|
||||
yum:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
update_cache: yes
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
- Restart {{ item }} service
|
||||
ignore_errors: true
|
||||
|
||||
- name: "Setting dsk-log-agent config"
|
||||
template:
|
||||
src: log-agent-config.yml.j2
|
||||
dest: "{{ datasaker_host_path }}/dsk-log-agent/agent-config.yml"
|
||||
when:
|
||||
- '"dsk-log-agent" in datasaker_agents'
|
||||
- log_agent_image_tag == "latest"
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: "Make agent Directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- "dsk-trace-agent"
|
||||
|
||||
- name: "Create agent config"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/dsk-trace-agent/agent-config.yml"
|
||||
state: touch
|
||||
|
||||
- name: "Setting dsk-trace-agent config"
|
||||
template:
|
||||
src: trace-agent-config.yml.j2
|
||||
dest: "{{ datasaker_host_path }}/dsk-trace-agent/agent-config.yml"
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
- name: Gather Ansible Facts
|
||||
ansible.builtin.setup:
|
||||
47
ansible/01_old/roles/dsk_bot.datasaker/tasks/main.yml
Normal file
47
ansible/01_old/roles/dsk_bot.datasaker/tasks/main.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
- name: "Include Gather Ansible Facts task on Ansible >= 2.10"
|
||||
include_tasks: gather-facts.yml
|
||||
when:
|
||||
- ansible_version.major >= 2
|
||||
- ansible_version.minor >= 10
|
||||
|
||||
- name: "Check Datasaker Agent List"
|
||||
set_fact:
|
||||
datasaker_agents: []
|
||||
when: datasaker_docker_agents | select('search', 'docker') | list | count > 0
|
||||
|
||||
- name: "Include Datasaker Add Directory Config"
|
||||
include_tasks: dsk-common.yml
|
||||
when:
|
||||
- uninstall == False
|
||||
|
||||
- name: "Include Datasaker Debian Host Agent Install"
|
||||
include_tasks: dsk-debian-pkg.yml
|
||||
when:
|
||||
- uninstall == False
|
||||
- ansible_facts.os_family == "Debian"
|
||||
- datasaker_agents
|
||||
|
||||
- name: "Include Datasaker RedHat Host Agent Install"
|
||||
include_tasks: dsk-redhat-pkg.yml
|
||||
when:
|
||||
- uninstall == False
|
||||
- ansible_facts.os_family == "RedHat"
|
||||
- datasaker_agents
|
||||
|
||||
- name: "Include Datasaker Agent Install"
|
||||
include_tasks: check-agent.yml
|
||||
when:
|
||||
- uninstall == False
|
||||
- datasaker_docker_agents
|
||||
|
||||
- name: "Include Docker Agent Path Permissions Setting"
|
||||
include_tasks: permissions.yml
|
||||
when:
|
||||
- uninstall == False
|
||||
- datasaker_docker_agents
|
||||
|
||||
- name: "Uninstall Datasaker Agent"
|
||||
include_tasks: remove-datasaker.yml
|
||||
when:
|
||||
- uninstall == True
|
||||
@@ -0,0 +1,6 @@
|
||||
- name: "Change owner and group of datasaker docker directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_docker_path }}"
|
||||
owner: "{{ datasaker_docker_user }}"
|
||||
group: "{{ datasaker_docker_group }}"
|
||||
recurse: yes
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
- name: Stop agent service
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ item }}"
|
||||
enabled: false
|
||||
state: stopped
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
when:
|
||||
- datasaker_agents
|
||||
ignore_errors: true
|
||||
|
||||
- name: "Uninstall datasaker agent"
|
||||
apt:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
update_cache: yes
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
when:
|
||||
- ansible_facts.os_family == "Debian"
|
||||
- datasaker_agents
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
ignore_errors: true
|
||||
|
||||
- name: "Uninstall datasaker agent"
|
||||
yum:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
when:
|
||||
- ansible_facts.os_family == "RedHat"
|
||||
- datasaker_agents
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
ignore_errors: true
|
||||
|
||||
- name: Remove Datasaker Log Directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_log_path }}/{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
when:
|
||||
- datasaker_agents
|
||||
|
||||
- name: Remove Datasaker Agent Directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_host_path }}/{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
when:
|
||||
- datasaker_agents
|
||||
|
||||
- name: Remove Datasaker Host Directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ datasaker_host_path }}"
|
||||
- "{{ datasaker_host_log_path }}"
|
||||
- "{{ apt_sources_list }}"
|
||||
- "{{ apt_trusted_d_keyring }}"
|
||||
- "{{ apt_usr_share_keyring }}"
|
||||
when:
|
||||
- datasaker_clean == True
|
||||
- datasaker_agents
|
||||
|
||||
- name: Stop the Docker container
|
||||
docker_container:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ datasaker_docker_agents }}"
|
||||
when:
|
||||
- datasaker_docker_agents
|
||||
ignore_errors: true
|
||||
|
||||
- name: Stop the Docker container-agent container
|
||||
docker_container:
|
||||
name: "dsk-docker-container-agent"
|
||||
state: absent
|
||||
when:
|
||||
- '"dsk-docker-node-agent" in datasaker_docker_agents'
|
||||
ignore_errors: true
|
||||
|
||||
- name: Stop the Docker plan-postgres-agent container
|
||||
docker_container:
|
||||
name: "dsk-docker-plan-postgres-agent"
|
||||
state: absent
|
||||
when:
|
||||
- '"dsk-docker-postgres-agent" in datasaker_docker_agents'
|
||||
ignore_errors: true
|
||||
|
||||
- name: Remove Datasaker Docker Agent Directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ datasaker_docker_path }}/{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ datasaker_docker_agents }}"
|
||||
when:
|
||||
- datasaker_docker_agents
|
||||
|
||||
- name: "Remove datasaker_docker_user"
|
||||
ansible.builtin.user:
|
||||
name: "{{datasaker_docker_user}}"
|
||||
state: absent
|
||||
when:
|
||||
- datasaker_clean == True
|
||||
- datasaker_docker_agents
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Remove datasaker_docker_group"
|
||||
ansible.builtin.group:
|
||||
name: "{{datasaker_docker_group}}"
|
||||
state: absent
|
||||
when:
|
||||
- datasaker_clean == True
|
||||
- datasaker_docker_agents
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Remove datasaker_docker_directory"
|
||||
ansible.builtin.file:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ datasaker_docker_config_path }}"
|
||||
- "{{ datasaker_docker_path }}"
|
||||
when:
|
||||
- datasaker_clean == True
|
||||
- datasaker_docker_agents
|
||||
ignore_errors: yes
|
||||
Reference in New Issue
Block a user