fixed missing temp env file
This commit is contained in:
34
setup
34
setup
@@ -5,10 +5,30 @@ ENV_FILE=".env"
|
|||||||
SERVICE_ACCOUNT_NAME="FileShare_ServiceAccount"
|
SERVICE_ACCOUNT_NAME="FileShare_ServiceAccount"
|
||||||
|
|
||||||
BOOTSTRAP_ENV_FILE=""
|
BOOTSTRAP_ENV_FILE=""
|
||||||
|
ORIGINAL_ENV_BACKUP=""
|
||||||
|
BOOTSTRAP_ENV_WRITTEN=0
|
||||||
|
FINAL_ENV_WRITTEN=0
|
||||||
|
ENV_PREEXISTED=0
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
if [[ -n "$BOOTSTRAP_ENV_FILE" && -f "$BOOTSTRAP_ENV_FILE" ]]; then
|
if [[ -n "$BOOTSTRAP_ENV_FILE" && -f "$BOOTSTRAP_ENV_FILE" ]]; then
|
||||||
rm -f "$BOOTSTRAP_ENV_FILE"
|
rm -f "$BOOTSTRAP_ENV_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$BOOTSTRAP_ENV_WRITTEN" -eq 1 && "$FINAL_ENV_WRITTEN" -eq 0 ]]; then
|
||||||
|
if [[ "$ENV_PREEXISTED" -eq 1 && -n "$ORIGINAL_ENV_BACKUP" && -f "$ORIGINAL_ENV_BACKUP" ]]; then
|
||||||
|
cp "$ORIGINAL_ENV_BACKUP" "$ENV_FILE"
|
||||||
|
chmod 600 "$ENV_FILE"
|
||||||
|
printf "Restored original %s after setup failure.\n" "$ENV_FILE" >&2
|
||||||
|
else
|
||||||
|
rm -f "$ENV_FILE"
|
||||||
|
printf "Removed temporary %s after setup failure.\n" "$ENV_FILE" >&2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$ORIGINAL_ENV_BACKUP" && -f "$ORIGINAL_ENV_BACKUP" ]]; then
|
||||||
|
rm -f "$ORIGINAL_ENV_BACKUP"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
trap cleanup EXIT
|
trap cleanup EXIT
|
||||||
|
|
||||||
@@ -96,6 +116,13 @@ print(''.join(secrets.choice(alphabet) for _ in range(48)))
|
|||||||
PY
|
PY
|
||||||
)"
|
)"
|
||||||
|
|
||||||
|
if [[ -f "$ENV_FILE" ]]; then
|
||||||
|
ENV_PREEXISTED=1
|
||||||
|
ORIGINAL_ENV_BACKUP="$(mktemp)"
|
||||||
|
cp "$ENV_FILE" "$ORIGINAL_ENV_BACKUP"
|
||||||
|
chmod 600 "$ORIGINAL_ENV_BACKUP"
|
||||||
|
fi
|
||||||
|
|
||||||
BOOTSTRAP_ENV_FILE="$(mktemp)"
|
BOOTSTRAP_ENV_FILE="$(mktemp)"
|
||||||
chmod 600 "$BOOTSTRAP_ENV_FILE"
|
chmod 600 "$BOOTSTRAP_ENV_FILE"
|
||||||
|
|
||||||
@@ -114,11 +141,15 @@ SAMBA_HOSTNAME=${samba_hostname}
|
|||||||
NETBIOS_NAME=${netbios_name}
|
NETBIOS_NAME=${netbios_name}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
cp "$BOOTSTRAP_ENV_FILE" "$ENV_FILE"
|
||||||
|
chmod 600 "$ENV_FILE"
|
||||||
|
BOOTSTRAP_ENV_WRITTEN=1
|
||||||
|
|
||||||
printf "Building image...\n"
|
printf "Building image...\n"
|
||||||
docker compose build samba
|
docker compose build samba
|
||||||
|
|
||||||
printf "Provisioning service account %s...\n" "$SERVICE_ACCOUNT_NAME"
|
printf "Provisioning service account %s...\n" "$SERVICE_ACCOUNT_NAME"
|
||||||
docker compose --env-file "$BOOTSTRAP_ENV_FILE" run --rm --entrypoint /bin/bash samba -lc '
|
docker compose run --rm --entrypoint /bin/bash samba -lc '
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
cat > /tmp/bootstrap-smb.conf <<EOF
|
cat > /tmp/bootstrap-smb.conf <<EOF
|
||||||
@@ -158,6 +189,7 @@ NETBIOS_NAME=${netbios_name}
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
chmod 600 "$ENV_FILE"
|
chmod 600 "$ENV_FILE"
|
||||||
|
FINAL_ENV_WRITTEN=1
|
||||||
printf "Created %s\n" "$ENV_FILE"
|
printf "Created %s\n" "$ENV_FILE"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user