Merge pull request #41 from nginxinc/(feature)/unit-add-distros
(feature)/unit add distros
This commit is contained in:
commit
e9b8e57566
52
README.md
52
README.md
@ -17,6 +17,7 @@ It supports all platforms supported by [NGINX Open Source](https://nginx.org/en/
|
|||||||
|
|
||||||
**NGINX Open Source:**
|
**NGINX Open Source:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
CentOS:
|
CentOS:
|
||||||
versions:
|
versions:
|
||||||
- 6
|
- 6
|
||||||
@ -33,13 +34,28 @@ It supports all platforms supported by [NGINX Open Source](https://nginx.org/en/
|
|||||||
versions:
|
versions:
|
||||||
- trusty
|
- trusty
|
||||||
- xenial
|
- xenial
|
||||||
- zesty
|
- artful
|
||||||
|
- bionic
|
||||||
SUSE/SLES:
|
SUSE/SLES:
|
||||||
versions:
|
versions:
|
||||||
- 12
|
- 12
|
||||||
|
FreeBSD:
|
||||||
|
versions:
|
||||||
|
- 10
|
||||||
|
- 11
|
||||||
|
```
|
||||||
|
|
||||||
**NGINX Plus:**
|
**NGINX Plus:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
CentOS:
|
||||||
|
versions:
|
||||||
|
- 6
|
||||||
|
- 7
|
||||||
|
RedHat:
|
||||||
|
versions:
|
||||||
|
- 6
|
||||||
|
- 7
|
||||||
Debian:
|
Debian:
|
||||||
versions:
|
versions:
|
||||||
- jessie
|
- jessie
|
||||||
@ -48,33 +64,27 @@ It supports all platforms supported by [NGINX Open Source](https://nginx.org/en/
|
|||||||
versions:
|
versions:
|
||||||
- trusty
|
- trusty
|
||||||
- xenial
|
- xenial
|
||||||
- zesty
|
|
||||||
- artful
|
- artful
|
||||||
CentOS:
|
- bionic
|
||||||
versions:
|
|
||||||
- 6.5
|
|
||||||
- 7
|
|
||||||
RedHat:
|
|
||||||
versions:
|
|
||||||
- 6.5
|
|
||||||
- 7
|
|
||||||
Oracle Linux:
|
Oracle Linux:
|
||||||
versions:
|
versions:
|
||||||
- 6.5
|
- 6.5
|
||||||
- 7
|
- 7
|
||||||
Amazon Linux:
|
Amazon Linux:
|
||||||
versions:
|
versions:
|
||||||
- 2016.09
|
- 2018.03
|
||||||
SUSE/SLES:
|
SUSE/SLES:
|
||||||
versions:
|
versions:
|
||||||
- 12
|
- 12
|
||||||
FreeBSD:
|
FreeBSD:
|
||||||
versions:
|
versions:
|
||||||
- 10.3
|
- 10
|
||||||
- 11
|
- 11
|
||||||
|
```
|
||||||
|
|
||||||
**NGINX Unit:**
|
**NGINX Unit:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
CentOS:
|
CentOS:
|
||||||
versions:
|
versions:
|
||||||
- 6
|
- 6
|
||||||
@ -94,13 +104,20 @@ It supports all platforms supported by [NGINX Open Source](https://nginx.org/en/
|
|||||||
- bionic
|
- bionic
|
||||||
Amazon Linux:
|
Amazon Linux:
|
||||||
versions:
|
versions:
|
||||||
- 2016.09
|
- 2018.03
|
||||||
|
- 2
|
||||||
|
FreeBSD:
|
||||||
|
versions:
|
||||||
|
- 10
|
||||||
|
- 11
|
||||||
|
```
|
||||||
|
|
||||||
Role Variables
|
Role Variables
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
This role has multiple variables. The defaults for all these variables are the following:
|
This role has multiple variables. The defaults for all these variables are the following:
|
||||||
|
|
||||||
|
```yaml
|
||||||
---
|
---
|
||||||
# Install NGINX.
|
# Install NGINX.
|
||||||
# Default is true.
|
# Default is true.
|
||||||
@ -198,6 +215,7 @@ This role has multiple variables. The defaults for all these variables are the f
|
|||||||
# Default is false.
|
# Default is false.
|
||||||
unit_enable: false
|
unit_enable: false
|
||||||
unit_modules: null
|
unit_modules: null
|
||||||
|
```
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
@ -209,14 +227,17 @@ Example Playbook
|
|||||||
|
|
||||||
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing the open source version of NGINX.
|
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing the open source version of NGINX.
|
||||||
|
|
||||||
|
```yaml
|
||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
become: true
|
become: true
|
||||||
roles:
|
roles:
|
||||||
- role: nginxinc.nginx
|
- role: nginxinc.nginx
|
||||||
|
```
|
||||||
|
|
||||||
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing NGINX Plus.
|
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing NGINX Plus.
|
||||||
|
|
||||||
|
```yaml
|
||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
become: true
|
become: true
|
||||||
@ -224,17 +245,21 @@ This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a
|
|||||||
- role: nginxinc.nginx
|
- role: nginxinc.nginx
|
||||||
vars:
|
vars:
|
||||||
type: plus
|
type: plus
|
||||||
|
```
|
||||||
|
|
||||||
This is a sample playbook file for deploying the Ansible Galaxy NGINX role to a dynamic inventory containing the `nginx` tag.
|
This is a sample playbook file for deploying the Ansible Galaxy NGINX role to a dynamic inventory containing the `nginx` tag.
|
||||||
|
|
||||||
|
```yml
|
||||||
---
|
---
|
||||||
- hosts: tag_nginx
|
- hosts: tag_nginx
|
||||||
remote_user: root
|
remote_user: root
|
||||||
roles:
|
roles:
|
||||||
- role: nginxinc.nginx
|
- role: nginxinc.nginx
|
||||||
|
```
|
||||||
|
|
||||||
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost to install NGINX Unit and the PHP/Perl NGINX Unit language modules.
|
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost to install NGINX Unit and the PHP/Perl NGINX Unit language modules.
|
||||||
|
|
||||||
|
```yml
|
||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
become: true
|
become: true
|
||||||
@ -246,6 +271,7 @@ This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a
|
|||||||
unit_modules:
|
unit_modules:
|
||||||
- unit-php
|
- unit-php
|
||||||
- unit-perl
|
- unit-perl
|
||||||
|
```
|
||||||
|
|
||||||
To run any of the above sample playbooks create a `setup-nginx.yml` file and paste the contents. Executing the Ansible Playbook is then as simple as executing `ansible-playbook setup-nginx.yml`.
|
To run any of the above sample playbooks create a `setup-nginx.yml` file and paste the contents. Executing the Ansible Playbook is then as simple as executing `ansible-playbook setup-nginx.yml`.
|
||||||
|
|
||||||
|
@ -1,17 +1,20 @@
|
|||||||
---
|
---
|
||||||
# Start NGINX
|
|
||||||
- name: "(Handler: All OSs) Start NGINX"
|
- name: "(Handler: All OSs) Start NGINX"
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: started
|
state: started
|
||||||
|
|
||||||
# Reload NGINX
|
|
||||||
- name: "(Handler: All OSs) Reload NGINX"
|
- name: "(Handler: All OSs) Reload NGINX"
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: reloaded
|
state: reloaded
|
||||||
|
|
||||||
- name: "(Handler: All OSs) Start NGINX Unit"
|
- name: "(Handler: Debian/Ubuntu/CentOS/RedHat) Start NGINX Unit"
|
||||||
service:
|
service:
|
||||||
name: unit
|
name: unit
|
||||||
state: started
|
state: started
|
||||||
|
|
||||||
|
- name: "(Handler: FreeBSD) Start NGINX Unit"
|
||||||
|
service:
|
||||||
|
name: unitd
|
||||||
|
state: started
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
|
---
|
||||||
galaxy_info:
|
galaxy_info:
|
||||||
author: Alessandro Fael Garcia
|
author: Alessandro Fael Garcia
|
||||||
description: Official Ansible role for NGINX
|
description: Official Ansible role for NGINX
|
||||||
company: NGINX Inc
|
company: NGINX, Inc.
|
||||||
|
|
||||||
license: Apache License, Version 2.0
|
license: Apache License, Version 2.0
|
||||||
|
|
||||||
@ -10,15 +11,14 @@ galaxy_info:
|
|||||||
platforms:
|
platforms:
|
||||||
- name: Debian
|
- name: Debian
|
||||||
versions:
|
versions:
|
||||||
- wheezy
|
|
||||||
- jessie
|
- jessie
|
||||||
- stretch
|
- stretch
|
||||||
- name: Ubuntu
|
- name: Ubuntu
|
||||||
versions:
|
versions:
|
||||||
- precise
|
|
||||||
- trusty
|
- trusty
|
||||||
- xenial
|
- xenial
|
||||||
- yakkety
|
- artful
|
||||||
|
- bionic
|
||||||
- name: EL
|
- name: EL
|
||||||
versions:
|
versions:
|
||||||
- 6
|
- 6
|
||||||
@ -26,6 +26,10 @@ galaxy_info:
|
|||||||
- name: SLES
|
- name: SLES
|
||||||
versions:
|
versions:
|
||||||
- 12
|
- 12
|
||||||
|
- name: FreeBSD
|
||||||
|
versions:
|
||||||
|
- 10
|
||||||
|
- 11
|
||||||
|
|
||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- nginx
|
- nginx
|
||||||
|
@ -1,7 +1,16 @@
|
|||||||
---
|
---
|
||||||
- name: "(Install: All OSs) Install NGINX Unit Modules"
|
- name: "(Install: Debian/Ubuntu/CentOS/RedHat) Install NGINX Unit Modules"
|
||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: present
|
state: present
|
||||||
with_items: "{{ unit_modules }}"
|
with_items: "{{ unit_modules }}"
|
||||||
notify: "(Handler: All OSs) Start NGINX Unit"
|
when: ansible_os_family != "FreeBSD"
|
||||||
|
notify: "(Handler: Debian/Ubuntu/CentOS/RedHat) Start NGINX Unit"
|
||||||
|
|
||||||
|
- name: "(Install: FreeBSD) Install NGINX Unit Modules"
|
||||||
|
portinstall:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items: "{{ unit_modules }}"
|
||||||
|
when: ansible_os_family == "FreeBSD"
|
||||||
|
notify: "(Handler: FreeBSD) Start NGINX Unit"
|
||||||
|
@ -5,11 +5,22 @@
|
|||||||
- import_tasks: setup-redhat.yml
|
- import_tasks: setup-redhat.yml
|
||||||
when: ansible_os_family == "RedHat"
|
when: ansible_os_family == "RedHat"
|
||||||
|
|
||||||
- name: "(Install: All OSs) Install NGINX Unit"
|
- import_tasks: setup-freebsd.yml
|
||||||
|
when: ansible_os_family == "FreeBSD"
|
||||||
|
|
||||||
|
- name: "(Install: Debian/Ubuntu/CentOS/RedHat) Install NGINX Unit"
|
||||||
package:
|
package:
|
||||||
name: unit
|
name: unit
|
||||||
state: present
|
state: present
|
||||||
notify: "(Handler: All OSs) Start NGINX Unit"
|
when: ansible_os_family != "FreeBSD"
|
||||||
|
notify: "(Handler: Debian/Ubuntu/CentOS/RedHat) Start NGINX Unit"
|
||||||
|
|
||||||
|
- name: "(Install: FreeBSD) Install NGINX Unit"
|
||||||
|
portinstall:
|
||||||
|
name: unit
|
||||||
|
state: present
|
||||||
|
when: ansible_os_family == "FreeBSD"
|
||||||
|
notify: "(Handler: FreeBSD) Start NGINX Unit"
|
||||||
|
|
||||||
- import_tasks: install-modules.yml
|
- import_tasks: install-modules.yml
|
||||||
when: unit_modules is defined and unit_modules
|
when: unit_modules is defined and unit_modules
|
||||||
|
10
tasks/unit/setup-freebsd.yml
Normal file
10
tasks/unit/setup-freebsd.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
- name: "(Install: FreeBSD) Fetch Ports"
|
||||||
|
command: portsnap fetch --interactive
|
||||||
|
args:
|
||||||
|
creates: /var/db/portsnap/INDEX
|
||||||
|
|
||||||
|
- name: "(Install: FreeBSD) Extract Ports"
|
||||||
|
command: portsnap extract
|
||||||
|
args:
|
||||||
|
creates: /usr/ports
|
@ -11,7 +11,7 @@
|
|||||||
- name: "(Install: Amazon Linux) Add NGINX Unit Repository"
|
- name: "(Install: Amazon Linux) Add NGINX Unit Repository"
|
||||||
yum_repository:
|
yum_repository:
|
||||||
name: unit
|
name: unit
|
||||||
baseurl: https://packages.nginx.org/unit/amzn/$releasever/$basearch/
|
baseurl: https://packages.nginx.org/unit/amzn{{ (ansible_distribution_version == "2") | ternary('2', '') }}/$releasever/$basearch/
|
||||||
description: NGINX Unit Repository
|
description: NGINX Unit Repository
|
||||||
enabled: yes
|
enabled: yes
|
||||||
gpgcheck: yes
|
gpgcheck: yes
|
||||||
|
Loading…
Reference in New Issue
Block a user