cleanup, use stamp-file, only run on old OS versions
This commit is contained in:
parent
948cc80389
commit
e08346aa30
|
@ -9,12 +9,21 @@ set -e
|
|||
GNUPGHOME=/etc/hiera/gpg
|
||||
export GNUPGHOME
|
||||
|
||||
vendor=$(lsb_release -is)
|
||||
version=$(lsb_release -rs)
|
||||
# If the OS is Ubuntu 18.04 or newer, or Debian 10 or newer, we don't need to do anything (those use eyaml instead)
|
||||
test "${vendor}" = "Ubuntu" && dpkg --compare-versions "${version}" "ge" "18.04" && exit 0
|
||||
test "${vendor}" = "Debian" && dpkg --compare-versions "${version}" "ge" "10" && exit 0
|
||||
|
||||
stamp="$COSMOS_BASE/stamps/hiera-gpg-v01.stamp"
|
||||
|
||||
test -f "$stamp" && exit 0
|
||||
|
||||
if [ ! -f /usr/lib/ruby/vendor_ruby/gpgme.rb ]; then
|
||||
apt-get update
|
||||
apt-get -y install ruby-gpgme
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -s $GNUPGHOME/secring.gpg ]; then
|
||||
|
||||
if [ "x$1" != "x--force" ]; then
|
||||
|
@ -35,19 +44,21 @@ if [ ! -s $GNUPGHOME/secring.gpg ]; then
|
|||
chmod 700 $GNUPGHOME
|
||||
|
||||
TMPFILE=$(mktemp /tmp/hiera-gpg.XXXXXX)
|
||||
cat > $TMPFILE <<EOF
|
||||
cat > "$TMPFILE" <<EOF
|
||||
%echo Generating a default key
|
||||
Key-Type: default
|
||||
Subkey-Type: default
|
||||
Name-Real: Cosmos Puppet
|
||||
Name-Comment: Hiera GPG key
|
||||
Name-Email: root@`hostname --fqdn`
|
||||
Name-Email: root@$(hostname --fqdn)
|
||||
Expire-Date: 0
|
||||
# Do a commit here, so that we can later print "done" :-)
|
||||
%no-protection
|
||||
%commit
|
||||
%echo done
|
||||
EOF
|
||||
gpg2 --batch --gen-key $TMPFILE
|
||||
rm -f $TMPFILE
|
||||
gpg2 --batch --gen-key "$TMPFILE"
|
||||
rm -f "$TMPFILE"
|
||||
fi
|
||||
|
||||
mkdir -p "$(dirname "${stamp}")"
|
||||
touch "$stamp"
|
||||
|
|
Loading…
Reference in a new issue