diff --git a/README.md b/README.md index 7596411..fd11749 100644 --- a/README.md +++ b/README.md @@ -84,11 +84,24 @@ This role has multiple variables. The defaults for all these variables are the f # Default is 'opensource'. type: opensource - # Specify source respository for NGINX Open Source. + # Specify repository origin for NGINX Open Source. # Options are 'nginx_repository' or 'os_repository'. + # Only works if 'type' is set to 'opensource'. # Default is nginx_repository. install_from: nginx_repository + # Specify source repository for NGINX Open Source. + # Only works if 'install_from' is set to 'nginx_repository'. + # Defaults are the official NGINX repositories. + nginx_repository: + debian: + - 'deb https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx' + - 'deb-src https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx' + redhat: + - https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}{{ (ansible_distribution == "RedHat") | ternary('rhel/', 'centos/') }}{{ ansible_distribution_major_version|int }}/$basearch/ + suse: + - https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}sles/12 + # Specify which branch of NGINX Open Source you want to install. # Options are 'mainline' or 'stable'. # Only works if 'install_from' is set to 'nginx_repository'. diff --git a/defaults/main.yml b/defaults/main.yml index 020fc8c..c1120ab 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -4,11 +4,24 @@ # Default is 'opensource'. type: opensource -# Specify source respository for NGINX Open Source. +# Specify repository origin for NGINX Open Source. # Options are 'nginx_repository' or 'os_repository'. +# Only works if 'type' is set to 'opensource'. # Default is nginx_repository. install_from: nginx_repository +# Specify source repository for NGINX Open Source. +# Only works if 'install_from' is set to 'nginx_repository'. +# Defaults are the official NGINX repositories. +nginx_repository: + debian: + - 'deb https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx' + - 'deb-src https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx' + redhat: + - https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}{{ (ansible_distribution == "RedHat") | ternary('rhel/', 'centos/') }}{{ ansible_distribution_major_version|int }}/$basearch/ + suse: + - https://nginx.org/packages/{{ "mainline/" if branch == "mainline" }}sles/12 + # Specify which branch of NGINX Open Source you want to install. # Options are 'mainline' or 'stable'. # Only works if 'install_from' is set to 'nginx_repository'. diff --git a/tasks/opensource/setup-debian.yml b/tasks/opensource/setup-debian.yml index 8feb1d4..2b90dd3 100644 --- a/tasks/opensource/setup-debian.yml +++ b/tasks/opensource/setup-debian.yml @@ -1,16 +1,6 @@ --- -- name: "(Install: Debian/Ubuntu) Add Mainline NGINX Repository" +- name: "(Install: Debian/Ubuntu) Add NGINX Repository" apt_repository: repo: "{{ item }}" with_items: - - deb https://nginx.org/packages/mainline/{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - - deb-src https://nginx.org/packages/mainline/{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - when: branch == "mainline" - -- name: "(Install: Debian/Ubuntu) Add Stable NGINX Repository" - apt_repository: - repo: "{{ item }}" - with_items: - - deb https://nginx.org/packages/{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - - deb-src https://nginx.org/packages/{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - when: branch == "stable" + - "{{ nginx_repository.debian }}" diff --git a/tasks/opensource/setup-redhat.yml b/tasks/opensource/setup-redhat.yml index abecbd9..6e70aff 100644 --- a/tasks/opensource/setup-redhat.yml +++ b/tasks/opensource/setup-redhat.yml @@ -1,36 +1,8 @@ --- -- name: "(Install: RedHat) Add Mainline NGINX Repository" +- name: "(Install: CentOS/RedHat) Add NGINX Repository" yum_repository: name: nginx - baseurl: https://nginx.org/packages/mainline/rhel/{{ ansible_distribution_major_version|int }}/$basearch/ + baseurl: "{{ nginx_repository.redhat }}" description: NGINX Repository enabled: yes gpgcheck: yes - when: branch == "mainline" and ansible_distribution == "RedHat" - -- name: "(Install: CentOS) Add Mainline NGINX Repository" - yum_repository: - name: nginx - baseurl: https://nginx.org/packages/mainline/centos/{{ ansible_distribution_major_version|int }}/$basearch/ - description: NGINX Repository - enabled: yes - gpgcheck: yes - when: branch == "mainline" and ansible_distribution == "CentOS" - -- name: "(Install: RedHat) Add Stable NGINX Repository" - yum_repository: - name: nginx - baseurl: https://nginx.org/packages/rhel/{{ ansible_distribution_major_version|int }}/$basearch/ - description: NGINX Repository - enabled: yes - gpgcheck: yes - when: branch == "stable" and ansible_distribution == "RedHat" - -- name: "(Install: CentOS) Add Stable NGINX Repository" - yum_repository: - name: nginx - baseurl: https://nginx.org/packages/centos/{{ ansible_distribution_major_version|int }}/$basearch/ - description: NGINX Repository - enabled: yes - gpgcheck: yes - when: branch == "stable" and ansible_distribution == "CentOS" diff --git a/tasks/opensource/setup-suse.yml b/tasks/opensource/setup-suse.yml index 2a1c61c..3e9b3e1 100644 --- a/tasks/opensource/setup-suse.yml +++ b/tasks/opensource/setup-suse.yml @@ -1,12 +1,5 @@ --- -- name: "(Install: SUSE) Add Mainline NGINX Repository" +- name: "(Install: SUSE) Add NGINX Repository" zypper_repository: name: nginx - repo: https://nginx.org/packages/mainline/sles/12 - when: branch == "mainline" - -- name: "(Install: SUSE) Add Stable NGINX Repository" - zypper_repository: - name: nginx - repo: https://nginx.org/packages/sles/12 - when: branch == "stable" + repo: "{{ nginx_repository.suse }}"