Fix OSS Alpine installation and add Alpine test coverage (#190)
This commit is contained in:
parent
16f21c5c7c
commit
59e0170313
@ -11,7 +11,7 @@ nginx_start: true
|
|||||||
nginx_debug_output: false
|
nginx_debug_output: false
|
||||||
|
|
||||||
# Supported systems
|
# Supported systems
|
||||||
nginx_linux_families: ['Debian', 'RedHat', 'Suse']
|
nginx_linux_families: ['Alpine', 'Debian', 'RedHat', 'Suse']
|
||||||
nginx_bsd_systems: ['FreeBSD', 'NetBSD', 'OpenBSD', 'DragonFlyBSD', 'HardenedBSD']
|
nginx_bsd_systems: ['FreeBSD', 'NetBSD', 'OpenBSD', 'DragonFlyBSD', 'HardenedBSD']
|
||||||
|
|
||||||
# Specify which type of NGINX you want to install.
|
# Specify which type of NGINX you want to install.
|
||||||
@ -35,24 +35,7 @@ nginx_install_from: nginx_repository
|
|||||||
# Specify source repository for NGINX Open Source.
|
# Specify source repository for NGINX Open Source.
|
||||||
# Only works if 'install_from' is set to 'nginx_repository'.
|
# Only works if 'install_from' is set to 'nginx_repository'.
|
||||||
# Defaults are the official NGINX repositories.
|
# Defaults are the official NGINX repositories.
|
||||||
nginx_repository:
|
# nginx_repository: deb https://nginx.org/packages/mainline/debian/ stretch nginx
|
||||||
alpine: >-
|
|
||||||
https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
|
||||||
| ternary('mainline/', '') }}alpine/v{{ ansible_distribution_version | regex_search('^[0-9]+\\.[0-9]+') }}/main
|
|
||||||
debian:
|
|
||||||
- >-
|
|
||||||
deb https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
|
||||||
| ternary('mainline/', '') }}{{ ansible_distribution | lower }}/ {{ ansible_distribution_release }} nginx
|
|
||||||
- >-
|
|
||||||
deb-src https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
|
||||||
| ternary('mainline/', '') }}{{ ansible_distribution | lower }}/ {{ ansible_distribution_release }} nginx
|
|
||||||
redhat: >-
|
|
||||||
https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
|
||||||
| ternary('mainline/', '') }}{{ (ansible_distribution == "RedHat")
|
|
||||||
| ternary('rhel', 'centos') }}/{{ ansible_distribution_major_version }}/$basearch/
|
|
||||||
suse: >-
|
|
||||||
https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
|
||||||
| ternary('mainline/', '') }}sles/{{ ansible_distribution_major_version }}
|
|
||||||
|
|
||||||
# Choose to install BSD packages or ports.
|
# Choose to install BSD packages or ports.
|
||||||
# Options are True for packages or False for ports.
|
# Options are True for packages or False for ports.
|
||||||
|
@ -34,7 +34,8 @@ RUN \
|
|||||||
&& zypper clean -a; \
|
&& zypper clean -a; \
|
||||||
elif [ $(command -v apk) ]; then \
|
elif [ $(command -v apk) ]; then \
|
||||||
apk update \
|
apk update \
|
||||||
&& apk add --no-cache python sudo bash ca-certificates; \
|
&& apk add --no-cache python sudo bash ca-certificates curl openrc; \
|
||||||
|
echo 'rc_provide="loopback net"' >> /etc/rc.conf; \
|
||||||
elif [ $(command -v xbps-install) ]; then \
|
elif [ $(command -v xbps-install) ]; then \
|
||||||
xbps-install -Syu \
|
xbps-install -Syu \
|
||||||
&& xbps-install -y python sudo bash ca-certificates iproute2 \
|
&& xbps-install -y python sudo bash ca-certificates iproute2 \
|
||||||
|
@ -4,6 +4,18 @@ driver:
|
|||||||
lint:
|
lint:
|
||||||
name: yamllint
|
name: yamllint
|
||||||
platforms:
|
platforms:
|
||||||
|
- name: alpine-3.8
|
||||||
|
image: alpine:3.8
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.9
|
||||||
|
image: alpine:3.9
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.10
|
||||||
|
image: alpine:3.10
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
command: "/sbin/init"
|
||||||
- name: centos-6
|
- name: centos-6
|
||||||
image: centos:6
|
image: centos:6
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
- name: Converge
|
- name: Converge
|
||||||
hosts: all
|
hosts: all
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
|
- name: "Set repo if Alpine"
|
||||||
|
set_fact:
|
||||||
|
version: "=1.17.6-r1"
|
||||||
|
when: ansible_os_family == "Alpine"
|
||||||
- name: "Set repo if Debian"
|
- name: "Set repo if Debian"
|
||||||
set_fact:
|
set_fact:
|
||||||
version: "=1.17.6-1~{{ ansible_distribution_release }}"
|
version: "=1.17.6-1~{{ ansible_distribution_release }}"
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
---
|
---
|
||||||
|
- name: "(Install: APK OSs) Set Default APK NGINX Signing Key URL"
|
||||||
|
set_fact:
|
||||||
|
default_keysite: https://nginx.org/keys/nginx_signing.rsa.pub
|
||||||
|
|
||||||
|
- name: "(Install: APK OSs) Set APK NGINX Signing Key URL"
|
||||||
|
set_fact:
|
||||||
|
keysite: "{{ nginx_signing_key | default(default_keysite) }}"
|
||||||
|
|
||||||
- name: "(Install: APK OSs) Download NGINX Signing Key"
|
- name: "(Install: APK OSs) Download NGINX Signing Key"
|
||||||
get_url:
|
get_url:
|
||||||
url: https://nginx.org/keys/nginx_signing.rsa.pub
|
url: "{{ keysite }}"
|
||||||
dest: /etc/apk/keys/nginx_signing.rsa.pub
|
dest: /etc/apk/keys/nginx_signing.rsa.pub
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
- name: "(Install: Linux) Configure NGINX repo"
|
- name: "(Install: Linux) Configure NGINX repo"
|
||||||
block:
|
block:
|
||||||
|
|
||||||
|
- import_tasks: setup-alpine.yml
|
||||||
|
when: ansible_os_family == "Alpine"
|
||||||
|
|
||||||
- import_tasks: setup-debian.yml
|
- import_tasks: setup-debian.yml
|
||||||
when: ansible_os_family == "Debian"
|
when: ansible_os_family == "Debian"
|
||||||
|
|
||||||
|
@ -1,6 +1,16 @@
|
|||||||
---
|
---
|
||||||
- name: "(Install: Alpine Linux) Add NGINX Plus Repository"
|
- name: "(Install: Alpine) Set Default APK NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
default_repository: >-
|
||||||
|
https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
||||||
|
| ternary('mainline/', '') }}alpine/v{{ ansible_distribution_version.split('.')[0] }}.{{ ansible_distribution_version.split('.')[1] }}/main
|
||||||
|
|
||||||
|
- name: "(Install: Alpine) Set APK NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
repository: "{{ nginx_repository | default(default_repository) }}"
|
||||||
|
|
||||||
|
- name: "(Install: Alpine) Add NGINX Repository"
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: /etc/apk/repositories
|
path: /etc/apk/repositories
|
||||||
insertafter: EOF
|
insertafter: EOF
|
||||||
line: "{{ nginx_repository.alpine }}"
|
line: "{{ repository }}"
|
||||||
|
@ -1,6 +1,20 @@
|
|||||||
---
|
---
|
||||||
|
- name: "(Install: Debian/Ubuntu) Set Default APT NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
default_repository:
|
||||||
|
- >-
|
||||||
|
deb https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
||||||
|
| ternary('mainline/', '') }}{{ ansible_distribution | lower }}/ {{ ansible_distribution_release }} nginx
|
||||||
|
- >-
|
||||||
|
deb-src https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
||||||
|
| ternary('mainline/', '') }}{{ ansible_distribution | lower }}/ {{ ansible_distribution_release }} nginx
|
||||||
|
|
||||||
|
- name: "(Install: Debian/Ubuntu) Set APT NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
repository: "{{ nginx_repository | default(default_repository) }}"
|
||||||
|
|
||||||
- name: "(Install: Debian/Ubuntu) Add NGINX Repository"
|
- name: "(Install: Debian/Ubuntu) Add NGINX Repository"
|
||||||
apt_repository:
|
apt_repository:
|
||||||
repo: "{{ item }}"
|
repo: "{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ nginx_repository.debian }}"
|
- "{{ repository }}"
|
||||||
|
@ -1,8 +1,19 @@
|
|||||||
---
|
---
|
||||||
|
- name: "(Install: CentOS/RedHat) Set Default YUM NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
default_repository: >-
|
||||||
|
https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
||||||
|
| ternary('mainline/', '') }}{{ (ansible_distribution == "RedHat")
|
||||||
|
| ternary('rhel', 'centos') }}/{{ ansible_distribution_major_version }}/$basearch/
|
||||||
|
|
||||||
|
- name: "(Install: CentOS/RedHat) Set YUM NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
repository: "{{ nginx_repository | default(default_repository) }}"
|
||||||
|
|
||||||
- name: "(Install: CentOS/RedHat) Add NGINX Repository"
|
- name: "(Install: CentOS/RedHat) Add NGINX Repository"
|
||||||
yum_repository:
|
yum_repository:
|
||||||
name: nginx
|
name: nginx
|
||||||
baseurl: "{{ nginx_repository.redhat }}"
|
baseurl: "{{ repository }}"
|
||||||
description: NGINX Repository
|
description: NGINX Repository
|
||||||
enabled: yes
|
enabled: yes
|
||||||
gpgcheck: yes
|
gpgcheck: yes
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
---
|
---
|
||||||
|
- name: "(Install: SUSE) Set Default SUSE NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
default_repository: >-
|
||||||
|
https://nginx.org/packages/{{ (nginx_branch == 'mainline')
|
||||||
|
| ternary('mainline/', '') }}sles/{{ ansible_distribution_major_version }}
|
||||||
|
|
||||||
|
- name: "(Install: SUSE) Set SUSE NGINX Repository"
|
||||||
|
set_fact:
|
||||||
|
repository: "{{ nginx_repository | default(default_repository) }}"
|
||||||
|
|
||||||
- name: "(Install: SUSE) Add NGINX Repository"
|
- name: "(Install: SUSE) Add NGINX Repository"
|
||||||
zypper_repository:
|
zypper_repository:
|
||||||
name: "nginx-{{ nginx_branch }}"
|
name: "nginx-{{ nginx_branch }}"
|
||||||
repo: "{{ nginx_repository.suse }}"
|
repo: "{{ repository }}"
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
---
|
---
|
||||||
- import_tasks: setup-license.yml
|
- import_tasks: setup-license.yml
|
||||||
|
|
||||||
|
- import_tasks: setup-alpine.yml
|
||||||
|
when: ansible_os_family == "Alpine"
|
||||||
|
|
||||||
- import_tasks: setup-debian.yml
|
- import_tasks: setup-debian.yml
|
||||||
when: ansible_os_family == "Debian"
|
when: ansible_os_family == "Debian"
|
||||||
|
|
||||||
|
- import_tasks: setup-freebsd.yml
|
||||||
|
when: ansible_os_family == "FreeBSD"
|
||||||
|
|
||||||
- import_tasks: setup-redhat.yml
|
- import_tasks: setup-redhat.yml
|
||||||
when: ansible_os_family == "RedHat"
|
when: ansible_os_family == "RedHat"
|
||||||
|
|
||||||
- import_tasks: setup-suse.yml
|
- import_tasks: setup-suse.yml
|
||||||
when: ansible_os_family == "Suse"
|
when: ansible_os_family == "Suse"
|
||||||
|
|
||||||
- import_tasks: setup-freebsd.yml
|
|
||||||
when: ansible_os_family == "FreeBSD"
|
|
||||||
|
|
||||||
- import_tasks: setup-alpine.yml
|
|
||||||
when: ansible_os_family == "Alpine"
|
|
||||||
|
|
||||||
- name: "(Install: All OSs) Install NGINX Plus"
|
- name: "(Install: All OSs) Install NGINX Plus"
|
||||||
package:
|
package:
|
||||||
name: "nginx-plus{{ nginx_version | default('') }}"
|
name: "nginx-plus{{ nginx_version | default('') }}"
|
||||||
|
Loading…
Reference in New Issue
Block a user