Commit 6861b2f4 authored by Joe Healy's avatar Joe Healy

Imported Upstream version 0.17.0

parent 0c5eee64
......@@ -56,9 +56,11 @@ Josmar Dias <josmarnet@gmail.com>
Kent Tenney <ktenney@gmail.com>
Marc Abramowitz <marc+github@marc-abramowitz.com>
Martin Schnabel <mb0@mb0.org>
Mathieu Le Marec - Pasquet <kiorky@cryptelium.net>
Matthew Printz <hipokrit@gmail.com>
Matthias Teege <matthias-git@mteege.de>
Maxim Burgerhout <maxim@wzzrd.com>
Mickey Malone <mickey.malone@gmail.com>
Mitch Anderson <mitch@metauser.net>
Nathaniel Whiteinge <seth@eseth.com>
Nigel Owen <nigelowen2.gmail.com>
......
include AUTHORS
include HACKING.rst
include LICENSE
include README.rst
include requirements.txt
include tests/*.py
recursive-include tests *
include tests/integration/modules/files/*
include tests/integration/files/*
include tests/unit/templates/files/*
recursive-include doc *
recursive-include scripts *
include conf/*
recursive-include salt *.jinja
Metadata-Version: 1.1
Name: salt
Version: 0.16.4
Version: 0.17.0
Summary: Portable, distributed, remote execution and configuration management system
Home-page: http://saltstack.org
Author: Thomas S Hatch
......
......@@ -109,11 +109,11 @@
#
#
# Include a config file from some other path:
# include: /etc/salt/extra_config
#include: /etc/salt/extra_config
#
# Include config from several files and directories:
# include:
# - /etc/salt/extra_config
#include:
# - /etc/salt/extra_config
##### Security settings #####
......@@ -146,10 +146,10 @@
# capabilities to non root users. By default this capability is completely
# disabled.
#
# client_acl:
# larry:
# - test.ping
# - network.*
#client_acl:
# larry:
# - test.ping
# - network.*
#
# Blacklist any of the following users or modules
......@@ -159,28 +159,28 @@
# module.
# This is completely disabled by default.
#
# client_acl_blacklist:
# users:
# - root
# - '^(?!sudo_).*$' # all non sudo users
# modules:
# - cmd
#client_acl_blacklist:
# users:
# - root
# - '^(?!sudo_).*$' # all non sudo users
# modules:
# - cmd
# The external auth system uses the Salt auth modules to authenticate and
# validate users to access areas of the Salt system.
#
# external_auth:
# pam:
# fred:
# - test.*
#external_auth:
# pam:
# fred:
# - test.*
#
# Time (in seconds) for a newly generated token to live. Default: 12 hours
# token_expire: 43200
#token_expire: 43200
# Allow minions to push files to the master. This is disabled by default, for
# security purposes.
# file_recv: False
#file_recv: False
##### Master Module Management #####
##########################################
......@@ -275,17 +275,20 @@
# For example, if you manage your custom modules and states in subversion
# and don't want all the '.svn' folders and content synced to your minions,
# you could set this to '/\.svn($|/)'. By default nothing is ignored.
# file_ignore_regex:
# - '/\.svn($|/)'
# - '/\.git($|/)'
#
#file_ignore_regex:
# - '/\.svn($|/)'
# - '/\.git($|/)'
# A file glob (or list of file globs) that will be matched against the file
# path before syncing the modules and states to the minions. This is similar
# to file_ignore_regex above, but works on globs instead of regex. By default
# nothing is ignored.
#
# file_ignore_glob:
# - '*.pyc'
# - '*/somefolder/*.bak'
# - '*.pyc'
# - '*/somefolder/*.bak'
# - '*.swp'
# File Server Backend
# Salt supports a modular fileserver backend system, this system allows
......@@ -294,25 +297,35 @@
# configured and will be searched for the requested file in the order in which
# they are defined here. The default setting only enables the standard backend
# "roots" which uses the "file_roots" option.
#
#fileserver_backend:
# - roots
#
# To use multiple backends list them in the order they are searched:
# fileserver_backend:
# - git
# - roots
#
#fileserver_backend:
# - git
# - roots
# Git fileserver backend configuration
# When using the git fileserver backend at least one git remote needs to be
# defined. The user running the salt master will need read access to the repo.
# gitfs_remotes:
# - git://github.com/saltstack/salt-states.git
# - file:///var/git/saltmaster
#
#gitfs_remotes:
# - git://github.com/saltstack/salt-states.git
# - file:///var/git/saltmaster
#
# The repos will be searched in order to find the file requested by a client
# and the first repo to have the file will return it.
# When using the git backend branches and tags are translated into salt
# environments.
# Note: file:// repos will be treated as a remote, so refs you want used must
# exist in that repo as *local* refs.
#
# The gitfs_root option gives the ability to serve files from a subdirectory
# within the repository. The path is defined relative to the root of the
# repository and defaults to the repository root.
#gitfs_root: somefolder/otherfolder
##### Pillar settings #####
......@@ -327,9 +340,9 @@
# base:
# - /srv/pillar
# ext_pillar:
# - hiera: /etc/hiera.yaml
# - cmd_yaml: cat /etc/salt/yaml
#ext_pillar:
# - hiera: /etc/hiera.yaml
# - cmd_yaml: cat /etc/salt/yaml
# The pillar_opts option adds the master configuration file data to a dict in
# the pillar called "master". This is used to set simple configurations in the
......@@ -354,6 +367,14 @@
# this master where to receive commands from.
#syndic_master: masterofmaster
# This is the 'ret_port' of the MasterOfMaster
#syndic_master_port: 4506
# PID file of the syndic daemon
#syndic_pidfile: /var/run/salt-syndic.pid
# LOG file of the syndic daemon
#syndic_log_file: syndic.log
##### Peer Publish settings #####
##########################################
......@@ -366,15 +387,18 @@
# of regular expressions to match functions. The following will allow the
# minion authenticated as foo.example.com to execute functions from the test
# and pkg modules.
# peer:
# foo.example.com:
# - test.*
# - pkg.*
#
#peer:
# foo.example.com:
# - test.*
# - pkg.*
#
# This will allow all minions to execute all commands:
# peer:
# .*:
# - .*
#
#peer:
# .*:
# - .*
#
# This is not recommended, since it would allow anyone who gets root on any
# single minion to instantly have root on all of the minions!
......@@ -386,15 +410,15 @@
# All peer runner support is turned off by default and must be enabled before
# using. This will enable all peer runners for all minions:
#
# peer_run:
# .*:
# - .*
#peer_run:
# .*:
# - .*
#
# To enable just the manage.up runner for the minion foo.example.com:
#
# peer_run:
# foo.example.com:
# - manage.up
#peer_run:
# foo.example.com:
# - manage.up
##### Logging settings #####
......@@ -444,9 +468,9 @@
# Node groups allow for logical groupings of minion nodes.
# A group consists of a group name and a compound target.
#
# nodegroups:
# group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
# group2: 'G@os:Debian and foo.domain.com'
#nodegroups:
# group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
# group2: 'G@os:Debian and foo.domain.com'
##### Range Cluster settings #####
......@@ -454,17 +478,17 @@
# The range server (and optional port) that serves your cluster information
# https://github.com/grierj/range/wiki/Introduction-to-Range-with-YAML-files
#
# range_server: range:80
#range_server: range:80
##### Windows Software Repo settings #####
##############################################
# Location of the repo on the master
# win_repo: '/srv/salt/win/repo'
#win_repo: '/srv/salt/win/repo'
# Location of the master's repo cache file
# win_repo_mastercachefile: '/srv/salt/win/repo/winrepo.p'
#win_repo_mastercachefile: '/srv/salt/win/repo/winrepo.p'
# List of git repositories to include with the local repo
# win_gitrepos:
# - 'https://github.com/saltstack/salt-winrepo.git'
#win_gitrepos:
# - 'https://github.com/saltstack/salt-winrepo.git'
......@@ -112,7 +112,7 @@
#random_reauth_delay: 60
# If you dont have any problems with syn-floods, dont bother with the
# If you don't have any problems with syn-floods, dont bother with the
# three recon_* settings described below, just leave the defaults!
#
# The ZeroMQ pull-socket that binds to the masters publishing interface tries
......@@ -149,9 +149,9 @@
# The goal: have all minions reconnect within a 60 second timeframe on a disconnect
#
# The settings:
# recon_default: 1000
# recon_max: 59000
# recon_randomize: True
#recon_default: 1000
#recon_max: 59000
#recon_randomize: True
#
# Each minion will have a randomized reconnect value between 'recon_default'
# and 'recon_default + recon_max', which in this example means between 1000ms
......@@ -207,7 +207,7 @@
# include: /etc/salt/extra_config
#
# Include config from several files and directories:
# include:
#include:
# - /etc/salt/extra_config
# - /etc/roles/webserver
......@@ -232,8 +232,8 @@
# overwritten by the specified module. In this example the pkg module will
# be provided by the yumpkg5 module instead of the system default.
#
# providers:
# pkg: yumpkg5
#providers:
# pkg: yumpkg5
#
# Enable Cython modules searching and loading. (Default: False)
#cython_enable: False
......@@ -321,7 +321,6 @@
# - /srv/salt/prod/services
# - /srv/salt/prod/states
#
# Default:
#file_roots:
# base:
# - /srv/salt
......@@ -482,4 +481,4 @@
###### Windows Software settings ######
############################################
# Location of the repository cache file on the master
# win_repo_cachefile: 'salt://win/repo/winrepo.p'
#win_repo_cachefile: 'salt://win/repo/winrepo.p'
......@@ -7,3 +7,5 @@ def setup(app):
indextemplate="pair: %s; conf/master")
app.add_crossref_type(directivename="conf_minion", rolename="conf_minion",
indextemplate="pair: %s; conf/minion")
app.add_crossref_type(directivename="conf-log", rolename="conf-log",
indextemplate="pair: %s; conf/logging")
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Taken from sphinx-contrib
# https://bitbucket.org/birkenfeld/sphinx-contrib/src/a3d904f8ab24/youtube
# If not otherwise noted, the extensions in this package are licensed
# under the following license.
#
# Copyright (c) 2009 by the contributors (see AUTHORS file).
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
from __future__ import division
import re
from docutils import nodes
from docutils.parsers.rst import directives
from sphinx.util.compat import Directive
CONTROL_HEIGHT = 30
def get_size(d, key):
if key not in d:
return None
m = re.match("(\d+)(|%|px)$", d[key])
if not m:
raise ValueError("invalid size %r" % d[key])
return int(m.group(1)), m.group(2) or "px"
def css(d):
return "; ".join(sorted("%s: %s" % kv for kv in d.iteritems()))
class youtube(nodes.General, nodes.Element): pass
def visit_youtube_node(self, node):
aspect = node["aspect"]
width = node["width"]
height = node["height"]
if aspect is None:
aspect = 16, 9
if (height is None) and (width is not None) and (width[1] == "%"):
style = {
"padding-top": "%dpx" % CONTROL_HEIGHT,
"padding-bottom": "%f%%" % (width[0] * aspect[1] / aspect[0]),
"width": "%d%s" % width,
"position": "relative",
}
self.body.append(self.starttag(node, "div", style=css(style)))
style = {
"position": "absolute",
"top": "0",
"left": "0",
"width": "100%",
"height": "100%",
"border": "0",
}
attrs = {
"src": "http://www.youtube.com/embed/%s" % node["id"],
"style": css(style),
}
self.body.append(self.starttag(node, "iframe", **attrs))
self.body.append("</iframe></div>")
else:
if width is None:
if height is None:
width = 560, "px"
else:
width = height[0] * aspect[0] / aspect[1], "px"
if height is None:
height = width[0] * aspect[1] / aspect[0], "px"
style = {
"width": "%d%s" % width,
"height": "%d%s" % (height[0] + CONTROL_HEIGHT, height[1]),
"border": "0",
}
attrs = {
"src": "http://www.youtube.com/embed/%s" % node["id"],
"style": css(style),
}
self.body.append(self.starttag(node, "iframe", **attrs))
self.body.append("</iframe>")
def depart_youtube_node(self, node):
pass
class YouTube(Directive):
has_content = True
required_arguments = 1
optional_arguments = 0
final_argument_whitespace = False
option_spec = {