Add (first version of) script 'change_api_key.sh'.
This commit is contained in:
parent
d26a7fc2cc
commit
5b843393e6
79
change_api_key.sh
Executable file
79
change_api_key.sh
Executable file
@ -0,0 +1,79 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# - Change API Key for user schleuder to enable managing lists
|
||||||
|
# -
|
||||||
|
# - Note: You can also run this script to initialise user 'schleuder'
|
||||||
|
# ---
|
||||||
|
|
||||||
|
backup_date="$(date +%Y-%m-%d-%H%M)"
|
||||||
|
schleuder_config="/etc/schleuder/schleuder.yml"
|
||||||
|
user_schleuder_config="/var/lib/schleuder/.schleuder-cli/schleuder-cli.yml"
|
||||||
|
|
||||||
|
# - Create API Key for user schleuder
|
||||||
|
# -
|
||||||
|
api_key="$(schleuder new_api_key)"
|
||||||
|
|
||||||
|
# - Add the generated API Key to the list of valid api keys at
|
||||||
|
# - configuration file $schleuder_config
|
||||||
|
# -
|
||||||
|
if ! grep -q "$api_key" 2> /dev/null $schleuder_config ; then
|
||||||
|
perl -i.$backup_date -n -p \
|
||||||
|
-e "s/(^(\s*)valid_api_keys:.*)/\1\n\2 - ${api_key}/" \
|
||||||
|
$schleuder_config
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# - Add generated API Key to schleuder's configuration file
|
||||||
|
# - '${user_schleuder_config}'
|
||||||
|
# -
|
||||||
|
|
||||||
|
# - If no configuration file present, create a new default one.
|
||||||
|
# -
|
||||||
|
have_dot_schleuder_cli_yml=true
|
||||||
|
if [[ ! -d "~schleuder/.schleuder-cli" ]] ; then
|
||||||
|
have_dot_schleuder_cli_yml=false
|
||||||
|
elif [[ ! -f "~schleuder/.schleuder-cli/schleuder-cli.yml" ]] ; then
|
||||||
|
|
||||||
|
# - If the directory is present, no default configuration file (see below)
|
||||||
|
# - will be written
|
||||||
|
# -
|
||||||
|
mv "~schleuder/.schleuder-cli" "~schleuder/.schleuder-cli.${backup_date}"
|
||||||
|
|
||||||
|
have_dot_schleuder_cli_yml=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! $have_dot_schleuder_cli_yml ; then
|
||||||
|
|
||||||
|
# Creates a default configuration file '${user_schleuder_config}'
|
||||||
|
#
|
||||||
|
su - schleuder -s /bin/bash -c "/usr//bin/schleuder-cli lists list > /dev/null 2>&1"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# - Now, add the API Key..
|
||||||
|
# -
|
||||||
|
perl -i.$backup_date -n -p \
|
||||||
|
-e "s/^(\s*api_key:).*/\1 ${api_key}/" \
|
||||||
|
${user_schleuder_config}
|
||||||
|
|
||||||
|
|
||||||
|
# - Get tls fingerprint of configured certificate
|
||||||
|
# -
|
||||||
|
cert_fingerprint="$(schleuder cert fingerprint | awk '{print$4}')"
|
||||||
|
|
||||||
|
# - Add the fingerprint to schleuder users private configuration file
|
||||||
|
# -
|
||||||
|
if ! grep -q "$cert_fingerprint" 2> /dev/null ${user_schleuder_config} ; then
|
||||||
|
perl -i.$backup_date -n -p \
|
||||||
|
-e "s/^(\s*tls_fingerprint:).*/\1 ${cert_fingerprint}/" \
|
||||||
|
${user_schleuder_config}
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# - Restart 'schleuder-api-daemon'
|
||||||
|
# -
|
||||||
|
systemctl restart schleuder-api-daemon
|
||||||
|
|
||||||
|
exit 0
|
1
initialise_user_schleuder.sh
Symbolic link
1
initialise_user_schleuder.sh
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
change_api_key.sh
|
Loading…
Reference in New Issue
Block a user