add nomad role
This commit is contained in:
		
							
								
								
									
										18
									
								
								roles/nomad/tasks/RedHat.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								roles/nomad/tasks/RedHat.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
---
 | 
			
		||||
- name: install Hashicorp yum repo
 | 
			
		||||
  yum_repository:
 | 
			
		||||
    name: hashicorp
 | 
			
		||||
    description: Hashicorp Stable - $basearch
 | 
			
		||||
    baseurl: https://rpm.releases.hashicorp.com/RHEL/$releasever/$basearch/stable
 | 
			
		||||
    enabled: 1
 | 
			
		||||
    gpgcheck: 1
 | 
			
		||||
    gpgkey: https://rpm.releases.hashicorp.com/gpg
 | 
			
		||||
 | 
			
		||||
- name: install Hashicorp (test) yum repo
 | 
			
		||||
  yum_repository:
 | 
			
		||||
    name: hashicorp-test
 | 
			
		||||
    description: Hashicorp Test - $basearch
 | 
			
		||||
    baseurl: https://rpm.releases.hashicorp.com/RHEL/$releasever/$basearch/test
 | 
			
		||||
    enabled: 0
 | 
			
		||||
    gpgcheck: 1
 | 
			
		||||
    gpgkey: https://rpm.releases.hashicorp.com/gpg
 | 
			
		||||
							
								
								
									
										97
									
								
								roles/nomad/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								roles/nomad/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,97 @@
 | 
			
		||||
---
 | 
			
		||||
- name: gather os specific variables
 | 
			
		||||
  include_vars: "{{ lookup('first_found', possible_files) }}"
 | 
			
		||||
  vars:
 | 
			
		||||
    possible_files:
 | 
			
		||||
      files:
 | 
			
		||||
        - "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
 | 
			
		||||
        - "{{ ansible_distribution }}.yaml"
 | 
			
		||||
        - "{{ ansible_os_family }}.yaml"
 | 
			
		||||
        - "default.yaml"
 | 
			
		||||
      paths:
 | 
			
		||||
        - vars
 | 
			
		||||
 | 
			
		||||
- name: include os specific tasks
 | 
			
		||||
  include_tasks: "{{ lookup('first_found', possible_files) }}"
 | 
			
		||||
  vars:
 | 
			
		||||
    possible_files:
 | 
			
		||||
      files:
 | 
			
		||||
        - "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
 | 
			
		||||
        - "{{ ansible_distribution }}.yaml"
 | 
			
		||||
        - "{{ ansible_os_family }}.yaml"
 | 
			
		||||
        - "default.yaml"
 | 
			
		||||
      paths:
 | 
			
		||||
        - tasks
 | 
			
		||||
 | 
			
		||||
- name: enable br_netfilter
 | 
			
		||||
  modprobe:
 | 
			
		||||
    name: br_netfilter
 | 
			
		||||
    state: present
 | 
			
		||||
 | 
			
		||||
- name: enable br_netfilter (persistent)
 | 
			
		||||
  copy:
 | 
			
		||||
    dest: /etc/modules-load.d/br_netfilter.conf
 | 
			
		||||
    content: br_netfilter
 | 
			
		||||
    mode: 0644
 | 
			
		||||
 | 
			
		||||
- name: sysctl net.bridge.bridge-nf-call-arptables
 | 
			
		||||
  sysctl:
 | 
			
		||||
    name: net.bridge.bridge-nf-call-arptables
 | 
			
		||||
    value: "1"
 | 
			
		||||
    sysctl_set: yes
 | 
			
		||||
    state: present
 | 
			
		||||
 | 
			
		||||
- name: sysctl net.bridge.bridge-nf-call-ip6tables
 | 
			
		||||
  sysctl:
 | 
			
		||||
    name: net.bridge.bridge-nf-call-ip6tables
 | 
			
		||||
    value: "1"
 | 
			
		||||
    sysctl_set: yes
 | 
			
		||||
    state: present
 | 
			
		||||
 | 
			
		||||
- name: sysctl net.bridge.bridge-nf-call-iptables
 | 
			
		||||
  sysctl:
 | 
			
		||||
    name: net.bridge.bridge-nf-call-iptables
 | 
			
		||||
    value: "1"
 | 
			
		||||
    sysctl_set: yes
 | 
			
		||||
    state: present
 | 
			
		||||
 | 
			
		||||
- name: create plugin directory
 | 
			
		||||
  file:
 | 
			
		||||
    path: "{{ nomad_plugin_dir }}"
 | 
			
		||||
    state: directory
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: root
 | 
			
		||||
    mode: "0755"
 | 
			
		||||
 | 
			
		||||
- name: install unzip
 | 
			
		||||
  package:
 | 
			
		||||
    name: unzip
 | 
			
		||||
    state: present
 | 
			
		||||
 | 
			
		||||
- name: install plugins
 | 
			
		||||
  unarchive:
 | 
			
		||||
    src: "{{ item }}"
 | 
			
		||||
    dest: "{{ nomad_plugin_dir }}"
 | 
			
		||||
    remote_src: true
 | 
			
		||||
  loop: "{{ nomad_plugins }}"
 | 
			
		||||
  notify: restart nomad
 | 
			
		||||
 | 
			
		||||
- name: install
 | 
			
		||||
  package:
 | 
			
		||||
    name: "{{ nomad_package_name | default('nomad') }}"
 | 
			
		||||
    state: "{{ nomad_package_state | default('present') }}"
 | 
			
		||||
 | 
			
		||||
- name: configure
 | 
			
		||||
  template:
 | 
			
		||||
    src: "{{ nomad_config_template }}"
 | 
			
		||||
    dest: "{{ nomad_config_path }}"
 | 
			
		||||
    owner: "{{ nomad_config_owner }}"
 | 
			
		||||
    group: "{{ nomad_config_group }}"
 | 
			
		||||
    mode: "{{ nomad_config_mode }}"
 | 
			
		||||
  notify: restart nomad
 | 
			
		||||
 | 
			
		||||
- name: service
 | 
			
		||||
  service:
 | 
			
		||||
    name: "{{ nomad_service_name | default('nomad') }}"
 | 
			
		||||
    state: "{{ nomad_service_state | default('started') }}"
 | 
			
		||||
    enabled: "{{ nomad_service_enabled | default(true) }}"
 | 
			
		||||
		Reference in New Issue
	
	Block a user