Buildfromsource (#233)
* Add build from source option * Update to Molecule 3.0 * Add service manager to Debian images * Add .gitignore entry for Ansible retry files Co-authored-by: Alessandro Fael Garcia <alessfg@hotmail.com>
This commit is contained in:
parent
d0548a7b0b
commit
2289b6a070
8
.gitignore
vendored
8
.gitignore
vendored
@ -5,3 +5,11 @@
|
|||||||
__pycache__
|
__pycache__
|
||||||
*~
|
*~
|
||||||
\#*
|
\#*
|
||||||
|
|
||||||
|
# OS Specific
|
||||||
|
Thumbs.db
|
||||||
|
.DS_Store
|
||||||
|
.vscode
|
||||||
|
|
||||||
|
# Ansible specific
|
||||||
|
*.retry
|
64
.travis.yml
64
.travis.yml
@ -1,30 +1,56 @@
|
|||||||
---
|
---
|
||||||
sudo: required
|
|
||||||
language: python
|
language: python
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
env:
|
jobs:
|
||||||
- scenario: default
|
include:
|
||||||
- scenario: default_alpine
|
- name: "Install Specific Version Test - Debian"
|
||||||
- scenario: default_centos
|
env: scenario=default
|
||||||
- scenario: module
|
- name: "Install Specific Version Test - Alpine"
|
||||||
- scenario: module_alpine
|
env: scenario=default_alpine
|
||||||
- scenario: module_centos
|
- name: "Install Specific Version Test - CentOS"
|
||||||
- scenario: stable_push
|
env: scenario=default_centos
|
||||||
- scenario: stable_push_alpine
|
- name: "Install Modules Test - Debian"
|
||||||
- scenario: stable_push_centos
|
env: scenario=module
|
||||||
- scenario: template
|
- name: "Install Modules Test - Alpine"
|
||||||
- scenario: template_alpine
|
env: scenario=module_alpine
|
||||||
- scenario: template_centos
|
- name: "Install Modules Test - CentOS"
|
||||||
- scenario: unit
|
env: scenario=module_centos
|
||||||
- scenario: unit_alpine
|
- name: "Install Stable Branch and Push Configuration Test - Debian"
|
||||||
- scenario: unit_centos
|
env: scenario=stable_push
|
||||||
|
- name: "Install Stable Branch and Push Configuration Test - Alpine"
|
||||||
|
env: scenario=stable_push_alpine
|
||||||
|
- name: "Install Stable Branch and Push Configuration Test - CentOS"
|
||||||
|
env: scenario=stable_push_centos
|
||||||
|
- name: "Use Template Setting Test - Debian"
|
||||||
|
env: scenario=template
|
||||||
|
- name: "Use Template Setting Test - Alpine"
|
||||||
|
env: scenario=template_alpine
|
||||||
|
- name: "Use Template Setting Test - CentOS"
|
||||||
|
env: scenario=template_centos
|
||||||
|
- name: "Install Unit Test - Debian"
|
||||||
|
env: scenario=unit
|
||||||
|
- name: "Install Unit Test - Alpine"
|
||||||
|
env: scenario=unit_alpine
|
||||||
|
- name: "Install Unit Test - CentOS"
|
||||||
|
env: scenario=unit_centos
|
||||||
|
- name: "Install from Source Test - Debian"
|
||||||
|
env: scenario=source
|
||||||
|
- name: "Install from Source Test - Alpine"
|
||||||
|
env: scenario=source_alpine
|
||||||
|
- name: "Install from Source Test - CentOS"
|
||||||
|
env: scenario=source_centos
|
||||||
before_install:
|
before_install:
|
||||||
- sudo apt-get -qq update
|
- sudo apt-get -qq update
|
||||||
install:
|
install:
|
||||||
- pip install ansible==2.9.4
|
- pip install ansible==2.9.6
|
||||||
- pip install molecule[docker]==2.22
|
- pip install molecule[docker]>=3.0.0
|
||||||
|
- pip install testinfra
|
||||||
|
- pip install ansible-lint
|
||||||
|
- pip install flake8
|
||||||
script:
|
script:
|
||||||
|
- molecule --version
|
||||||
|
- ansible --version
|
||||||
- travis_wait 50 molecule test -s $scenario
|
- travis_wait 50 molecule test -s $scenario
|
||||||
notifications:
|
notifications:
|
||||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
||||||
|
@ -19,7 +19,7 @@ Instructions on how to install Ansible can be found in the [Ansible website](htt
|
|||||||
|
|
||||||
**Molecule**
|
**Molecule**
|
||||||
|
|
||||||
Molecule is used to test the various functionailities of the role. Instructions on how to install Molecule can be found in the [Molecule website](https://molecule.readthedocs.io/en/stable/installation.html).
|
Molecule is used to test the various functionailities of the role. Instructions on how to install Molecule can be found in the [Molecule website](https://molecule.readthedocs.io/en/latest/installation.html).
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
@ -45,6 +45,7 @@ Alpine:
|
|||||||
- 3.8
|
- 3.8
|
||||||
- 3.9
|
- 3.9
|
||||||
- 3.10
|
- 3.10
|
||||||
|
- 3.11
|
||||||
CentOS:
|
CentOS:
|
||||||
versions:
|
versions:
|
||||||
- 6
|
- 6
|
||||||
@ -81,6 +82,7 @@ Alpine:
|
|||||||
- 3.8
|
- 3.8
|
||||||
- 3.9
|
- 3.9
|
||||||
- 3.10
|
- 3.10
|
||||||
|
- 3.11
|
||||||
Amazon Linux:
|
Amazon Linux:
|
||||||
versions:
|
versions:
|
||||||
- 2018.03
|
- 2018.03
|
||||||
|
@ -6,3 +6,8 @@ nginx_linux_families: ['Alpine', 'Debian', 'RedHat', 'Suse']
|
|||||||
# https://docs.nginx.com/nginx/technical-specs/
|
# https://docs.nginx.com/nginx/technical-specs/
|
||||||
# RedHat={Amazon,CentOS,OracleLinux,RHEL} Debian={Ubuntu,Debian}
|
# RedHat={Amazon,CentOS,OracleLinux,RHEL} Debian={Ubuntu,Debian}
|
||||||
nginx_plus_linux_families: ['Alpine', 'Debian', 'RedHat', 'Suse']
|
nginx_plus_linux_families: ['Alpine', 'Debian', 'RedHat', 'Suse']
|
||||||
|
|
||||||
|
# Default locations and versions for install from source
|
||||||
|
pcre_version: pcre-8.43
|
||||||
|
zlib_version: zlib-1.2.11
|
||||||
|
openssl_version: openssl-1.1.1c
|
||||||
|
@ -28,11 +28,25 @@ nginx_type: opensource
|
|||||||
nginx_state: present
|
nginx_state: present
|
||||||
|
|
||||||
# Specify repository origin for NGINX Open Source.
|
# Specify repository origin for NGINX Open Source.
|
||||||
# Options are 'nginx_repository' or 'os_repository'.
|
# Options are 'nginx_repository', 'source' or 'os_repository'.
|
||||||
# Only works if 'nginx_type' is set to 'opensource'.
|
# Only works if 'nginx_type' is set to 'opensource'.
|
||||||
# Default is nginx_repository.
|
# Default is nginx_repository.
|
||||||
nginx_install_from: nginx_repository
|
nginx_install_from: nginx_repository
|
||||||
|
|
||||||
|
# Specify source install options for NGINX Open Source.
|
||||||
|
# Options represent whether to install from source also
|
||||||
|
# or to install from packages (default). These only apply
|
||||||
|
# if 'nginx_install_from' is set to 'source'
|
||||||
|
# For the tools, true means we will isntall from a package
|
||||||
|
# and false means install from source.
|
||||||
|
# 'nginx_install_source_build_tools' will install compiler
|
||||||
|
# and build tools from packages. If false, you need to have
|
||||||
|
# these present.
|
||||||
|
nginx_install_source_build_tools: true
|
||||||
|
nginx_install_source_pcre: false
|
||||||
|
nginx_install_source_openssl: true
|
||||||
|
nginx_install_source_zlib: false
|
||||||
|
|
||||||
# Choose where to fetch the NGINX signing key from.
|
# Choose where to fetch the NGINX signing key from.
|
||||||
# Default is the official NGINX signing key host.
|
# Default is the official NGINX signing key host.
|
||||||
# nginx_signing_key: http://nginx.org/keys/nginx_signing.key
|
# nginx_signing_key: http://nginx.org/keys/nginx_signing.key
|
||||||
@ -44,7 +58,7 @@ nginx_install_from: nginx_repository
|
|||||||
|
|
||||||
# Specify which branch of NGINX Open Source you want to install.
|
# Specify which branch of NGINX Open Source you want to install.
|
||||||
# Options are 'mainline' or 'stable'.
|
# Options are 'mainline' or 'stable'.
|
||||||
# Only works if 'install_from' is set to 'nginx_repository'.
|
# Only works if 'install_from' is set to 'nginx_repository' or 'source'.
|
||||||
# Default is mainline.
|
# Default is mainline.
|
||||||
nginx_branch: mainline
|
nginx_branch: mainline
|
||||||
|
|
||||||
|
16
files/services/nginx.conf.upstart
Normal file
16
files/services/nginx.conf.upstart
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
description "nginx - small, powerful, scalable web/proxy server"
|
||||||
|
|
||||||
|
start on filesystem and static-network-up
|
||||||
|
stop on runlevel [016]
|
||||||
|
|
||||||
|
expect fork
|
||||||
|
respawn
|
||||||
|
|
||||||
|
pre-start script
|
||||||
|
[ -x /usr/sbin/nginx ] || { stop; exit 0; }
|
||||||
|
/usr/sbin/nginx -q -t -g 'daemon on; master_process on;' || { stop; exit 0; }
|
||||||
|
end script
|
||||||
|
|
||||||
|
exec /usr/sbin/nginx -g 'daemon on; master_process on;'
|
||||||
|
|
||||||
|
pre-stop exec /usr/sbin/nginx -s quit
|
70
files/services/nginx.openrc
Normal file
70
files/services/nginx.openrc
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
description="Nginx http and reverse proxy server"
|
||||||
|
extra_commands="checkconfig"
|
||||||
|
extra_started_commands="reload reopen upgrade"
|
||||||
|
|
||||||
|
cfgfile=${cfgfile:-/etc/nginx/nginx.conf}
|
||||||
|
pidfile=/var/run/nginx.pid
|
||||||
|
command=/usr/sbin/nginx
|
||||||
|
command_args="-c $cfgfile"
|
||||||
|
required_files="$cfgfile"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need net
|
||||||
|
use dns logger netmount
|
||||||
|
}
|
||||||
|
|
||||||
|
start_pre() {
|
||||||
|
$command $command_args -t -q
|
||||||
|
}
|
||||||
|
|
||||||
|
checkconfig() {
|
||||||
|
ebegin "Checking $RC_SVCNAME configuration"
|
||||||
|
start_pre
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
ebegin "Reloading $RC_SVCNAME configuration"
|
||||||
|
start_pre && start-stop-daemon --signal HUP --pidfile $pidfile
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
reopen() {
|
||||||
|
ebegin "Reopening $RC_SVCNAME log files"
|
||||||
|
start-stop-daemon --signal USR1 --pidfile $pidfile
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
upgrade() {
|
||||||
|
start_pre || return 1
|
||||||
|
|
||||||
|
ebegin "Upgrading $RC_SVCNAME binary"
|
||||||
|
|
||||||
|
einfo "Sending USR2 to old binary"
|
||||||
|
start-stop-daemon --signal USR2 --pidfile $pidfile
|
||||||
|
|
||||||
|
einfo "Sleeping 3 seconds before pid-files checking"
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
if [ ! -f $pidfile.oldbin ]; then
|
||||||
|
eerror "File with old pid ($pidfile.oldbin) not found"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $pidfile ]; then
|
||||||
|
eerror "New binary failed to start"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
einfo "Sleeping 3 seconds before WINCH"
|
||||||
|
sleep 3 ; start-stop-daemon --signal 28 --pidfile $pidfile.oldbin
|
||||||
|
|
||||||
|
einfo "Sending QUIT to old binary"
|
||||||
|
start-stop-daemon --signal QUIT --pidfile $pidfile.oldbin
|
||||||
|
|
||||||
|
einfo "Upgrade completed"
|
||||||
|
|
||||||
|
eend $? "Upgrade failed"
|
||||||
|
}
|
15
files/services/nginx.systemd
Normal file
15
files/services/nginx.systemd
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=nginx - high performance web server
|
||||||
|
Documentation=http://nginx.org/en/docs/
|
||||||
|
After=network-online.target remote-fs.target nss-lookup.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/var/run/nginx.pid
|
||||||
|
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
|
||||||
|
ExecReload=/bin/kill -s HUP $MAINPID
|
||||||
|
ExecStop=/bin/kill -s TERM $MAINPID
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
196
files/services/nginx.sysvinit
Normal file
196
files/services/nginx.sysvinit
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: nginx
|
||||||
|
# Required-Start: $local_fs $remote_fs $network $syslog $named
|
||||||
|
# Required-Stop: $local_fs $remote_fs $network $syslog $named
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: starts the nginx web server
|
||||||
|
# Description: starts nginx using start-stop-daemon
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
DAEMON=/usr/sbin/nginx
|
||||||
|
NAME=nginx
|
||||||
|
DESC=nginx
|
||||||
|
|
||||||
|
# Include nginx defaults if available
|
||||||
|
if [ -r /etc/default/nginx ]; then
|
||||||
|
. /etc/default/nginx
|
||||||
|
fi
|
||||||
|
|
||||||
|
STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}"
|
||||||
|
|
||||||
|
test -x $DAEMON || exit 0
|
||||||
|
|
||||||
|
. /lib/init/vars.sh
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
# Try to extract nginx pidfile
|
||||||
|
PID=$(cat /etc/nginx/nginx.conf | grep -Ev '^\s*#' | awk 'BEGIN { RS="[;{}]" } { if ($1 == "pid") print $2 }' | head -n1)
|
||||||
|
if [ -z "$PID" ]; then
|
||||||
|
PID=/run/nginx.pid
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$ULIMIT" ]; then
|
||||||
|
# Set ulimit if it is set in /etc/default/nginx
|
||||||
|
ulimit $ULIMIT
|
||||||
|
fi
|
||||||
|
|
||||||
|
start_nginx() {
|
||||||
|
# Start the daemon/service
|
||||||
|
#
|
||||||
|
# Returns:
|
||||||
|
# 0 if daemon has been started
|
||||||
|
# 1 if daemon was already running
|
||||||
|
# 2 if daemon could not be started
|
||||||
|
start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON --test > /dev/null \
|
||||||
|
|| return 1
|
||||||
|
start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON -- \
|
||||||
|
$DAEMON_OPTS 2>/dev/null \
|
||||||
|
|| return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
test_config() {
|
||||||
|
# Test the nginx configuration
|
||||||
|
$DAEMON -t $DAEMON_OPTS >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_nginx() {
|
||||||
|
# Stops the daemon/service
|
||||||
|
#
|
||||||
|
# Return
|
||||||
|
# 0 if daemon has been stopped
|
||||||
|
# 1 if daemon was already stopped
|
||||||
|
# 2 if daemon could not be stopped
|
||||||
|
# other if a failure occurred
|
||||||
|
start-stop-daemon --stop --quiet --retry=$STOP_SCHEDULE --pidfile $PID --name $NAME
|
||||||
|
RETVAL="$?"
|
||||||
|
sleep 1
|
||||||
|
return "$RETVAL"
|
||||||
|
}
|
||||||
|
|
||||||
|
reload_nginx() {
|
||||||
|
# Function that sends a SIGHUP to the daemon/service
|
||||||
|
start-stop-daemon --stop --signal HUP --quiet --pidfile $PID --name $NAME
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
rotate_logs() {
|
||||||
|
# Rotate log files
|
||||||
|
start-stop-daemon --stop --signal USR1 --quiet --pidfile $PID --name $NAME
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
upgrade_nginx() {
|
||||||
|
# Online upgrade nginx executable
|
||||||
|
# http://nginx.org/en/docs/control.html
|
||||||
|
#
|
||||||
|
# Return
|
||||||
|
# 0 if nginx has been successfully upgraded
|
||||||
|
# 1 if nginx is not running
|
||||||
|
# 2 if the pid files were not created on time
|
||||||
|
# 3 if the old master could not be killed
|
||||||
|
if start-stop-daemon --stop --signal USR2 --quiet --pidfile $PID --name $NAME; then
|
||||||
|
# Wait for both old and new master to write their pid file
|
||||||
|
while [ ! -s "${PID}.oldbin" ] || [ ! -s "${PID}" ]; do
|
||||||
|
cnt=`expr $cnt + 1`
|
||||||
|
if [ $cnt -gt 10 ]; then
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
# Everything is ready, gracefully stop the old master
|
||||||
|
if start-stop-daemon --stop --signal QUIT --quiet --pidfile "${PID}.oldbin" --name $NAME; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
log_daemon_msg "Starting $DESC" "$NAME"
|
||||||
|
start_nginx
|
||||||
|
case "$?" in
|
||||||
|
0|1) log_end_msg 0 ;;
|
||||||
|
2) log_end_msg 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
log_daemon_msg "Stopping $DESC" "$NAME"
|
||||||
|
stop_nginx
|
||||||
|
case "$?" in
|
||||||
|
0|1) log_end_msg 0 ;;
|
||||||
|
2) log_end_msg 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||||
|
|
||||||
|
# Check configuration before stopping nginx
|
||||||
|
if ! test_config; then
|
||||||
|
log_end_msg 1 # Configuration error
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
stop_nginx
|
||||||
|
case "$?" in
|
||||||
|
0|1)
|
||||||
|
start_nginx
|
||||||
|
case "$?" in
|
||||||
|
0) log_end_msg 0 ;;
|
||||||
|
1) log_end_msg 1 ;; # Old process is still running
|
||||||
|
*) log_end_msg 1 ;; # Failed to start
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Failed to stop
|
||||||
|
log_end_msg 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
reload|force-reload)
|
||||||
|
log_daemon_msg "Reloading $DESC configuration" "$NAME"
|
||||||
|
|
||||||
|
# Check configuration before stopping nginx
|
||||||
|
#
|
||||||
|
# This is not entirely correct since the on-disk nginx binary
|
||||||
|
# may differ from the in-memory one, but that's not common.
|
||||||
|
# We prefer to check the configuration and return an error
|
||||||
|
# to the administrator.
|
||||||
|
if ! test_config; then
|
||||||
|
log_end_msg 1 # Configuration error
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
reload_nginx
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
configtest|testconfig)
|
||||||
|
log_daemon_msg "Testing $DESC configuration"
|
||||||
|
test_config
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status_of_proc -p $PID "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||||
|
;;
|
||||||
|
upgrade)
|
||||||
|
log_daemon_msg "Upgrading binary" "$NAME"
|
||||||
|
upgrade_nginx
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
rotate)
|
||||||
|
log_daemon_msg "Re-opening $DESC log files" "$NAME"
|
||||||
|
rotate_logs
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}" >&2
|
||||||
|
exit 3
|
||||||
|
;;
|
||||||
|
esac
|
196
files/services/nginx.upstart
Normal file
196
files/services/nginx.upstart
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: nginx
|
||||||
|
# Required-Start: $local_fs $remote_fs $network $syslog $named
|
||||||
|
# Required-Stop: $local_fs $remote_fs $network $syslog $named
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: starts the nginx web server
|
||||||
|
# Description: starts nginx using start-stop-daemon
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
DAEMON=/usr/sbin/nginx
|
||||||
|
NAME=nginx
|
||||||
|
DESC=nginx
|
||||||
|
|
||||||
|
# Include nginx defaults if available
|
||||||
|
if [ -r /etc/default/nginx ]; then
|
||||||
|
. /etc/default/nginx
|
||||||
|
fi
|
||||||
|
|
||||||
|
STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}"
|
||||||
|
|
||||||
|
test -x $DAEMON || exit 0
|
||||||
|
|
||||||
|
. /lib/init/vars.sh
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
# Try to extract nginx pidfile
|
||||||
|
PID=$(cat /etc/nginx/nginx.conf | grep -Ev '^\s*#' | awk 'BEGIN { RS="[;{}]" } { if ($1 == "pid") print $2 }' | head -n1)
|
||||||
|
if [ -z "$PID" ]; then
|
||||||
|
PID=/run/nginx.pid
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$ULIMIT" ]; then
|
||||||
|
# Set ulimit if it is set in /etc/default/nginx
|
||||||
|
ulimit $ULIMIT
|
||||||
|
fi
|
||||||
|
|
||||||
|
start_nginx() {
|
||||||
|
# Start the daemon/service
|
||||||
|
#
|
||||||
|
# Returns:
|
||||||
|
# 0 if daemon has been started
|
||||||
|
# 1 if daemon was already running
|
||||||
|
# 2 if daemon could not be started
|
||||||
|
start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON --test > /dev/null \
|
||||||
|
|| return 1
|
||||||
|
start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON -- \
|
||||||
|
$DAEMON_OPTS 2>/dev/null \
|
||||||
|
|| return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
test_config() {
|
||||||
|
# Test the nginx configuration
|
||||||
|
$DAEMON -t $DAEMON_OPTS >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_nginx() {
|
||||||
|
# Stops the daemon/service
|
||||||
|
#
|
||||||
|
# Return
|
||||||
|
# 0 if daemon has been stopped
|
||||||
|
# 1 if daemon was already stopped
|
||||||
|
# 2 if daemon could not be stopped
|
||||||
|
# other if a failure occurred
|
||||||
|
start-stop-daemon --stop --quiet --retry=$STOP_SCHEDULE --pidfile $PID --name $NAME
|
||||||
|
RETVAL="$?"
|
||||||
|
sleep 1
|
||||||
|
return "$RETVAL"
|
||||||
|
}
|
||||||
|
|
||||||
|
reload_nginx() {
|
||||||
|
# Function that sends a SIGHUP to the daemon/service
|
||||||
|
start-stop-daemon --stop --signal HUP --quiet --pidfile $PID --name $NAME
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
rotate_logs() {
|
||||||
|
# Rotate log files
|
||||||
|
start-stop-daemon --stop --signal USR1 --quiet --pidfile $PID --name $NAME
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
upgrade_nginx() {
|
||||||
|
# Online upgrade nginx executable
|
||||||
|
# http://nginx.org/en/docs/control.html
|
||||||
|
#
|
||||||
|
# Return
|
||||||
|
# 0 if nginx has been successfully upgraded
|
||||||
|
# 1 if nginx is not running
|
||||||
|
# 2 if the pid files were not created on time
|
||||||
|
# 3 if the old master could not be killed
|
||||||
|
if start-stop-daemon --stop --signal USR2 --quiet --pidfile $PID --name $NAME; then
|
||||||
|
# Wait for both old and new master to write their pid file
|
||||||
|
while [ ! -s "${PID}.oldbin" ] || [ ! -s "${PID}" ]; do
|
||||||
|
cnt=`expr $cnt + 1`
|
||||||
|
if [ $cnt -gt 10 ]; then
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
# Everything is ready, gracefully stop the old master
|
||||||
|
if start-stop-daemon --stop --signal QUIT --quiet --pidfile "${PID}.oldbin" --name $NAME; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
log_daemon_msg "Starting $DESC" "$NAME"
|
||||||
|
start_nginx
|
||||||
|
case "$?" in
|
||||||
|
0|1) log_end_msg 0 ;;
|
||||||
|
2) log_end_msg 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
log_daemon_msg "Stopping $DESC" "$NAME"
|
||||||
|
stop_nginx
|
||||||
|
case "$?" in
|
||||||
|
0|1) log_end_msg 0 ;;
|
||||||
|
2) log_end_msg 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||||
|
|
||||||
|
# Check configuration before stopping nginx
|
||||||
|
if ! test_config; then
|
||||||
|
log_end_msg 1 # Configuration error
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
stop_nginx
|
||||||
|
case "$?" in
|
||||||
|
0|1)
|
||||||
|
start_nginx
|
||||||
|
case "$?" in
|
||||||
|
0) log_end_msg 0 ;;
|
||||||
|
1) log_end_msg 1 ;; # Old process is still running
|
||||||
|
*) log_end_msg 1 ;; # Failed to start
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Failed to stop
|
||||||
|
log_end_msg 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
reload|force-reload)
|
||||||
|
log_daemon_msg "Reloading $DESC configuration" "$NAME"
|
||||||
|
|
||||||
|
# Check configuration before stopping nginx
|
||||||
|
#
|
||||||
|
# This is not entirely correct since the on-disk nginx binary
|
||||||
|
# may differ from the in-memory one, but that's not common.
|
||||||
|
# We prefer to check the configuration and return an error
|
||||||
|
# to the administrator.
|
||||||
|
if ! test_config; then
|
||||||
|
log_end_msg 1 # Configuration error
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
reload_nginx
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
configtest|testconfig)
|
||||||
|
log_daemon_msg "Testing $DESC configuration"
|
||||||
|
test_config
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status_of_proc -p $PID "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||||
|
;;
|
||||||
|
upgrade)
|
||||||
|
log_daemon_msg "Upgrading binary" "$NAME"
|
||||||
|
upgrade_nginx
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
rotate)
|
||||||
|
log_daemon_msg "Re-opening $DESC log files" "$NAME"
|
||||||
|
rotate_logs
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}" >&2
|
||||||
|
exit 3
|
||||||
|
;;
|
||||||
|
esac
|
25
files/www/index.html
Normal file
25
files/www/index.html
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Welcome to nginx!</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
width: 35em;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family: Tahoma, Verdana, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Welcome to nginx!</h1>
|
||||||
|
<p>If you see this page, the nginx web server is successfully installed and
|
||||||
|
working. Further configuration is required.</p>
|
||||||
|
|
||||||
|
<p>For online documentation and support please refer to
|
||||||
|
<a href="http://nginx.org/">nginx.org</a>.<br/>
|
||||||
|
Commercial support is available at
|
||||||
|
<a href="http://nginx.com/">nginx.com</a>.</p>
|
||||||
|
|
||||||
|
<p><em>Thank you for using nginx.</em></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -17,31 +17,27 @@ ENV {{ var }} {{ value }}
|
|||||||
RUN \
|
RUN \
|
||||||
if [ $(command -v apt-get) ]; then \
|
if [ $(command -v apt-get) ]; then \
|
||||||
apt-get update \
|
apt-get update \
|
||||||
&& apt-get install -y python sudo bash ca-certificates iproute2 curl \
|
&& apt-get install -y python3 sudo bash ca-certificates iproute2 python3-apt aptitude systemd systemd-sysv procps curl \
|
||||||
&& apt-get clean; \
|
&& apt-get clean; \
|
||||||
elif [ $(command -v dnf) ] && [ $(rpm -E %{rhel}) -eq 8 ]; then \
|
|
||||||
dnf makecache \
|
|
||||||
&& dnf --assumeyes install python3 python3-devel python3-dnf python3-pip bash iproute \
|
|
||||||
&& dnf clean all; \
|
|
||||||
elif [ $(command -v dnf) ]; then \
|
elif [ $(command -v dnf) ]; then \
|
||||||
dnf makecache \
|
dnf makecache \
|
||||||
&& dnf --assumeyes install python sudo python-devel python*-dnf bash iproute \
|
&& dnf --assumeyes install /usr/bin/python3 /usr/bin/python3-config /usr/bin/dnf-3 bash iproute \
|
||||||
&& dnf clean all; \
|
&& dnf clean all; \
|
||||||
elif [ $(command -v yum) ]; then \
|
elif [ $(command -v yum) ]; then \
|
||||||
yum makecache fast \
|
yum makecache fast \
|
||||||
&& yum install -y python sudo yum-plugin-ovl bash iproute \
|
&& yum install -y /usr/bin/python /usr/bin/python2-config sudo yum-plugin-ovl bash iproute \
|
||||||
&& sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf \
|
&& sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf \
|
||||||
&& yum clean all; \
|
&& yum clean all; \
|
||||||
elif [ $(command -v zypper) ]; then \
|
elif [ $(command -v zypper) ]; then \
|
||||||
zypper refresh \
|
zypper refresh \
|
||||||
&& zypper install -y python sudo bash python-xml iproute2 \
|
&& zypper install -y python3 sudo bash iproute2 \
|
||||||
&& 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 curl openrc; \
|
&& apk add --no-cache python3 sudo bash ca-certificates curl openrc; \
|
||||||
echo 'rc_provide="loopback net"' >> /etc/rc.conf; \
|
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 python3 sudo bash ca-certificates iproute2 \
|
||||||
&& xbps-remove -O; \
|
&& xbps-remove -O; \
|
||||||
fi
|
fi
|
||||||
|
@ -4,15 +4,15 @@
|
|||||||
pre_tasks:
|
pre_tasks:
|
||||||
- name: "Set repo if Alpine"
|
- name: "Set repo if Alpine"
|
||||||
set_fact:
|
set_fact:
|
||||||
version: "=1.17.6-r1"
|
version: "=1.17.8-r1"
|
||||||
when: ansible_os_family == "Alpine"
|
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.8-1~{{ ansible_distribution_release }}"
|
||||||
when: ansible_os_family == "Debian"
|
when: ansible_os_family == "Debian"
|
||||||
- name: "Set repo if RedHat"
|
- name: "Set repo if RedHat"
|
||||||
set_fact:
|
set_fact:
|
||||||
version: "-1.17.6-1.el{{ ansible_distribution_major_version }}.ngx"
|
version: "-1.17.8-1.el{{ ansible_distribution_major_version }}.ngx"
|
||||||
when: ansible_os_family == "RedHat"
|
when: ansible_os_family == "RedHat"
|
||||||
roles:
|
roles:
|
||||||
- role: ansible-role-nginx
|
- role: ansible-role-nginx
|
||||||
|
19
molecule/common/playbook_source.yml
Normal file
19
molecule/common/playbook_source.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
- name: Converge
|
||||||
|
hosts: all
|
||||||
|
roles:
|
||||||
|
- role: ansible-role-nginx
|
||||||
|
vars:
|
||||||
|
nginx_debug_output: true
|
||||||
|
|
||||||
|
nginx_install_from: source
|
||||||
|
nginx_branch: mainline
|
||||||
|
nginx_install_source_build_tools: true
|
||||||
|
nginx_install_source_pcre: false
|
||||||
|
nginx_install_source_openssl: true
|
||||||
|
nginx_install_source_zlib: false
|
||||||
|
|
||||||
|
nginx_main_upload_enable: true
|
||||||
|
nginx_main_upload_src: files/nginx.conf
|
||||||
|
nginx_http_upload_enable: true
|
||||||
|
nginx_http_upload_src: files/http/*.conf
|
@ -4,6 +4,8 @@
|
|||||||
roles:
|
roles:
|
||||||
- role: ansible-role-nginx
|
- role: ansible-role-nginx
|
||||||
vars:
|
vars:
|
||||||
|
nginx_debug_output: true
|
||||||
|
|
||||||
nginx_branch: stable
|
nginx_branch: stable
|
||||||
nginx_main_upload_enable: true
|
nginx_main_upload_enable: true
|
||||||
nginx_main_upload_src: files/nginx.conf
|
nginx_main_upload_src: files/nginx.conf
|
||||||
|
@ -2,7 +2,8 @@ import os
|
|||||||
|
|
||||||
import testinfra.utils.ansible_runner
|
import testinfra.utils.ansible_runner
|
||||||
|
|
||||||
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') # noqa E501
|
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
||||||
|
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
|
||||||
|
|
||||||
|
|
||||||
def test_nginx_is_installed(host):
|
def test_nginx_is_installed(host):
|
||||||
|
25
molecule/common/test_source/test_default.py
Normal file
25
molecule/common/test_source/test_default.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
import testinfra.utils.ansible_runner
|
||||||
|
|
||||||
|
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
||||||
|
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
|
||||||
|
|
||||||
|
|
||||||
|
def test_nginx_running_and_enabled(host):
|
||||||
|
ngx = host.service("nginx")
|
||||||
|
assert ngx.is_running
|
||||||
|
assert ngx.is_enabled
|
||||||
|
|
||||||
|
|
||||||
|
def test_hosts_file(host):
|
||||||
|
ngx = host.file('/etc/hosts')
|
||||||
|
assert ngx.exists
|
||||||
|
assert ngx.user == 'root'
|
||||||
|
assert ngx.group == 'root'
|
||||||
|
|
||||||
|
|
||||||
|
def test_endpoint(host):
|
||||||
|
command = """curl -I http://localhost/"""
|
||||||
|
cmd = host.run(command)
|
||||||
|
assert '200 OK' in cmd.stdout
|
@ -3,7 +3,8 @@ import os
|
|||||||
|
|
||||||
import testinfra.utils.ansible_runner
|
import testinfra.utils.ansible_runner
|
||||||
|
|
||||||
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') # noqa E501
|
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
||||||
|
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
|
||||||
|
|
||||||
|
|
||||||
def test_nginx_is_installed(host):
|
def test_nginx_is_installed(host):
|
||||||
|
@ -3,7 +3,8 @@ import os
|
|||||||
|
|
||||||
import testinfra.utils.ansible_runner
|
import testinfra.utils.ansible_runner
|
||||||
|
|
||||||
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') # noqa E501
|
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
||||||
|
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
|
||||||
|
|
||||||
|
|
||||||
def test_nginx_is_installed(host):
|
def test_nginx_is_installed(host):
|
||||||
|
@ -1,29 +1,44 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: debian-stretch
|
- name: debian-stretch
|
||||||
image: debian:stretch-slim
|
image: debian:stretch-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: debian-buster
|
- name: debian-buster
|
||||||
image: debian:buster-slim
|
image: debian:buster-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-xenial
|
- name: ubuntu-xenial
|
||||||
image: ubuntu:xenial
|
image: ubuntu:xenial
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-bionic
|
- name: ubuntu-bionic
|
||||||
image: ubuntu:bionic
|
image: ubuntu:bionic
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_default.yml
|
converge: ../common/playbook_default.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_default
|
directory: ../common/test_default
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -1,27 +1,37 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: alpine-3.8
|
- name: alpine-3.8
|
||||||
image: alpine:3.8
|
image: alpine:3.8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.9
|
- name: alpine-3.9
|
||||||
image: alpine:3.9
|
image: alpine:3.9
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.10
|
- name: alpine-3.10
|
||||||
image: alpine:3.10
|
image: alpine:3.10
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.11
|
||||||
|
image: alpine:3.11
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
@ -29,10 +39,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_default.yml
|
converge: ../common/playbook_default.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_default
|
directory: ../common/test_default
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: centos-6
|
- name: centos-6
|
||||||
image: centos:6
|
image: centos:6
|
||||||
@ -10,14 +13,14 @@ platforms:
|
|||||||
- name: centos-7
|
- name: centos-7
|
||||||
image: centos:7
|
image: centos:7
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
- name: centos-8
|
- name: centos-8
|
||||||
image: centos:8
|
image: centos:8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
@ -25,10 +28,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_default.yml
|
converge: ../common/playbook_default.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_default
|
directory: ../common/test_default
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -1,29 +1,44 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: debian-stretch
|
- name: debian-stretch
|
||||||
image: debian:stretch-slim
|
image: debian:stretch-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: debian-buster
|
- name: debian-buster
|
||||||
image: debian:buster-slim
|
image: debian:buster-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-xenial
|
- name: ubuntu-xenial
|
||||||
image: ubuntu:xenial
|
image: ubuntu:xenial
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-bionic
|
- name: ubuntu-bionic
|
||||||
image: ubuntu:bionic
|
image: ubuntu:bionic
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_module.yml
|
converge: ../common/playbook_module.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_module
|
directory: ../common/test_module
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -1,27 +1,37 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: alpine-3.8
|
- name: alpine-3.8
|
||||||
image: alpine:3.8
|
image: alpine:3.8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.9
|
- name: alpine-3.9
|
||||||
image: alpine:3.9
|
image: alpine:3.9
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.10
|
- name: alpine-3.10
|
||||||
image: alpine:3.10
|
image: alpine:3.10
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.11
|
||||||
|
image: alpine:3.11
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
@ -29,10 +39,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_module.yml
|
converge: ../common/playbook_module.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_module
|
directory: ../common/test_module
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: centos-6
|
- name: centos-6
|
||||||
image: centos:6
|
image: centos:6
|
||||||
@ -10,14 +13,14 @@ platforms:
|
|||||||
- name: centos-7
|
- name: centos-7
|
||||||
image: centos:7
|
image: centos:7
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
- name: centos-8
|
- name: centos-8
|
||||||
image: centos:8
|
image: centos:8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
@ -25,10 +28,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_module.yml
|
converge: ../common/playbook_module.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_module
|
directory: ../common/test_module
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
44
molecule/source/molecule.yml
Normal file
44
molecule/source/molecule.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
---
|
||||||
|
driver:
|
||||||
|
name: docker
|
||||||
|
lint: |
|
||||||
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
|
platforms:
|
||||||
|
- name: debian-stretch
|
||||||
|
image: debian:stretch-slim
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: debian-buster
|
||||||
|
image: debian:buster-slim
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: ubuntu-xenial
|
||||||
|
image: ubuntu:xenial
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: ubuntu-bionic
|
||||||
|
image: ubuntu:bionic
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
provisioner:
|
||||||
|
name: ansible
|
||||||
|
playbooks:
|
||||||
|
converge: ../common/playbook_source.yml
|
||||||
|
verifier:
|
||||||
|
name: testinfra
|
||||||
|
directory: ../common/test_source
|
44
molecule/source_alpine/molecule.yml
Normal file
44
molecule/source_alpine/molecule.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
---
|
||||||
|
driver:
|
||||||
|
name: docker
|
||||||
|
lint: |
|
||||||
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
|
platforms:
|
||||||
|
- name: alpine-3.8
|
||||||
|
image: alpine:3.8
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.9
|
||||||
|
image: alpine:3.9
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.10
|
||||||
|
image: python:alpine3.10
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.11
|
||||||
|
image: python:alpine3.11
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
provisioner:
|
||||||
|
name: ansible
|
||||||
|
playbooks:
|
||||||
|
converge: ../common/playbook_source.yml
|
||||||
|
verifier:
|
||||||
|
name: testinfra
|
||||||
|
directory: ../common/test_source
|
30
molecule/source_centos/molecule.yml
Normal file
30
molecule/source_centos/molecule.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
driver:
|
||||||
|
name: docker
|
||||||
|
lint: |
|
||||||
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
|
platforms:
|
||||||
|
- name: centos-7
|
||||||
|
image: centos:7
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/usr/sbin/init"
|
||||||
|
- name: centos-8
|
||||||
|
image: centos:8
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/usr/sbin/init"
|
||||||
|
provisioner:
|
||||||
|
name: ansible
|
||||||
|
playbooks:
|
||||||
|
converge: ../common/playbook_source.yml
|
||||||
|
verifier:
|
||||||
|
name: testinfra
|
||||||
|
directory: ../common/test_source
|
@ -4,29 +4,44 @@ dependency:
|
|||||||
command: pip install python-nginx
|
command: pip install python-nginx
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: debian-stretch
|
- name: debian-stretch
|
||||||
image: debian:stretch-slim
|
image: debian:stretch-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: debian-buster
|
- name: debian-buster
|
||||||
image: debian:buster-slim
|
image: debian:buster-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-xenial
|
- name: ubuntu-xenial
|
||||||
image: ubuntu:xenial
|
image: ubuntu:xenial
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-bionic
|
- name: ubuntu-bionic
|
||||||
image: ubuntu:bionic
|
image: ubuntu:bionic
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_stable_push.yml
|
converge: ../common/playbook_stable_push.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_stable_push
|
directory: ../common/test_stable_push
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -4,27 +4,37 @@ dependency:
|
|||||||
command: pip install python-nginx
|
command: pip install python-nginx
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: alpine-3.8
|
- name: alpine-3.8
|
||||||
image: alpine:3.8
|
image: alpine:3.8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.9
|
- name: alpine-3.9
|
||||||
image: alpine:3.9
|
image: alpine:3.9
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.10
|
- name: alpine-3.10
|
||||||
image: alpine:3.10
|
image: alpine:3.10
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.11
|
||||||
|
image: alpine:3.11
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
@ -32,10 +42,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_stable_push.yml
|
converge: ../common/playbook_stable_push.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_stable_push
|
directory: ../common/test_stable_push
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -4,8 +4,11 @@ dependency:
|
|||||||
command: pip install python-nginx
|
command: pip install python-nginx
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: centos-6
|
- name: centos-6
|
||||||
image: centos:6
|
image: centos:6
|
||||||
@ -13,14 +16,14 @@ platforms:
|
|||||||
- name: centos-7
|
- name: centos-7
|
||||||
image: centos:7
|
image: centos:7
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
- name: centos-8
|
- name: centos-8
|
||||||
image: centos:8
|
image: centos:8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
@ -28,10 +31,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_stable_push.yml
|
converge: ../common/playbook_stable_push.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_stable_push
|
directory: ../common/test_stable_push
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -4,29 +4,44 @@ dependency:
|
|||||||
command: pip install python-nginx
|
command: pip install python-nginx
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: debian-stretch
|
- name: debian-stretch
|
||||||
image: debian:stretch-slim
|
image: debian:stretch-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: debian-buster
|
- name: debian-buster
|
||||||
image: debian:buster-slim
|
image: debian:buster-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-xenial
|
- name: ubuntu-xenial
|
||||||
image: ubuntu:xenial
|
image: ubuntu:xenial
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-bionic
|
- name: ubuntu-bionic
|
||||||
image: ubuntu:bionic
|
image: ubuntu:bionic
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_template.yml
|
converge: ../common/playbook_template.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_template
|
directory: ../common/test_template
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -4,27 +4,37 @@ dependency:
|
|||||||
command: pip install python-nginx
|
command: pip install python-nginx
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: alpine-3.8
|
- name: alpine-3.8
|
||||||
image: alpine:3.8
|
image: alpine:3.8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.9
|
- name: alpine-3.9
|
||||||
image: alpine:3.9
|
image: alpine:3.9
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.10
|
- name: alpine-3.10
|
||||||
image: alpine:3.10
|
image: alpine:3.10
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.11
|
||||||
|
image: alpine:3.11
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
@ -32,10 +42,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_template.yml
|
converge: ../common/playbook_template.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_template
|
directory: ../common/test_template
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -4,8 +4,11 @@ dependency:
|
|||||||
command: pip install python-nginx
|
command: pip install python-nginx
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: centos-6
|
- name: centos-6
|
||||||
image: centos:6
|
image: centos:6
|
||||||
@ -13,14 +16,14 @@ platforms:
|
|||||||
- name: centos-7
|
- name: centos-7
|
||||||
image: centos:7
|
image: centos:7
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
- name: centos-8
|
- name: centos-8
|
||||||
image: centos:8
|
image: centos:8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
@ -28,10 +31,6 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_template.yml
|
converge: ../common/playbook_template.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
directory: ../common/test_template
|
directory: ../common/test_template
|
||||||
lint:
|
|
||||||
name: flake8
|
|
||||||
|
@ -1,24 +1,41 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: debian-stretch
|
- name: debian-stretch
|
||||||
image: debian:stretch-slim
|
image: debian:stretch-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: debian-buster
|
- name: debian-buster
|
||||||
image: debian:buster-slim
|
image: debian:buster-slim
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-xenial
|
- name: ubuntu-xenial
|
||||||
image: ubuntu:xenial
|
image: ubuntu:xenial
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
- name: ubuntu-bionic
|
- name: ubuntu-bionic
|
||||||
image: ubuntu:bionic
|
image: ubuntu:bionic
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_unit.yml
|
converge: ../common/playbook_unit.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
|
@ -1,27 +1,37 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: alpine-3.8
|
- name: alpine-3.8
|
||||||
image: alpine:3.8
|
image: alpine:3.8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.9
|
- name: alpine-3.9
|
||||||
image: alpine:3.9
|
image: alpine:3.9
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
- name: alpine-3.10
|
- name: alpine-3.10
|
||||||
image: alpine:3.10
|
image: alpine:3.10
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
|
command: "/sbin/init"
|
||||||
|
- name: alpine-3.11
|
||||||
|
image: alpine:3.11
|
||||||
|
dockerfile: ../common/Dockerfile.j2
|
||||||
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/sbin/init"
|
command: "/sbin/init"
|
||||||
@ -29,5 +39,3 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_unit.yml
|
converge: ../common/playbook_unit.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
---
|
---
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
lint:
|
lint: |
|
||||||
name: yamllint
|
set -e
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: centos-6
|
- name: centos-6
|
||||||
image: centos:6
|
image: centos:6
|
||||||
@ -10,14 +13,14 @@ platforms:
|
|||||||
- name: centos-7
|
- name: centos-7
|
||||||
image: centos:7
|
image: centos:7
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
- name: centos-8
|
- name: centos-8
|
||||||
image: centos:8
|
image: centos:8
|
||||||
dockerfile: ../common/Dockerfile.j2
|
dockerfile: ../common/Dockerfile.j2
|
||||||
privileged: True
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
||||||
command: "/usr/sbin/init"
|
command: "/usr/sbin/init"
|
||||||
@ -25,5 +28,3 @@ provisioner:
|
|||||||
name: ansible
|
name: ansible
|
||||||
playbooks:
|
playbooks:
|
||||||
converge: ../common/playbook_unit.yml
|
converge: ../common/playbook_unit.yml
|
||||||
lint:
|
|
||||||
name: ansible-lint
|
|
||||||
|
@ -16,6 +16,10 @@
|
|||||||
|
|
||||||
when: nginx_install_from == "nginx_repository"
|
when: nginx_install_from == "nginx_repository"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX from source"
|
||||||
|
import_tasks: setup-source.yml
|
||||||
|
when: nginx_install_from == "source"
|
||||||
|
|
||||||
- name: "(Install: Linux) Install NGINX package"
|
- name: "(Install: Linux) Install NGINX package"
|
||||||
package:
|
package:
|
||||||
name: "nginx{{ nginx_version | default('') }}"
|
name: "nginx{{ nginx_version | default('') }}"
|
||||||
|
437
tasks/opensource/setup-source.yml
Normal file
437
tasks/opensource/setup-source.yml
Normal file
@ -0,0 +1,437 @@
|
|||||||
|
---
|
||||||
|
- name: "(Install: Linux) Check for build tools"
|
||||||
|
when: nginx_install_source_build_tools
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install Python - Centos/RHEL"
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- python3
|
||||||
|
- python3-pip
|
||||||
|
- python3-devel
|
||||||
|
state: present
|
||||||
|
when: ansible_os_family == "RedHat"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Set Python3 default - Centos/RHEL"
|
||||||
|
alternatives:
|
||||||
|
name: python
|
||||||
|
path: /usr/bin/python3
|
||||||
|
link: /usr/bin/python
|
||||||
|
when: ansible_os_family == "RedHat" and ansible_distribution_major_version == "8"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install Build Tools - Centos/RHEL"
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- "@Development tools"
|
||||||
|
- gcc
|
||||||
|
- glibc
|
||||||
|
- glibc-common
|
||||||
|
- gd
|
||||||
|
- gd-devel
|
||||||
|
- perl-core
|
||||||
|
- wget
|
||||||
|
- ca-certificates
|
||||||
|
- zlib-devel
|
||||||
|
state: present
|
||||||
|
when: ansible_os_family == "RedHat"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install backports repo for Buster"
|
||||||
|
apt_repository:
|
||||||
|
repo: deb http://ftp.us.debian.org/debian buster-backports main
|
||||||
|
when: ansible_distribution_release == "buster"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install Build Tools - Debian/Ubuntu"
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- python-minimal
|
||||||
|
- build-essential
|
||||||
|
- perl
|
||||||
|
- tar
|
||||||
|
- checkinstall
|
||||||
|
- zlib1g-dev
|
||||||
|
- libtemplate-perl
|
||||||
|
state: present
|
||||||
|
when: ansible_os_family == "Debian"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install Build Tools - Alpine"
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- python
|
||||||
|
- alpine-sdk
|
||||||
|
- build-base
|
||||||
|
- git
|
||||||
|
- wget
|
||||||
|
- perl
|
||||||
|
- linux-headers
|
||||||
|
- tar
|
||||||
|
- openrc
|
||||||
|
state: present
|
||||||
|
when: ansible_os_family == "Alpine"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Enable openrc - Alpine"
|
||||||
|
copy:
|
||||||
|
content: ""
|
||||||
|
dest: /run/openrc/softlevel
|
||||||
|
force: no
|
||||||
|
owner: root
|
||||||
|
mode: 0644
|
||||||
|
when: ansible_os_family == "Alpine"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Check for Source Installs"
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Check for PCRE Install"
|
||||||
|
stat:
|
||||||
|
path: /tmp/{{ pcre_version }}
|
||||||
|
register: pcre_result
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Check for zlib Install"
|
||||||
|
stat:
|
||||||
|
path: /tmp/{{ zlib_version }}
|
||||||
|
register: zlib_result
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Check for openssl Install"
|
||||||
|
stat:
|
||||||
|
path: /tmp/{{ openssl_version }}
|
||||||
|
register: openssl_result
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Package: Centos/RHEL"
|
||||||
|
when: nginx_install_source_pcre and ansible_os_family == "RedHat"
|
||||||
|
package:
|
||||||
|
name: pcre-devel
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Package: Debian/Ubuntu"
|
||||||
|
when: nginx_install_source_pcre and ansible_os_family == "Debian"
|
||||||
|
package:
|
||||||
|
name: libpcre3–dev
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Package: Alpine"
|
||||||
|
when: nginx_install_source_pcre and ansible_os_family == "Alpine"
|
||||||
|
package:
|
||||||
|
name: pcre-dev
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Source"
|
||||||
|
when: not pcre_result.stat.exists and not nginx_install_source_pcre
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Download"
|
||||||
|
get_url:
|
||||||
|
url: "http://ftp.pcre.org/pub/pcre/{{ pcre_version }}.tar.gz"
|
||||||
|
dest: "/tmp/{{ pcre_version }}.tar.gz"
|
||||||
|
register: pcre_source
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Unpack"
|
||||||
|
unarchive:
|
||||||
|
copy: no
|
||||||
|
dest: /tmp/
|
||||||
|
src: "{{ pcre_source.dest }}"
|
||||||
|
register: pcre_source_unpack
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Configure"
|
||||||
|
command: "./configure"
|
||||||
|
args:
|
||||||
|
chdir: "/tmp/{{ pcre_version }}"
|
||||||
|
register: pcre_configure
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Install"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ pcre_version }}"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install PCRE Dependency: Install"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ pcre_version }}"
|
||||||
|
target: install
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Package: Centos/RHEL"
|
||||||
|
when: nginx_install_source_zlib and ansible_os_family == "RedHat"
|
||||||
|
package:
|
||||||
|
name: zlib-devel
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Package: Debian/Ubuntu"
|
||||||
|
when: nginx_install_source_zlib and ansible_os_family == "Debian"
|
||||||
|
package:
|
||||||
|
name: zlib1g-dev
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Package: Alpine"
|
||||||
|
when: nginx_install_source_zlib and ansible_os_family == "Alpine"
|
||||||
|
package:
|
||||||
|
name: zlib-dev
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Source"
|
||||||
|
when: not zlib_result.stat.exists and not nginx_install_source_zlib
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Download"
|
||||||
|
get_url:
|
||||||
|
url: "http://zlib.net/{{ zlib_version }}.tar.gz"
|
||||||
|
dest: "/tmp/{{ zlib_version }}.tar.gz"
|
||||||
|
register: zlib_source
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Unpack"
|
||||||
|
unarchive:
|
||||||
|
copy: no
|
||||||
|
dest: /tmp/
|
||||||
|
src: "{{ zlib_source.dest }}"
|
||||||
|
register: zlib_source_unpack
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Configure"
|
||||||
|
command: "./configure"
|
||||||
|
args:
|
||||||
|
chdir: "/tmp/{{ zlib_version }}"
|
||||||
|
register: zlib_configure
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Install"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ zlib_version }}"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install zlib Dependency: Install"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ zlib_version }}"
|
||||||
|
target: install
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Package: Centos/RHEL"
|
||||||
|
when: nginx_install_source_openssl and ansible_os_family == "RedHat"
|
||||||
|
package:
|
||||||
|
name: openssl-devel
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Package: Debian/Ubuntu"
|
||||||
|
when: nginx_install_source_openssl and ansible_os_family == "Debian"
|
||||||
|
package:
|
||||||
|
name: libssl-dev
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Package: Alpine"
|
||||||
|
when: nginx_install_source_openssl and ansible_os_family == "Alpine"
|
||||||
|
package:
|
||||||
|
name: openssl-dev
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Source"
|
||||||
|
when: not openssl_result.stat.exists and not nginx_install_source_openssl
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Download"
|
||||||
|
get_url:
|
||||||
|
url: "http://www.openssl.org/source/{{ openssl_version }}.tar.gz"
|
||||||
|
dest: "/tmp/{{ openssl_version }}.tar.gz"
|
||||||
|
register: openssl_source
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Unpack"
|
||||||
|
unarchive:
|
||||||
|
copy: no
|
||||||
|
dest: /tmp/
|
||||||
|
src: "{{ openssl_source.dest }}"
|
||||||
|
register: openssl_source_unpack
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Configure"
|
||||||
|
command: "./config --prefix=/usr"
|
||||||
|
args:
|
||||||
|
chdir: "/tmp/{{ openssl_version }}"
|
||||||
|
register: openssl_configure
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Make"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ openssl_version }}"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install OpenSSL Dependency: Install"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ openssl_version }}"
|
||||||
|
target: install
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Get NGINX version"
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Get NGINX mainline version"
|
||||||
|
shell:
|
||||||
|
args:
|
||||||
|
cmd: curl --stderr - https://trac.nginx.org/nginx/browser | grep release | head -1 | sed -e 's:.*<option value="[^"]*">release\([^<]*\)<.*:nginx\1:' # noqa 204 303
|
||||||
|
register: nginx_mainline_version
|
||||||
|
changed_when: false
|
||||||
|
when: nginx_branch == "mainline"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Set NGINX mainline version"
|
||||||
|
set_fact:
|
||||||
|
nginx_version: "{{ nginx_mainline_version.stdout }}"
|
||||||
|
when: nginx_branch == "mainline"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Get NGINX stable version 1/2"
|
||||||
|
shell:
|
||||||
|
args:
|
||||||
|
cmd: curl --stderr - https://trac.nginx.org/nginx/browser | grep stable | head -1 | sed -e 's:.*<option value="[^"]*">stable\([^<]*\)<.*:release\1:' # noqa 204 303
|
||||||
|
register: nginx_tmp_version
|
||||||
|
changed_when: false
|
||||||
|
when: nginx_branch == "stable"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Get NGINX stable version 2/2"
|
||||||
|
shell:
|
||||||
|
args:
|
||||||
|
cmd: curl --stderr - https://trac.nginx.org/nginx/browser | grep {{ nginx_tmp_version.stdout }} | head -1 | sed -e 's:.*<option value="[^"]*">release\([^<]*\)<.*:nginx\1:' # noqa 204 303
|
||||||
|
register: nginx_stable_version
|
||||||
|
changed_when: false
|
||||||
|
when: nginx_branch == "stable"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Set NGINX stable version"
|
||||||
|
set_fact:
|
||||||
|
nginx_version: "{{ nginx_stable_version.stdout }}"
|
||||||
|
when: nginx_branch == "stable"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Set NGINX download filename"
|
||||||
|
set_fact:
|
||||||
|
nginx_download_name: "{{ nginx_version }}"
|
||||||
|
when: nginx_branch == "stable" or nginx_branch == "mainline"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Check for NGINX Install"
|
||||||
|
stat:
|
||||||
|
path: /usr/sbin/nginx
|
||||||
|
follow: true
|
||||||
|
register: nginx_result
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Add NGINX User"
|
||||||
|
user:
|
||||||
|
name: nginx
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX"
|
||||||
|
when: not nginx_result.stat.exists
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Download"
|
||||||
|
get_url:
|
||||||
|
url: "http://nginx.org/download/{{ nginx_download_name }}.tar.gz"
|
||||||
|
dest: "/tmp/{{ nginx_download_name }}.tar.gz"
|
||||||
|
register: nginx_source
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Unpack"
|
||||||
|
unarchive:
|
||||||
|
copy: no
|
||||||
|
dest: /tmp/
|
||||||
|
src: "{{ nginx_source.dest }}"
|
||||||
|
register: nginx_source_unpack
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Configure"
|
||||||
|
command: >-
|
||||||
|
./configure
|
||||||
|
--prefix=/usr
|
||||||
|
--pid-path=/var/run/nginx.pid
|
||||||
|
--conf-path=/etc/nginx/nginx.conf
|
||||||
|
--error-log-path=/var/log/nginx/error.log
|
||||||
|
--http-log-path=/var/log/nginx/access.log
|
||||||
|
--lock-path=/var/lock/nginx.lock
|
||||||
|
--modules-path=/usr/lib/nginx/modules
|
||||||
|
--with-http_ssl_module
|
||||||
|
--with-stream
|
||||||
|
--with-mail=dynamic
|
||||||
|
{{ nginx_install_source_pcre | ternary('', '--with-pcre=../' + pcre_version) }}
|
||||||
|
{{ nginx_install_source_zlib | ternary('', '--with-zlib=../' + zlib_version) }}
|
||||||
|
{{ nginx_install_source_openssl | ternary('', '--with-openssl=../' + openssl_version) }}
|
||||||
|
args:
|
||||||
|
chdir: "/tmp/{{ nginx_version }}"
|
||||||
|
register: nginx_configure
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Make"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ nginx_version }}"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Install"
|
||||||
|
make:
|
||||||
|
chdir: "/tmp/{{ nginx_version }}"
|
||||||
|
target: install
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Create html directory"
|
||||||
|
file:
|
||||||
|
path: /usr/share/nginx/html
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Copy index.html"
|
||||||
|
copy:
|
||||||
|
src: www/index.html
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
dest: /usr/share/nginx/html/index.html
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Upload systemd NGINX service file"
|
||||||
|
copy:
|
||||||
|
src: services/nginx.systemd
|
||||||
|
dest: /lib/systemd/system/nginx.service
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
when: ansible_service_mgr == "systemd"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Enable systemd NGINX service file"
|
||||||
|
systemd:
|
||||||
|
daemon_reload: yes
|
||||||
|
name: nginx
|
||||||
|
state: restarted
|
||||||
|
enabled: yes
|
||||||
|
notify: "(Handler: All OSs) Start NGINX"
|
||||||
|
when: ansible_service_mgr == "systemd"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Upload upstart NGINX service file"
|
||||||
|
copy:
|
||||||
|
src: services/nginx.upstart
|
||||||
|
dest: /etc/init.d/nginx
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0755'
|
||||||
|
when: ansible_service_mgr == "upstart"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Upload upstart NGINX service conf file"
|
||||||
|
copy:
|
||||||
|
src: services/nginx.conf.upstart
|
||||||
|
dest: /etc/init/nginx.conf
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
when: ansible_service_mgr == "upstart"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Enable upstart NGINX service reload"
|
||||||
|
command: "initctl reload-configuration"
|
||||||
|
when: ansible_service_mgr == "upstart"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Start upstart NGINX service reload"
|
||||||
|
command: "nginx"
|
||||||
|
notify: "(Handler: All OSs) Start NGINX"
|
||||||
|
when: ansible_service_mgr == "upstart"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Upload sysvinit NGINX service file"
|
||||||
|
copy:
|
||||||
|
src: services/nginx.sysvinit
|
||||||
|
dest: /etc/init.d/nginx
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0755'
|
||||||
|
notify: "(Handler: All OSs) Start NGINX"
|
||||||
|
when: ansible_service_mgr == "sysvinit"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Upload openrc NGINX service file"
|
||||||
|
copy:
|
||||||
|
src: services/nginx.openrc
|
||||||
|
dest: /etc/init.d/nginx
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0755'
|
||||||
|
when: ansible_service_mgr == "openrc"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Enable openrc NGINX service"
|
||||||
|
command: rc-update add nginx default
|
||||||
|
notify: "(Handler: All OSs) Start NGINX"
|
||||||
|
when: ansible_service_mgr == "openrc"
|
||||||
|
|
||||||
|
- name: "(Install: Linux) Install NGINX: Cleanup Downloads"
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: absent
|
||||||
|
loop:
|
||||||
|
- "{{ pcre_source.dest }}"
|
||||||
|
- "{{ zlib_source.dest }}"
|
||||||
|
- "{{ openssl_source.dest }}"
|
||||||
|
- "{{ nginx_source.dest }}"
|
||||||
|
when: item is defined
|
@ -4,3 +4,4 @@
|
|||||||
name:
|
name:
|
||||||
- apt-transport-https
|
- apt-transport-https
|
||||||
- dirmngr
|
- dirmngr
|
||||||
|
- python-apt
|
||||||
|
Loading…
Reference in New Issue
Block a user