From 845cced6bbb3643eb892e279b8e6dce905e0d42d Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Thu, 22 Oct 2020 12:25:00 +1100 Subject: [PATCH] DCD-1123: Add nginx server for standalones. --- jira_software_server.yml | 7 ++++++- roles/nginx/defaults/main.yml | 3 +++ roles/nginx/handlers/main.yml | 12 ++++++++++++ roles/nginx/tasks/amazon.yml | 17 +++++++++++++++++ roles/nginx/tasks/main.yml | 10 ++++++++++ roles/nginx/templates/proxy.conf.j2 | 16 ++++++++++++++++ 6 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 roles/nginx/defaults/main.yml create mode 100644 roles/nginx/handlers/main.yml create mode 100644 roles/nginx/tasks/amazon.yml create mode 100644 roles/nginx/tasks/main.yml create mode 100644 roles/nginx/templates/proxy.conf.j2 diff --git a/jira_software_server.yml b/jira_software_server.yml index 1caf150..075f2da 100644 --- a/jira_software_server.yml +++ b/jira_software_server.yml @@ -12,6 +12,7 @@ atl_product_user: "jira" atl_product_edition: "jira-software" atl_product_version: "8.13.0" + atl_enable_clustering: false atl_db_host: "localhost" atl_jdbc_user: "jira" @@ -25,12 +26,15 @@ atl_jdbc_ctype: 'C' atl_jdbc_template: 'template0' + atl_jvm_heap: "12288m" atl_use_system_jdk: true atl_download_format: "tarball" atl_systemd_service_name: "jira.service" atl_write_tags: false - atl_enable_clustering: false + + atl_proxy_map: + "": "http://localhost:8080" roles: - role: linux_common @@ -41,3 +45,4 @@ - role: product_install - role: jira_config - role: product_startup + - role: nginx diff --git a/roles/nginx/defaults/main.yml b/roles/nginx/defaults/main.yml new file mode 100644 index 0000000..e3597d9 --- /dev/null +++ b/roles/nginx/defaults/main.yml @@ -0,0 +1,3 @@ +--- + +atl_proxy_map: {} diff --git a/roles/nginx/handlers/main.yml b/roles/nginx/handlers/main.yml new file mode 100644 index 0000000..23d1637 --- /dev/null +++ b/roles/nginx/handlers/main.yml @@ -0,0 +1,12 @@ +--- + +- name: Restart nginx + command: systemctl restart nginx.service + ignore_errors: true + +- name: Enable nginx + command: systemctl enable nginx.service + ignore_errors: true + +- name: Reload systemd units + command: systemctl daemon-reload diff --git a/roles/nginx/tasks/amazon.yml b/roles/nginx/tasks/amazon.yml new file mode 100644 index 0000000..cb82e91 --- /dev/null +++ b/roles/nginx/tasks/amazon.yml @@ -0,0 +1,17 @@ +--- + +- name: Enable nginx from 'extras' + command: amazon-linux-extras install -y "nginx1" + args: + creates: /sbin/nginx + environment: + PYTHON: /bin/python + +- name: Reload systemd units + command: systemctl daemon-reload + ignore_errors: true + +- name: Enable nginx + command: systemctl enable nginx.service + ignore_errors: true + diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml new file mode 100644 index 0000000..2dd5335 --- /dev/null +++ b/roles/nginx/tasks/main.yml @@ -0,0 +1,10 @@ +--- + +- name: Install distro-specific prerequisites + include_tasks: "{{ ansible_distribution|lower }}.yml" + +- name: Create nginx configuration + template: + src: proxy.conf.j2 + dest: /etc/nginx/default.d/proxy.conf + notify: Restart nginx diff --git a/roles/nginx/templates/proxy.conf.j2 b/roles/nginx/templates/proxy.conf.j2 new file mode 100644 index 0000000..1c576c9 --- /dev/null +++ b/roles/nginx/templates/proxy.conf.j2 @@ -0,0 +1,16 @@ + + {% for ctx, backend in atl_proxy_map.items() %} + location /{{ctx}} { + proxy_pass {{backend}}; + proxy_redirect off; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $http_connection; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $host; + } + {% endfor %}