Selaa lähdekoodia

ENH: Add install_from_ppa pillar setting and PPA pkgrepo

susefix
Wes Turner 10 vuotta sitten
vanhempi
commit
c696e87f34
5 muutettua tiedostoa jossa 47 lisäystä ja 6 poistoa
  1. +4
    -2
      nginx/init.sls
  2. +3
    -1
      nginx/map.jinja
  3. +16
    -1
      nginx/ng/install.sls
  4. +16
    -1
      nginx/package.sls
  5. +8
    -1
      pillar.example

+ 4
- 2
nginx/init.sls Näytä tiedosto

@@ -1,9 +1,11 @@
{%- set nginx=pillar.get('nginx', {}) %}

include:
- nginx.common
{% if pillar.get('nginx', {}).get('user_auth_enabled', true) %}
{% if nginx.get('user_auth_enabled', true) %}
- nginx.users
{% endif %}
{% if pillar.get('nginx', {}).get('install_from_source') %}
{% if nginx.get('install_from_source') %}
- nginx.source
{% else %}
- nginx.package

+ 3
- 1
nginx/map.jinja Näytä tiedosto

@@ -1,8 +1,10 @@
{% set nginx = salt['grains.filter_by']({
'Debian': {
'package': 'nginx',
'apache_utils': 'apache2-utils',
},
'RedHat': {
'package': 'nginx',
'apache_utils': 'httpd-tools',
},
}, merge=salt['pillar.get']('nginx:lookup')) %}
}, merge=salt['pillar.get']('nginx:lookup')) %}

+ 16
- 1
nginx/ng/install.sls Näytä tiedosto

@@ -5,10 +5,25 @@
{% from 'nginx/ng/map.jinja' import nginx, sls_block with context %}

nginx_install:
{% if nginx.from_source %}
{% if nginx.install_from_source %}
## add source compilation here
{% else %}
pkg.installed:
{{ sls_block(nginx.package.opts) }}
- name: {{ nginx.lookup.package }}
{% endif %}

{% if salt['grains.get']('os_family') == 'Debian' %}
{% if nginx.install_from_ppa %}
nginx_ppa_repo:
pkgrepo.managed:
- humanname: nginx-ppa-{{ grains['oscodename'] }}
- name: deb http://ppa.launchpad.net/nginx/stable/ubuntu {{ grains['oscodename'] }} main
- file: /etc/apt/sources.list.d/nginx-stable-{{ grains['oscodename'] }}.list
- dist: {{ grains['oscodename'] }}
- keyid: C300EE8C
- keyserver: keyserver.ubuntu.com
- require_in:
- pkg: nginx_install
{% endif %}
{% endif %}

+ 16
- 1
nginx/package.sls Näytä tiedosto

@@ -1,3 +1,4 @@
{% from "nginx/map.jinja" import nginx with context %}
{% set use_upstart = pillar.get('nginx', {}).get('use_upstart', true) %}
{% if use_upstart %}
nginx-old-init:
@@ -35,9 +36,23 @@ nginx-old-init-disable:
- file: nginx-old-init
{% endif %}

{% if salt['grains.get']('os_family') == 'Debian' %}
nginx-ppa-repo:
pkgrepo.managed:
- enabled: {{ salt['pillar.get']('nginx:install_from_ppa', False) }}
- humanname: nginx-ppa-{{ grains['oscodename'] }}
- name: deb http://ppa.launchpad.net/nginx/stable/ubuntu {{ grains['oscodename'] }} main
- file: /etc/apt/sources.list.d/nginx-stable-{{ grains['oscodename'] }}.list
- dist: {{ grains['oscodename'] }}
- keyid: C300EE8C
- keyserver: keyserver.ubuntu.com
- require_in:
- pkg: nginx
{% endif %}

nginx:
pkg.installed:
- name: nginx
- name: {{ nginx.package }}
{% if use_upstart %}
file:
- managed

+ 8
- 1
pillar.example Näytä tiedosto

@@ -1,5 +1,6 @@
nginx:
install_from_source: True
install_from_ppa: False
use_upstart: True
user_auth_enabled: True
with_luajit: False
@@ -13,6 +14,9 @@ nginx:
source: http://github.com/agentzh/headers-more-nginx-module/tarball/v0.21
source_hash: sha1=dbf914cbf3f7b6cb7e033fa7b7c49e2f8879113b

lookup:
package: nginx

# ========
# nginx.ng
# ========
@@ -30,7 +34,10 @@ nginx:
vhost_use_symlink: True

# Source compilation is not currently a part of nginx.ng
from_source: False
install_from_source: False

# Install nginx.ng.lookup.package from the PPA repository
install_from_ppa: True

package:
opts: {} # this partially exposes parameters of pkg.installed

Loading…
Peruuta
Tallenna