first update
This commit is contained in:
39
README.md
39
README.md
@@ -1 +1,38 @@
|
||||
# agent-ansible
|
||||
Role Name
|
||||
=========
|
||||
|
||||
A brief description of the role goes here.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
||||
|
||||
- hosts: servers
|
||||
roles:
|
||||
- { role: username.rolename, x: 42 }
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
BSD
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
|
||||
|
||||
33
defaults/main.yml
Normal file
33
defaults/main.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
# defaults file for datasaker
|
||||
|
||||
datagate_trace_url: gate.kr.datasaker.io
|
||||
datagate_trace_port: 31300
|
||||
datagate_trace_timeout: 5s
|
||||
|
||||
datagate_manifest_url: gate.kr.datasaker.io
|
||||
datagate_manifest_port: 31301
|
||||
datagate_manifest_timeout: 5s
|
||||
|
||||
datagate_metric_url: gate.kr.datasaker.io
|
||||
datagate_metric_port: 31302
|
||||
datagate_metric_timeout: 5s
|
||||
|
||||
datagate_plan_url: gate.kr.datasaker.io
|
||||
datagate_plan_port: 31303
|
||||
datagate_plan_timeout: 5s
|
||||
|
||||
datagate_loggate_url: gate.kr.datasaker.io
|
||||
datagate_loggate_port: 31304
|
||||
datagate_loggate_timeout: 5s
|
||||
|
||||
datasaker_api_url: api.kr.datasaker.io
|
||||
datasaker_api_send_interval: 1m
|
||||
|
||||
apt_trusted_d_keyring: "/etc/apt/trusted.gpg.d/datasaker-archive-keyring.gpg"
|
||||
apt_usr_share_keyring: "/usr/share/keyrings/datasaker-archive-keyring.gpg"
|
||||
|
||||
dsk_public_gpg_key: "https://dsk-agent-s3.s3.ap-northeast-2.amazonaws.com/dsk-agent-s3/public/public.gpg.key"
|
||||
|
||||
|
||||
datasaker_agents: []
|
||||
34
handlers/main.yml
Normal file
34
handlers/main.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
- name: Reload systemd configuration
|
||||
service:
|
||||
daemon_reload: True
|
||||
|
||||
- name: Restart dsk-trace-agent service
|
||||
service:
|
||||
name: dsk-trace-agent
|
||||
enabled: true
|
||||
state: restarted
|
||||
|
||||
- name: Restart dsk-node-agent service
|
||||
service:
|
||||
name: dsk-node-agent
|
||||
enabled: true
|
||||
state: restarted
|
||||
|
||||
- name: Restart dsk-log-agent service
|
||||
service:
|
||||
name: dsk-log-agent
|
||||
enabled: true
|
||||
state: restarted
|
||||
|
||||
- name: Restart dsk-postgres-agent service
|
||||
service:
|
||||
name: dsk-postgres-agent
|
||||
enabled: true
|
||||
state: restarted
|
||||
|
||||
- name: Restart dsk-plan-postgres-agent service
|
||||
service:
|
||||
name: dsk-plan-postgres-agent
|
||||
enabled: true
|
||||
state: restarted
|
||||
10
tasks/dsk-common.yml
Normal file
10
tasks/dsk-common.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: Make Datasaker Directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items:
|
||||
- /etc/datasaker
|
||||
76
tasks/dsk-debian-pkg.yml
Normal file
76
tasks/dsk-debian-pkg.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
# - name: test
|
||||
# debug:
|
||||
# msg: "{{ item }}"
|
||||
# with_items:
|
||||
# - "{{ datagate_trace_url }}"
|
||||
# - "{{ datagate_trace_port }}"
|
||||
# - "{{ datagate_trace_timeout }}"
|
||||
# - "{{ datagate_manifes_url }}"
|
||||
# - "{{ datagate_manifest_port }}"
|
||||
# - "{{ datagate_manifest_timeout }}"
|
||||
# - "{{ datagate_metric_url }}"
|
||||
# - "{{ datagate_metric_port }}"
|
||||
# - "{{ datagate_metric_timeout }}"
|
||||
# - "{{ datagate_plan_url }}"
|
||||
# - "{{ datagate_plan_port }}"
|
||||
# - "{{ datagate_plan_timeout }}"
|
||||
# - "{{ datagate_loggate_url }}"
|
||||
# - "{{ datagate_loggate_port }}"
|
||||
# - "{{ datagate_loggate_timeout }}"
|
||||
# - "{{ datasaker_api_url }}"
|
||||
# - "{{ datasaker_api_send_interval }}"
|
||||
|
||||
- name: "Setting global-config"
|
||||
template:
|
||||
src: global-config.yml.j2
|
||||
dest: "/etc/datasaker/global-config.yml"
|
||||
|
||||
- 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: "Ensure downloaded file for {{ key_fingerprint }} is a 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: "0600"
|
||||
remote_src: yes
|
||||
|
||||
- name: "Remove temporary directory for key manipulation"
|
||||
file:
|
||||
path: "{{ tempdir.path }}"
|
||||
state: absent
|
||||
|
||||
#- name: Import datasaker GPG key
|
||||
# apt_key:
|
||||
# url: https://dsk-agent-s3.s3.ap-northeast-2.amazonaws.com/dsk-agent-s3/public/public.gpg.key
|
||||
# state: present
|
||||
# become: true
|
||||
|
||||
- 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.list
|
||||
|
||||
- name: Install required packages
|
||||
apt:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
update_cache: yes
|
||||
with_items:
|
||||
- "{{ datasaker_agents }}"
|
||||
notify:
|
||||
- Restart {{ item }} service
|
||||
3
tasks/gather-facts.yml
Normal file
3
tasks/gather-facts.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
- name: Gather Ansible Facts
|
||||
ansible.builtin.setup:
|
||||
12
tasks/main.yml
Normal file
12
tasks/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
- name: Include Gather Ansible Facts task on Ansible >= 2.10
|
||||
include_tasks: gather-facts.yml
|
||||
when: ansible_version.major >= 2 and ansible_version.minor >= 10
|
||||
|
||||
- name: Include Datasaker Add Repository
|
||||
include_tasks: dsk-common.yml
|
||||
when: ansible_facts.os_family == "Debian"
|
||||
|
||||
- name: Include Datasaker Host Agent Install
|
||||
include_tasks: dsk-debian-pkg.yml
|
||||
when: ansible_facts.os_family == "Debian"
|
||||
22
templates/global-config.yml.j2
Normal file
22
templates/global-config.yml.j2
Normal file
@@ -0,0 +1,22 @@
|
||||
global:
|
||||
api_key: {{ datasaker_api_key }}
|
||||
gates:
|
||||
trace_datagate:
|
||||
url: {{ datagate_trace_url }}:{{ datagate_trace_port }}
|
||||
remote_timeout: {{ datagate_trace_timeout }}
|
||||
manifest_datagate:
|
||||
url: {{ datagate_manifest_url }}:{{ datagate_manifest_port }}
|
||||
remote_timeout: {{ datagate_manifest_timeout }}
|
||||
metric_datagate:
|
||||
url: {{ datagate_metric_url }}:{{ datagate_metric_port }}
|
||||
remote_timeout: {{ datagate_metric_timeout }}
|
||||
plan_datagate:
|
||||
url: {{ datagate_plan_url }}:{{ datagate_plan_port }}
|
||||
remote_timeout: {{ datagate_plan_timeout }}
|
||||
loggate:
|
||||
url: {{ datagate_loggate_url }}:{{ datagate_loggate_port }}
|
||||
remote_timeout: {{ datagate_loggate_timeout }}
|
||||
agent_manager:
|
||||
url: {{ datasaker_api_url }}
|
||||
base_url: /dsk-agentmanager-api/agent
|
||||
send_interval: {{ datasaker_api_send_interval }}
|
||||
Reference in New Issue
Block a user