forked from ungleich-public/cdist
add examples for __remote_{copy,exec} scripts
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
parent
d0123acc2a
commit
360a03a349
5 changed files with 85 additions and 0 deletions
2
other/examples/remote/README
Normal file
2
other/examples/remote/README
Normal file
|
@ -0,0 +1,2 @@
|
|||
Some examples of using alternative __remote_copy and __remote_exec prefixes.
|
||||
This allows you to change how cdist interacts with the target host (or directory, or whatever :-)
|
28
other/examples/remote/chroot/copy
Executable file
28
other/examples/remote/chroot/copy
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# __remote_copy script to run cdist against a local chroot instead of via ssh
|
||||
# to a remote target host.
|
||||
#
|
||||
# Usage:
|
||||
# __remote_copy="/path/to/this/script /path/to/your/chroot" cdist config target-id
|
||||
#
|
||||
|
||||
log() {
|
||||
#echo "$@" | logger -t "cdist-chroot-copy"
|
||||
:
|
||||
}
|
||||
|
||||
chroot="$1"; shift
|
||||
target_host="$__target_host"
|
||||
|
||||
# replace target_host with chroot location
|
||||
code="$(echo "$@" | sed "s|$target_host:|$chroot|g")"
|
||||
|
||||
log "$@"
|
||||
log "target_host: $target_host"
|
||||
log "$code"
|
||||
|
||||
# copy files into chroot
|
||||
cp $code
|
||||
|
||||
log "-----"
|
35
other/examples/remote/chroot/exec
Executable file
35
other/examples/remote/chroot/exec
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# __remote_exec script to run cdist against a local chroot instead of via ssh
|
||||
# on a remote target host.
|
||||
#
|
||||
# Usage:
|
||||
# __remote_exec="/path/to/this/script /path/to/your/chroot" cdist config target-id
|
||||
#
|
||||
|
||||
log() {
|
||||
#echo "$@" | logger -t "cdist-chroot-exec"
|
||||
:
|
||||
}
|
||||
|
||||
chroot="$1"; shift
|
||||
target_host="$1"; shift
|
||||
script=$(mktemp "${chroot}/tmp/chroot-${0##*/}.XXXXXXXXXX")
|
||||
trap cleanup INT TERM EXIT
|
||||
cleanup() {
|
||||
[ $__cdist_debug ] || rm "$script"
|
||||
}
|
||||
|
||||
log "$script"
|
||||
log "$@"
|
||||
echo "#!/bin/sh -l" > "$script"
|
||||
echo "$@" >> "$script"
|
||||
chmod +x "$script"
|
||||
|
||||
relative_script="${script#$chroot}"
|
||||
log "relative_script: $relative_script"
|
||||
|
||||
# run in chroot
|
||||
chroot "$chroot" "$relative_script"
|
||||
|
||||
log "-----"
|
10
other/examples/remote/ssh/copy
Executable file
10
other/examples/remote/ssh/copy
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# same as cdist default
|
||||
#
|
||||
# Usage:
|
||||
# __remote_copy="/path/to/this/script" cdist config target_host
|
||||
#
|
||||
|
||||
#echo "$@" | logger -t "cdist-ssh-copy"
|
||||
scp -o User=root -q $@
|
10
other/examples/remote/ssh/exec
Executable file
10
other/examples/remote/ssh/exec
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# same as cdist default
|
||||
#
|
||||
# Usage:
|
||||
# __remote_exec="/path/to/this/script" cdist config target_host
|
||||
#
|
||||
|
||||
#echo "$@" | logger -t "cdist-ssh-exec"
|
||||
ssh -o User=root -q $@
|
Loading…
Reference in a new issue