Import files from private .cdist repository
This commit is contained in:
parent
e231c57799
commit
03b37c0a44
6 changed files with 166 additions and 0 deletions
105
README.rst
Normal file
105
README.rst
Normal file
|
@ -0,0 +1,105 @@
|
|||
cdist-type__ungleich_openvpn_server(7)
|
||||
======================================
|
||||
|
||||
NAME
|
||||
----
|
||||
cdist-type__ungleich_openvpn_server - Configure an OpenVPN Server
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This cdist type allows you to create and maintain OpenVPN servers.
|
||||
It assumes existence of the directory files/openvpn/ and various
|
||||
subdirectories (see below).
|
||||
|
||||
|
||||
|
||||
REQUIRED PARAMETERS
|
||||
-------------------
|
||||
None.
|
||||
|
||||
OPTIONAL PARAMETERS
|
||||
-------------------
|
||||
state
|
||||
'present', 'absent', 'exists' or 'pre-exists', defaults to 'present' where:
|
||||
|
||||
present
|
||||
the file is exactly the one from source
|
||||
absent
|
||||
the file does not exist
|
||||
exists
|
||||
the file from source but only if it doesn't already exist
|
||||
pre-exists
|
||||
check that the file exists and is a regular file, but do not
|
||||
create or modify it
|
||||
|
||||
group
|
||||
Group to chgrp to.
|
||||
|
||||
mode
|
||||
Unix permissions, suitable for chmod.
|
||||
|
||||
owner
|
||||
User to chown to.
|
||||
|
||||
source
|
||||
If supplied, copy this file from the host running cdist to the target.
|
||||
If not supplied, an empty file or directory will be created.
|
||||
If source is '-' (dash), take what was written to stdin as the file content.
|
||||
|
||||
MESSAGES
|
||||
--------
|
||||
chgrp <group>
|
||||
Changed group membership
|
||||
chown <owner>
|
||||
Changed owner
|
||||
chmod <mode>
|
||||
Changed mode
|
||||
create
|
||||
Empty file was created (no --source specified)
|
||||
remove
|
||||
File exists, but state is absent, file will be removed by generated code.
|
||||
upload
|
||||
File was uploaded
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
# Create /etc/cdist-configured as an empty file
|
||||
__file /etc/cdist-configured
|
||||
# The same thing
|
||||
__file /etc/cdist-configured --state present
|
||||
# Use __file from another type
|
||||
__file /etc/issue --source "$__type/files/archlinux" --state present
|
||||
# Delete existing file
|
||||
__file /etc/cdist-configured --state absent
|
||||
# Supply some more settings
|
||||
__file /etc/shadow --source "$__type/files/shadow" \
|
||||
--owner root --group shadow --mode 0640 \
|
||||
--state present
|
||||
# Provide a default file, but let the user change it
|
||||
__file /home/frodo/.bashrc --source "/etc/skel/.bashrc" \
|
||||
--state exists \
|
||||
--owner frodo --mode 0600
|
||||
# Check that the file is present, show an error when it is not
|
||||
__file /etc/somefile --state pre-exists
|
||||
# Take file content from stdin
|
||||
__file /tmp/whatever --owner root --group root --mode 644 --source - << DONE
|
||||
Here goes the content for /tmp/whatever
|
||||
DONE
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
Nico Schottelius <nico-cdist--@--schottelius.org>
|
||||
|
||||
|
||||
COPYING
|
||||
-------
|
||||
Copyright \(C) 2011-2013 Nico Schottelius. You can redistribute it
|
||||
and/or modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
7
gencode-remote
Normal file
7
gencode-remote
Normal file
|
@ -0,0 +1,7 @@
|
|||
if grep -q "^__file/etc/openvpn" "$__messages_in"; then
|
||||
cat << eof
|
||||
if [ "\$(pgrep openvpn)" ]; then
|
||||
echo /etc/init.d/openvpn restart
|
||||
fi
|
||||
eof
|
||||
fi
|
52
manifest
Normal file
52
manifest
Normal file
|
@ -0,0 +1,52 @@
|
|||
config=$(cat "$__object/parameter/config")
|
||||
|
||||
srcdirparamfile="$__object/parameter/srcdir"
|
||||
if [ -f "$srcdirparamfile" ]; then
|
||||
srcdirparam=$(cat "$srcdirparamfile")
|
||||
else
|
||||
srcdirparam="server-generic"
|
||||
fi
|
||||
srcdir="$__files/openvpn/$srcdirparam"
|
||||
|
||||
if [ ! -d "$srcdir" ]; then
|
||||
echo "No such srcdir, ${srcdirparam}. Aborting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
confdir="$__files/openvpn/server-config"
|
||||
basedir=/etc/openvpn
|
||||
|
||||
configfile="$confdir/${config}.conf"
|
||||
|
||||
if [ ! -f "$configfile" ]; then
|
||||
echo "No such config, ${config}. Aborting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
require="__package/openvpn" __file "$basedir/server.conf" \
|
||||
--state present --mode 0600 \
|
||||
--source "$configfile"
|
||||
|
||||
__package openvpn --state present
|
||||
require="__package/openvpn" __start_on_boot openvpn --state present
|
||||
|
||||
cd "$srcdir"
|
||||
|
||||
for entry in *; do
|
||||
if [ -d "$entry" ]; then
|
||||
require="__package/openvpn" __directory "$basedir/$entry" \
|
||||
--state present --mode 0755
|
||||
cd "$entry"
|
||||
for file in *; do
|
||||
require="__package/openvpn __directory/$basedir/$entry" \
|
||||
__file "$basedir/$entry/$file" \
|
||||
--state present --mode 0644 \
|
||||
--source "$srcdir/$entry/$file"
|
||||
done
|
||||
cd ".."
|
||||
else
|
||||
require="__package/openvpn" __file "$basedir/$entry" \
|
||||
--state present --mode 0644 \
|
||||
--source "$srcdir/$entry"
|
||||
fi
|
||||
done
|
1
parameter/optional
Normal file
1
parameter/optional
Normal file
|
@ -0,0 +1 @@
|
|||
srcdir
|
1
parameter/required
Normal file
1
parameter/required
Normal file
|
@ -0,0 +1 @@
|
|||
config
|
0
singleton
Normal file
0
singleton
Normal file
Loading…
Reference in a new issue