ENH: Add install_from_ppa pillar setting and PPA pkgrepo
This commit is contained in:
		
							parent
							
								
									0810b94c55
								
							
						
					
					
						commit
						c696e87f34
					
				@ -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
 | 
			
		||||
 | 
			
		||||
@ -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')) %}
 | 
			
		||||
 | 
			
		||||
@ -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 %}
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user