Jaypore CI

> Jaypore CI: Minimal, Offline, Local CI system.
Log | Files | Refs | README | LICENSE

edit_env.sh (969B)


      1 #!/usr/bin/env bash
      2 
      3 set -o errexit
      4 set -o pipefail
      5 
      6 main (){
      7     NAME=$1
      8     BIN=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
      9     SECRETS=$(echo "$BIN/..")
     10     KEY_FILE=$(echo "$SECRETS/$NAME.key")
     11     ENC_FILE=$(echo "$SECRETS/$NAME.enc")
     12     PLAINTEXT_FILE=$(echo "$SECRETS/$NAME.plaintext")
     13     export SOPS_AGE_KEY_FILE=$KEY_FILE
     14     echo "BIN      = $BIN"
     15     echo "SECRETS  = $SECRETS"
     16     echo "KEY      = $KEY_FILE"
     17     echo "SOPS KEY = $SOPS_AGE_KEY_FILE"
     18     echo "ENC      = $ENC_FILE"
     19     echo "PLAIN    = $PLAINTEXT_FILE"
     20     (bash $BIN/ensure_bins.sh)
     21     PATH="$PATH:$HOME/.local/bin:$BIN"
     22 
     23     if [[ -f "$ENC_FILE" ]]; then
     24         sops --decrypt --input-type dotenv --output-type dotenv "$ENC_FILE" > "$PLAINTEXT_FILE"
     25     fi
     26     ${EDITOR:-nano} "$PLAINTEXT_FILE"
     27     sops --input-type dotenv --output-type dotenv --encrypt --age $(age-keygen -y "$KEY_FILE") "$PLAINTEXT_FILE" > "$ENC_FILE"
     28     rm "$PLAINTEXT_FILE"
     29 }
     30 (main $1)