Compare commits

...

4 Commits

Author SHA1 Message Date
Christer Edwards
903805465d Merge pull request #39 from cedwards/master
update README for verify and service
2019-06-23 08:53:21 -06:00
Christer Edwards
07e9056c9c update README for verify and service 2019-06-23 08:51:47 -06:00
Christer Edwards
2ab81d47f4 Merge pull request #38 from cedwards/master
fix bootstrap regression, make cp verbose, code cleanup
2019-06-23 08:37:44 -06:00
Christer Edwards
3d3fd9881b fix bootstrap regression, make cp verbose, code cleanup 2019-06-23 08:33:41 -06:00
4 changed files with 33 additions and 25 deletions

View File

@@ -37,6 +37,7 @@ Available Commands:
list List jails (running and stopped). list List jails (running and stopped).
pkg Manipulate binary packages within targeted jail(s). See pkg(8). pkg Manipulate binary packages within targeted jail(s). See pkg(8).
restart Restart a running jail. restart Restart a running jail.
service Manage services within targeted jail(s).
start Start a stopped jail. start Start a stopped jail.
stop Stop a running jail. stop Stop a running jail.
sysrc Safely edit rc files within targeted jail(s). sysrc Safely edit rc files within targeted jail(s).
@@ -44,6 +45,7 @@ Available Commands:
top Display and update information about the top(1) cpu processes. top Display and update information about the top(1) cpu processes.
update Update jail base -pX release. update Update jail base -pX release.
upgrade Upgrade jail release to X.Y-RELEASE. upgrade Upgrade jail release to X.Y-RELEASE.
verify Compare release against a "known good" index.
zfs Manage (get|set) zfs attributes on targeted jail(s). zfs Manage (get|set) zfs attributes on targeted jail(s).
Use "bastille -v|--version" for version information. Use "bastille -v|--version" for version information.
@@ -301,6 +303,19 @@ folsom: created
``` ```
bastille service
----------------
To restart services inside a jail you can use the `bastille service` command.
```shell
ishmael ~ # bastille service folsom 'postfix restart'
[folsom]
postfix/postfix-script: stopping the Postfix mail system
postfix/postfix-script: starting the Postfix mail system
```
bastille cmd bastille cmd
------------ ------------
To execute commands within the jail you can use `bastille cmd`. To execute commands within the jail you can use `bastille cmd`.

View File

@@ -32,7 +32,7 @@
. /usr/local/etc/bastille/bastille.conf . /usr/local/etc/bastille/bastille.conf
## version ## version
BASTILLE_VERSION="0.3.20190622" BASTILLE_VERSION="0.3.20190623"
usage() { usage() {
cat << EOF cat << EOF
@@ -77,23 +77,19 @@ shift
# Handle special-case commands first. # Handle special-case commands first.
case "${CMD}" in case "${CMD}" in
version|-v|--version) version|-v|--version)
echo -e "${COLOR_GREEN}${BASTILLE_VERSION}${COLOR_RESET}" echo -e "${COLOR_GREEN}${BASTILLE_VERSION}${COLOR_RESET}"
exit 0 exit 0
;; ;;
help|-h|--help) help|-h|--help)
usage usage
;; ;;
esac esac
# Filter out all non-commands # Filter out all non-commands
case "${CMD}" in case "${CMD}" in
cmd|cp|create|destroy|list|pkg|restart|start|stop|sysrc|template|verify) bootstrap|cmd|console|cp|create|destroy|htop|list|pkg|restart|service)
;; ;;
update|upgrade) start|stop|sysrc|template|top|update|upgrade|verify|zfs)
;;
console|bootstrap|htop|top)
;;
bootstrap|update|upgrade|zfs)
;; ;;
*) *)
usage usage

View File

