diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..180a9f7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "roles/jenkins"] + path = roles/jenkins + url = https://github.com/geerlingguy/ansible-role-jenkins.git +[submodule "roles/java"] + path = roles/java + url = https://github.com/geerlingguy/ansible-role-java.git diff --git a/roles/_template/defaults/main.yml b/roles/_template/defaults/main.yml new file mode 100644 index 0000000..5fe8fbc --- /dev/null +++ b/roles/_template/defaults/main.yml @@ -0,0 +1,4 @@ +--- +# defaults/main.yml +# define default variable values here + diff --git a/roles/_template/handlers/main.yml b/roles/_template/handlers/main.yml new file mode 100644 index 0000000..78a2b67 --- /dev/null +++ b/roles/_template/handlers/main.yml @@ -0,0 +1,9 @@ +--- +# handlers/main.yml +# define handlers here + +#- name: restart +# service: name= state=restarted + +#- name: stop +# service: name= state=stopped diff --git a/roles/_template/meta/main.yml b/roles/_template/meta/main.yml new file mode 100644 index 0000000..edcec77 --- /dev/null +++ b/roles/_template/meta/main.yml @@ -0,0 +1,8 @@ +--- +# meta/main.yml +# define dependancies here + +# dependencies: + # - { role: geerlingguy.java } + +dependencies: [] \ No newline at end of file diff --git a/roles/_template/tasks/main.yml b/roles/_template/tasks/main.yml new file mode 100644 index 0000000..1c6f6cb --- /dev/null +++ b/roles/_template/tasks/main.yml @@ -0,0 +1,4 @@ +--- +# tasks/main.yml +# define tasks here + diff --git a/roles/_template/vars/_extravars.yml b/roles/_template/vars/_extravars.yml new file mode 100644 index 0000000..0bee844 --- /dev/null +++ b/roles/_template/vars/_extravars.yml @@ -0,0 +1,10 @@ +--- +# vars/_extravars.yml +# define extra variable values here +# this file should be loaded via an include_vars statement in the task. +# often this is used for managing differences in os. + +# Variable setup. +#- name: Include OS-Specific variables +# include_vars: "{{ ansible_os_family }}.yml" + diff --git a/roles/java b/roles/java new file mode 160000 index 0000000..14df32c --- /dev/null +++ b/roles/java @@ -0,0 +1 @@ +Subproject commit 14df32ccb7cb6060d3b11e1c702c2741684eda97 diff --git a/roles/jenkins b/roles/jenkins new file mode 160000 index 0000000..0b3c51a --- /dev/null +++ b/roles/jenkins @@ -0,0 +1 @@ +Subproject commit 0b3c51a7933d59e1dde3cbe3d137a157901945ec diff --git a/roles/nginx/defaults/main.yml b/roles/nginx/defaults/main.yml new file mode 100644 index 0000000..5fe8fbc --- /dev/null +++ b/roles/nginx/defaults/main.yml @@ -0,0 +1,4 @@ +--- +# defaults/main.yml +# define default variable values here + diff --git a/roles/nginx/handlers/main.yml b/roles/nginx/handlers/main.yml new file mode 100644 index 0000000..2edfeff --- /dev/null +++ b/roles/nginx/handlers/main.yml @@ -0,0 +1,12 @@ +--- +# handlers/main.yml +# define handlers here + +#- name: restart +# service: name= state=restarted + +#- name: stop +# service: name= state=stopped + +- name: reload nginx + service: name=nginx state=reloaded \ No newline at end of file diff --git a/roles/nginx/meta/main.yml b/roles/nginx/meta/main.yml new file mode 100644 index 0000000..edcec77 --- /dev/null +++ b/roles/nginx/meta/main.yml @@ -0,0 +1,8 @@ +--- +# meta/main.yml +# define dependancies here + +# dependencies: + # - { role: geerlingguy.java } + +dependencies: [] \ No newline at end of file diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml new file mode 100644 index 0000000..80a0b75 --- /dev/null +++ b/roles/nginx/tasks/main.yml @@ -0,0 +1,16 @@ +--- +# tasks/main.yml +# define tasks here + +- name: Install the nginx packages + apt: name={{ item }} state=present + with_items: + - nginx + +# - name: Ensure log directory exist + # file: path=/etc/nginx/sites-enabled state=directory mode=0644 + +- name: Copy the nginx configuration file + template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf + notify: + - reload nginx \ No newline at end of file diff --git a/roles/nginx/templates/nginx.conf.j2 b/roles/nginx/templates/nginx.conf.j2 new file mode 100644 index 0000000..66cf9f5 --- /dev/null +++ b/roles/nginx/templates/nginx.conf.j2 @@ -0,0 +1,49 @@ +user root; +worker_processes 8; +worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; +pid /var/run/nginx.pid; +worker_rlimit_nofile 65535; + +events { + use epoll; + worker_connections 65535; +} + +http { +server_tokens off; + include mime.types; + default_type application/octet-stream; + + log_format full '$remote_addr - $remote_user [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" $request_time'; + + + charset utf-8; + + server_names_hash_bucket_size 128; + client_header_buffer_size 32k; + large_client_header_buffers 4 64k; + client_max_body_size 8m; + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 60; + + open_file_cache max=65535 inactive=10s; + open_file_cache_valid 30s; + open_file_cache_min_uses 1; + + gzip on; + gzip_min_length 1k; + gzip_buffers 4 16k; + gzip_http_version 1.0; + gzip_comp_level 2; + gzip_types text/plain application/javascript text/css application/xml application/json; + gzip_vary on; + + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} diff --git a/roles/nginx/vars/_extravars.yml b/roles/nginx/vars/_extravars.yml new file mode 100644 index 0000000..0bee844 --- /dev/null +++ b/roles/nginx/vars/_extravars.yml @@ -0,0 +1,10 @@ +--- +# vars/_extravars.yml +# define extra variable values here +# this file should be loaded via an include_vars statement in the task. +# often this is used for managing differences in os. + +# Variable setup. +#- name: Include OS-Specific variables +# include_vars: "{{ ansible_os_family }}.yml" + diff --git a/xai-corp1.test.yml b/xai-corp1.test.yml index e36b642..f29cfc9 100644 --- a/xai-corp1.test.yml +++ b/xai-corp1.test.yml @@ -2,6 +2,11 @@ #playbook to test items on localhost - hosts: localhost + become: true + + vars: + java_packages: + - openjdk-7-jdk roles: - - docker \ No newline at end of file + - jenkins \ No newline at end of file