From 7a90ea4debcdcb729197fbd926e8a0e840b312a6 Mon Sep 17 00:00:00 2001 From: Daniel Joseph Barnhart Clark Date: Thu, 24 Aug 2006 02:59:47 +0000 Subject: EncapPackages: Restructuring directory layout git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2100 ce84e21b-d406-0410-9b95-82705330c041 --- encap/src/bcfg2-site/Makefile | 61 ++++++++++++++++++++++ .../bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl | 9 ++++ .../bcfg2-site/bcfg2-site-RENAME/encapname.tmpl | 2 + .../bcfg2-site-RENAME/etc/bcfg2.conf.tmpl | 10 ++++ .../etc/default/bcfg2-client/.SENTINEL_SITE | 0 .../etc/default/bcfg2-client/env/OPTIONS.tmpl | 2 + .../bcfg2-client/env/RUN_INTERVAL_SECONDS.tmpl | 2 + .../etc/default/bcfg2-server/.SENTINEL_SITE | 0 .../etc/default/bcfg2-server/env/OPTIONS.tmpl | 2 + .../bcfg2-site-RENAME/etc/ostiary.cfg.tmpl | 29 ++++++++++ encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall | 0 encap/src/bcfg2-site/bcfg2-site-RENAME/preinstall | 0 .../bcfg2-site/bcfg2-site-RENAME/sbin/ost-bcfg2.sh | 26 +++++++++ .../bcfg2-site-RENAME/var/encap/bcfg2-site-RENAME | 0 encap/src/bcfg2-site/site-settings.conf | 46 ++++++++++++++++ 15 files changed, 189 insertions(+) create mode 100644 encap/src/bcfg2-site/Makefile create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/encapname.tmpl create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/etc/bcfg2.conf.tmpl create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/.SENTINEL_SITE create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/OPTIONS.tmpl create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/RUN_INTERVAL_SECONDS.tmpl create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/.SENTINEL_SITE create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/env/OPTIONS.tmpl create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/etc/ostiary.cfg.tmpl create mode 100755 encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall create mode 100755 encap/src/bcfg2-site/bcfg2-site-RENAME/preinstall create mode 100755 encap/src/bcfg2-site/bcfg2-site-RENAME/sbin/ost-bcfg2.sh create mode 100644 encap/src/bcfg2-site/bcfg2-site-RENAME/var/encap/bcfg2-site-RENAME create mode 100644 encap/src/bcfg2-site/site-settings.conf (limited to 'encap/src/bcfg2-site') diff --git a/encap/src/bcfg2-site/Makefile b/encap/src/bcfg2-site/Makefile new file mode 100644 index 000000000..e42ff2eb6 --- /dev/null +++ b/encap/src/bcfg2-site/Makefile @@ -0,0 +1,61 @@ +# $Id$ + +# Variables + +PATH = /usr/local/lib/bcfg2/bin:/usr/local/bin:/usr/bin:/bin +CHEETAH = /usr/local/lib/bcfg2/bin/cheetah + +# Main + +.PHONY : all clean fill copy fix encap test cheetah +.SUFFIXES : + +BD = /usr/local +ED = ${BD}/encap +export ED + +all : encap + +clean : + for DIR in `find . -type d | grep -v "\.svn"`; do \ + for GLOB in \#\* \*\~ \*.out\*; do \ + (rm $${DIR}/$${GLOB} 2>/dev/null || true); \ + done; \ + done + +fill : clean + $(CHEETAH) fill -R --oext out + +copy : fill + EN=`cat bcfg2-site-RENAME/encapname.out` && \ + ( test ! -d $$ED/bcfg2-site-$${EN} || rm -rf $$ED/bcfg2-site-$${EN} ) && \ + for SRC in `find bcfg2-site-RENAME | grep -v svn | grep -v tmpl`; do \ + DEST=$$ED/`printf "$$SRC" | sed s/RENAME/$$EN/g | sed s/\.out//g`; \ + if [ -d $$SRC ]; then mkdir $$DEST; else cp $$SRC $$DEST; fi; \ + done + +fix : copy + EN="$$ED/bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \ + chown -R 0 $$EN && chgrp -R 0 $$EN && \ + find $$EN -type d | xargs -n1 chmod 0755 && \ + find $$EN -type f | xargs -n1 chmod 0644 && \ + chmod 0600 $$EN/etc/ostiary.cfg && \ + chmod 0600 $$EN/etc/bcfg2.conf && \ + chmod 0755 $$EN/sbin/ost-bcfg2.sh && \ + chmod 0755 $$EN/postinstall && \ + chmod 0755 $$EN/preinstall + +encap : fix + EN="bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \ + cd $$ED && \ + ( test ! -f $${EN}-encap-*.tar.gz || rm $${EN}-encap-*.tar.gz ) && \ + mkencap -c $$EN + EN="bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \ + mv $$ED/$${EN}-encap-*.tar.gz . + +test : + : $(PATH) + $(CHEETAH) test + +cheetah : + $(CHEETAH) $(ARGS) diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl new file mode 100644 index 000000000..e6af738ac --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl @@ -0,0 +1,9 @@ +#include "site-settings.conf" +encap 2.1 # libencap-2.3.8 +platform share +date ${DATE} +contact "${ADMIN_NAME}" <${ADMIN_EMAIL}> +description bcfg2-site-${SITE_SHORTNAME} - bcfg2 configuration for ${SITE_NAME} +prereq pkgspec >= bcfg2-0.8.2 +prereq pkgspec >= daemontools-0.76 +prereq pkgspec >= ostiary-3.4 diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/encapname.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/encapname.tmpl new file mode 100644 index 000000000..0c0296a16 --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/encapname.tmpl @@ -0,0 +1,2 @@ +#include "site-settings.conf" +${SITE_SHORTNAME}-${SITE_VERSION} diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/bcfg2.conf.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/bcfg2.conf.tmpl new file mode 100644 index 000000000..536faa82d --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/bcfg2.conf.tmpl @@ -0,0 +1,10 @@ +#include "site-settings.conf" +[communication] +protocol = xmlrpc/ssl +password = ${BCFG2_PASSWORD} + +[components] +bcfg2 = https://${BCFG2_SERVER}:${BCFG2_PORT} + +[statistics] +sendmailpath = ${SENDMAILPATH} diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/.SENTINEL_SITE b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/.SENTINEL_SITE new file mode 100644 index 000000000..e69de29bb diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/OPTIONS.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/OPTIONS.tmpl new file mode 100644 index 000000000..93d733712 --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/OPTIONS.tmpl @@ -0,0 +1,2 @@ +#include "site-settings.conf" +${BCFG2_CLIENT_OPTIONS} diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/RUN_INTERVAL_SECONDS.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/RUN_INTERVAL_SECONDS.tmpl new file mode 100644 index 000000000..e4ff48d09 --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/env/RUN_INTERVAL_SECONDS.tmpl @@ -0,0 +1,2 @@ +#include "site-settings.conf" +${BCFG2_CLIENT_RUN_INTERVAL_SECONDS} diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/.SENTINEL_SITE b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/.SENTINEL_SITE new file mode 100644 index 000000000..e69de29bb diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/env/OPTIONS.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/env/OPTIONS.tmpl new file mode 100644 index 000000000..e4283b54e --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/env/OPTIONS.tmpl @@ -0,0 +1,2 @@ +#include "site-settings.conf" +${BCFG2_SERVER_OPTIONS} diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/ostiary.cfg.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/ostiary.cfg.tmpl new file mode 100644 index 000000000..ebc39b61d --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/ostiary.cfg.tmpl @@ -0,0 +1,29 @@ +#include "site-settings.conf" +# If present, ostiaryd will shut down once the cache of bad IPs is full. +# Under daemontools, this just has the effect of generating a service +# restart log message. +EXIT_ON_IPCACHE_FULL + +# If present, ostiaryd will not detach from the terminal it was started +# from. This is useful when running ostiaryd from programs like inetd or +# cygrunsrv or daemontools. +SKIP_DETACH + +# Port to listen on. (Can be specified on command line.) +PORT=${OSTIARY_PORT} + +# The password to remotely kill ostiaryd. Sort of useless when running under +# daemontools, since daemontools will just start ostiaryd back up. (But it +# is required to be in this file) +KILL="${OSTIARY_PASSWORD}-kill" + +# Must be at least one action. Format is: +# ACTION="secret","command (with path)",["uid"[,"gid"]] +# NOTE: There is a maximum of 31 actions +ACTION="${OSTIARY_PASSWORD}-bcfg2-dvqn","/usr/local/sbin/ost-bcfg2.sh dvqn","0","0" +ACTION="${OSTIARY_PASSWORD}-bcfg2-dvn","/usr/local/sbin/ost-bcfg2.sh dvn","0","0" +ACTION="${OSTIARY_PASSWORD}-bcfg2-dvq","/usr/local/sbin/ost-bcfg2.sh dvq","0","0" +ACTION="${OSTIARY_PASSWORD}-bcfg2-dv","/usr/local/sbin/ost-bcfg2.sh dv","0","0" +ACTION="${OSTIARY_PASSWORD}-bcfg2-vq","/usr/local/sbin/ost-bcfg2.sh vq","0","0" +ACTION="${OSTIARY_PASSWORD}-bcfg2-v","/usr/local/sbin/ost-bcfg2.sh v","0","0" +ACTION="${OSTIARY_PASSWORD}-bcfg2-restart","/usr/local/sbin/ost-bcfg2.sh restart","0","0" diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall b/encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall new file mode 100755 index 000000000..e69de29bb diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/preinstall b/encap/src/bcfg2-site/bcfg2-site-RENAME/preinstall new file mode 100755 index 000000000..e69de29bb diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/sbin/ost-bcfg2.sh b/encap/src/bcfg2-site/bcfg2-site-RENAME/sbin/ost-bcfg2.sh new file mode 100755 index 000000000..55b20caac --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/sbin/ost-bcfg2.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# +# ost-bcfg2.sh : Control bcfg2 client via ostiary (wrapper script) +# $Id$ +# + +umask 002 +exec 2>&1 + +LOG="multilog t /usr/local/var/multilog/bcfg2-client-ostiary" +PATH=/usr/local/lib/bcfg2/bin:/command:/usr/local/bin:/usr/bin:/bin +export PATH + +case $1 in + dvqn) bcfg2 -d -v -q -n | $LOG ;; + dvn) bcfg2 -d -v -n | $LOG ;; + dvq) bcfg2 -d -v -q | $LOG ;; + dv) bcfg2 -d -v | $LOG ;; + vq) bcfg2 -v -q | $LOG ;; + v) bcfg2 -v | $LOG ;; + restart) svc -t bcfg2-client | $LOG ;; + *) printf "ERROR in $0\n" | $LOG ;; +esac + +exit 0 \ No newline at end of file diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/var/encap/bcfg2-site-RENAME b/encap/src/bcfg2-site/bcfg2-site-RENAME/var/encap/bcfg2-site-RENAME new file mode 100644 index 000000000..e69de29bb diff --git a/encap/src/bcfg2-site/site-settings.conf b/encap/src/bcfg2-site/site-settings.conf new file mode 100644 index 000000000..c29ab36e2 --- /dev/null +++ b/encap/src/bcfg2-site/site-settings.conf @@ -0,0 +1,46 @@ +###### +###### Set these variables as appropriate for your site +###### +#### +#### Site Information +#### +#set global $ADMIN_NAME = "Local Admin Contact" +#set global $ADMIN_EMAIL = "tickets@localhost.localdomain.com" +#set global $SITE_NAME = "localdomain.com" +## SITE_SHORTNAME should be a single word with no punctuation +#set global $SITE_SHORTNAME = "localdomain" +## SITE_VERSION should be the version of this file, starting at 1 +#set global $SITE_VERSION = "1" +#### +#### Paths, Variables, and Passwords +#### +#set global $SENDMAILPATH = "/usr/sbin/sendmail" +#set global $BCFG2_SERVER = "config.localdomain.com" +#set global $BCFG2_PORT = "6" +#set global $OSTIARY_PORT = "7" +#set global $BCFG2_CLIENT_RUN_INTERVAL_SECONDS = "3600" +## Initial options for bcfg(1). The bcfg2 client is started with these options +## on installation and periodically based on BCFG2_CLIENT_RUN_INTERVAL_SECONDS, +## so you probably want to include the "-n" (dry-run mode) flag, unless you +## already have a good configuration in place. You can then change the config +## file /usr/local/etc/default/bcfg2-client/env/OPTIONS via the bcfg2 "Cfg" +## functionality (possibly by kicking off a non-dry from the bcfg2 server using +## ostiary, or just by running bcfg2 manually on the client) to run in non-dry- +## run mode. +#set global $BCFG2_CLIENT_OPTIONS = "-q -v -d -n" +## Initial options for bcfg2-server(8). Note that bcfg2-server is not fully +## configured by bcfg2-site; you need to edit /usr/local/etc/bcfg2.conf to +## include the "[server]" stanza and appropriate values, as well as a "key =" +## line in the "[communications]" stanza (see bcfg2 doc for details). +#set global $BCFG2_SERVER_OPTIONS = "-v" +## You can set passwords here, and you will not be prompted for them at +## install time; however you will then have to treat your bcfg2-site +## distribution as equivalent to the bcfg2 server and ostiary passwords. +## To be prompted for passwords at install time, make these empty string ("") +#set global $BCFG2_PASSWORD = "" +#set global $OSTIARY_PASSWORD = "" +###### +###### Automatically-set variables - you shouldn't have to touch these. +###### +#from time import localtime, strftime +#set global $DATE = strftime("%a %b %d %H:%M:%S %Z %Y", localtime()) -- cgit v1.2.3-1-g7c22