@@ -65,7 +65,7 @@ bootstrap_directories() {
mkdir -p ${bastille_cachedir}/${RELEASE} mkdir -p ${bastille_cachedir}/${RELEASE}
fi fi
else else
mkdir -p "${bastille_cachedir}" mkdir -p "${bastille_cachedir}/${RELEASE}"
fi fi
fi fi
@@ -110,7 +110,7 @@ bootstrap_directories() {
mkdir -p "${bastille_releasesdir}/${RELEASE}" mkdir -p "${bastille_releasesdir}/${RELEASE}"
fi fi
else else
mkdir -p "${bastille_releasesdir}" mkdir -p "${bastille_releasesdir}/${RELEASE}"
fi fi
fi fi
} }
@@ -129,16 +129,15 @@ bootstrap_release() {
fi fi
done done
for _archive in ${bastille_bootstrap_archives}; do for _archive in ${bastille_bootstrap_archives}; do
if [ ! -f "${bastille_cachedir}/${RELEASE}/${_archive}.txz" ]; then if [ ! -f "${bastille_cachedir}/${RELEASE}/${_archive}.txz" ]; then
fetch ${UPSTREAM_URL}/${_archive}.txz -o ${bastille_cachedir}/${RELEASE}/${_archive}.txz fetch ${UPSTREAM_URL}/${_archive}.txz -o ${bastille_cachedir}/${RELEASE}/${_archive}.txz
fi fi
if [ -f "${bastille_cachedir}/${RELEASE}/${_archive}.txz" ]; then if [ -f "${bastille_cachedir}/${RELEASE}/${_archive}.txz" ]; then
echo -e "${COLOR_GREEN}Extracting FreeBSD ${RELEASE} ${_archive}.txz.${COLOR_RESET}" echo -e "${COLOR_GREEN}Extracting FreeBSD ${RELEASE} ${_archive}.txz.${COLOR_RESET}"
/usr/bin/tar -C "${bastille_releasesdir}/${RELEASE}" -xf "${bastille_cachedir}/${RELEASE}/${_archive}.txz" /usr/bin/tar -C "${bastille_releasesdir}/${RELEASE}" -xf "${bastille_cachedir}/${RELEASE}/${_archive}.txz"
fi fi
done done
echo echo
@@ -156,9 +155,9 @@ bootstrap_template() {
## support for non-git ## support for non-git
if [ ! -x /usr/local/bin/git ]; then if [ ! -x /usr/local/bin/git ]; then
echo -e "${COLOR_RED}We're gonna have to use fetch. Strap in.${COLOR_RESET}" echo -e "${COLOR_RED}We're gonna have to use fetch. Strap in.${COLOR_RESET}"
echo -e "${COLOR_RED}Not yet implemented...${COLOR_RESET}" echo -e "${COLOR_RED}Not yet implemented...${COLOR_RESET}"
exit 1 exit 1
fi fi
## support for git ## support for git
@@ -203,7 +202,7 @@ bootstrap_template() {
echo -e "${COLOR_GREEN}Template validation failed.${COLOR_RESET}" echo -e "${COLOR_GREEN}Template validation failed.${COLOR_RESET}"
echo -e "${COLOR_GREEN}Deleting template.${COLOR_RESET}" echo -e "${COLOR_GREEN}Deleting template.${COLOR_RESET}"
rm -rf ${_template} rm -rf ${_template}
exit 1 exit 1
fi fi
## if validated; ready to use ## if validated; ready to use
@@ -213,8 +212,6 @@ bootstrap_template() {
fi fi
} }
#Usage: bastille bootstrap [release|template].${COLOR_RESET}"
HW_MACHINE=$(sysctl hw.machine | awk '{ print $2 }') HW_MACHINE=$(sysctl hw.machine | awk '{ print $2 }')
HW_MACHINE_ARCH=$(sysctl hw.machine_arch | awk '{ print $2 }') HW_MACHINE_ARCH=$(sysctl hw.machine_arch | awk '{ print $2 }')
@@ -244,7 +241,7 @@ case "${1}" in
bootstrap_directories bootstrap_directories
bootstrap_release bootstrap_release
;; ;;
http?://github.com/*/*) http?://github.com/*/*|http?://gitlab.com/*/*)
BASTILLE_TEMPLATE_URL=${1} BASTILLE_TEMPLATE_URL=${1}
BASTILLE_TEMPLATE_USER=$(echo "${1}" | awk -F / '{ print $4 }') BASTILLE_TEMPLATE_USER=$(echo "${1}" | awk -F / '{ print $4 }')
BASTILLE_TEMPLATE_REPO=$(echo "${1}" | awk -F / '{ print $5 }') BASTILLE_TEMPLATE_REPO=$(echo "${1}" | awk -F / '{ print $5 }')

View File

@@ -57,6 +57,6 @@ fi
for _jail in ${JAILS}; do for _jail in ${JAILS}; do
bastille_jail_path="$(jls -j "${_jail}" path)" bastille_jail_path="$(jls -j "${_jail}" path)"
echo -e "${COLOR_GREEN}[${_jail}]:${COLOR_RESET}" echo -e "${COLOR_GREEN}[${_jail}]:${COLOR_RESET}"
cp -a "$2" "${bastille_jail_path}/$3" cp -av "$2" "${bastille_jail_path}/$3"
echo echo
done done