X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=roles%2Fcontexts%2Ffretlink%2Ftemplates%2Fenvironment.j2;h=652fc8dc6be7578b8e6b483b40a20a18d58b599d;hb=e7270a0e65cbbf398d999db98278114d809244dc;hp=e5e2c64da3dc733be70a702a63fedf353add5a1c;hpb=d4357f69e1ccbb1c277f8978ea6f4a368b3ee3c2;p=perso%2FImmae%2FConfig%2FAnsible.git diff --git a/roles/contexts/fretlink/templates/environment.j2 b/roles/contexts/fretlink/templates/environment.j2 index e5e2c64..652fc8d 100644 --- a/roles/contexts/fretlink/templates/environment.j2 +++ b/roles/contexts/fretlink/templates/environment.j2 @@ -36,8 +36,13 @@ build_macaroon() { target="uri://fretlink/$3" realm="$4" - cd "$HOME/workdir/haskell-commons" + pushd "$HOME/workdir/haskell-commons" >/dev/null 2>/dev/null MACAROON_PRIVATE_KEY="$secret" MACAROON_SECRET="$secret" stack exec macaroon-bakery -- $action --location "$target" --key-id "$src" $ttl "$realm" + popd 2>/dev/null >/dev/null +} + +function capitalize() { + echo "$1" | sed -e 's!\(^\|-\)\(.\)!\U\2!g' } APP=$(basename $(pwd)) @@ -57,7 +62,7 @@ FL_APP_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_APP_PORT" FL_CARRIER_DIRECTORY_PORT=8082 FL_CARRIER_DIRECTORY_SECRET="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/CarrierDirectory subkey=Secret') }}" FL_CARRIER_DIRECTORY_PRIVATE_KEY="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/CarrierDirectory subkey=PrivateKey') }}" -FL_CARRIER_DIRECTORY_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_CARRIER_DIRECTORY_PORT/api/" +FL_CARRIER_DIRECTORY_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_CARRIER_DIRECTORY_PORT/api" FL_NOTIFIER_PORT=8081 FL_NOTIFIER_SECRET="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/Notifier subkey=Secret') }}" @@ -71,26 +76,17 @@ FL_FREIGHT_PORT=8084 FL_FREIGHT_SECRET="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/Freight subkey=Secret') }}" FL_BOOKKEEPING_SECRET="dummy" +FL_LANE_EXPLORER_SECRET="dummy" FL_PSQL_HOST="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Local subkey=Host') }}" FL_PSQL_PORT="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Local subkey=Port') }}" FL_PSQL_USER="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Local subkey=User') }}" FL_PSQL_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Local') }}" -FL_GEODATA_DEV_PSQL_HOST="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Geodata subkey=Host') }}" -FL_GEODATA_DEV_PSQL_PORT="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Geodata subkey=Port') }}" -FL_GEODATA_DEV_PSQL_USER="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Geodata subkey=User') }}" -FL_GEODATA_DEV_PSQL_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Geodata') }}" -FL_GEODATA_DEV_PSQL_DB="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Geodata subkey=Database') }}" - -FL_NOTIFIER_DEV_PSQL_HOST="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Notifier subkey=Host') }}" -FL_NOTIFIER_DEV_PSQL_PORT="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Notifier subkey=Port') }}" -FL_NOTIFIER_DEV_PSQL_USER="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Notifier subkey=User') }}" -FL_NOTIFIER_DEV_PSQL_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Notifier') }}" -FL_NOTIFIER_DEV_PSQL_DB="{{ lookup('passwordstore', 'Travail/Fretlink/Psql/Dev/Notifier subkey=Database') }}" - FL_TOOLBOX_AGENT_MACAROON="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/ToolboxAgent') }}" +export FRETLINK_ENV="$APP ${FL_ENV:-local}" + if [ -f "local.env.example" ]; then source local.env.example fi @@ -117,17 +113,12 @@ if [ "$APP" != "app" ]; then export POSTGRESQL_ADDON_PASSWORD="$FL_PSQL_PASSWORD" export POSTGRESQL_ADDON_DB="$name" else - postgresql_host="FL_${name^^}_${FL_ENV^^}_PSQL_HOST" - postgresql_port="FL_${name^^}_${FL_ENV^^}_PSQL_PORT" - postgresql_user="FL_${name^^}_${FL_ENV^^}_PSQL_USER" - postgresql_password="FL_${name^^}_${FL_ENV^^}_PSQL_PASSWORD" - postgresql_db="FL_${name^^}_${FL_ENV^^}_PSQL_DB" - export FRETLINK_ENV="$FL_ENV" - export POSTGRESQL_ADDON_HOST="${!postgresql_host}" - export POSTGRESQL_ADDON_PORT="${!postgresql_port}" - export POSTGRESQL_ADDON_USER="${!postgresql_user}" - export POSTGRESQL_ADDON_PASSWORD="${!postgresql_password}" - export POSTGRESQL_ADDON_DB="${!postgresql_db}" + key=Psql/$(capitalize $FL_ENV)/$(capitalize $APP) + export POSTGRESQL_ADDON_HOST=$(p $key Host) + export POSTGRESQL_ADDON_PORT=$(p $key Port) + export POSTGRESQL_ADDON_USER=$(p $key User) + export POSTGRESQL_ADDON_PASSWORD=$(p $key) + export POSTGRESQL_ADDON_DB=$(p $key Database) fi fi @@ -141,21 +132,35 @@ if [ "$APP" = "app" ]; then export FRETLINK_AMAZON_PUBLIC_KEY="password" export FRETLINK_AMAZON_PRIVATE_KEY="password" export FRETLINK_GMAPS_API_KEY="password" + export FRETLINK_PASSWORD_REQUEST_SECRET="password" # secret export FRETLINK_MACAROON_SECRET=$FL_APP_SECRET # carrier directory - export CARRIER_DIRECTORY_URI="$FL_CARRIER_DIRECTORY_URL" + export CARRIER_DIRECTORY_URI="$FL_CARRIER_DIRECTORY_URL/" export FRETLINK_CARDIR_URL="$FL_CARRIER_DIRECTORY_URL" export FRETLINK_CARDIR_ENABLED="true" + export FRETLINK_CARDIRV3_ACCESS_KEY="$(build_macaroon $FL_CARRIER_DIRECTORY_SECRET carrier-directory carrier-directory carrier-directory::read)" # notifier export FRETLINK_NOTIFIER_API=$FL_NOTIFIER_URL - export FRETLINK_NOTIFIER_ACCESS_KEY="$(build_macaroon --old $FL_NOTIFIER_PRIVATE_KEY notifier notifier messaging)" + export FRETLINK_NOTIFIER_ACCESS_KEY="$(build_macaroon $FL_NOTIFIER_SECRET notifier notifier messaging)" export FRETLINK_NOTIFIER_TRANSPOREON_ACCESS_KEY="$(build_macaroon --old $FL_NOTIFIER_PRIVATE_KEY notifier notifier external)" export FRETLINK_NOTIFIER_TRANSPOREON_ENABLED="true" + export FRETLINK_NOTIFIER_ENABLED="true" + export FRETLINK_NOTIFIER_AMQP_ENABLED="true" + export FRETLINK_NOTIFIER_AMQP_TLS="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier subkey=TLS') }}" + export FRETLINK_NOTIFIER_AMQP_USER="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier subkey=User') }}" + export FRETLINK_NOTIFIER_AMQP_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier') }}" + export FRETLINK_NOTIFIER_AMQP_HOSTS="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier subkey=Hosts') }}" + export FRETLINK_NOTIFIER_AMQP_QUEUE="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier subkey=Queue') }}" + export FRETLINK_NOTIFIER_AMQP_EXCHANGE="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier subkey=Exchange') }}" + export FRETLINK_NOTIFIER_AMQP_PORT="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier subkey=Port') }}" + export FRETLINK_NOTIFIER_AMQP_VHOST="{{ lookup('passwordstore', 'Travail/Fretlink/Rabbitmq/Local/Notifier subkey=Vhost') }}" + + # admin-root export FRETLINK_ADMINROOT_URL=$FL_ADMIN_ROOT_URL export FRETLINK_ADMINROOT_ACCESS_KEY="$(build_macaroon $FL_ADMIN_ROOT_PRIVATE_KEY admin-root admin-root admin-root::token-delivery)" @@ -163,6 +168,7 @@ if [ "$APP" = "app" ]; then # geodata export FRETLINK_GEODATA_API="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/GeodataDev subkey=Url') }}" export FRETLINK_GEODATA_ACCESS_KEY="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/GeodataDev') }}" + export GEODATA_URI="$FRETLINK_GEODATA_API" fi if [ "$APP" = "admin-root" ]; then @@ -174,10 +180,12 @@ if [ "$APP" = "admin-root" ]; then export CARDIR_MACAROON_SECRET=$FL_CARRIER_DIRECTORY_SECRET export NOTIFIER_MACAROON_SECRET=$FL_NOTIFIER_SECRET export BOOKKEEPING_MACAROON_SECRET=$FL_BOOKKEEPING_SECRET + export LANE_EXPLORER_MACAROON_SECRET=$FL_LANE_EXPLORER_SECRET fi if [ "$APP" = "carrier-directory" ]; then export ADMIN_BASE_URL=$FL_APP_URL + export ACCESS_KEY="$(build_macaroon $FL_CARRIER_DIRECTORY_SECRET carrier-directory carrier-directory carrier-directory::read)" fi if [ "$APP" = "notifier" ]; then @@ -197,7 +205,16 @@ if [ "$APP" = "notifier" ]; then export MACAROON="$(build_macaroon --old $FL_NOTIFIER_PRIVATE_KEY notifier notifier external)" # To push transporeon cargos to app - APP_TRANSPOREON_PUSH_MACAROON="$(build_macaroon $FL_APP_SECRET notifier app app::transporeon-cargos-write)" + export TRANSPOREON_APP_PUSH_URL="http://localhost:8080/api/transporeon/cargo" + export TRANSPOREON_APP_PUSH_MACAROON="$(build_macaroon $FL_APP_SECRET notifier app app::transporeon-cargos-write)" + + # AMQP + export AMQP_VHOST="notifier" + export AMQP_USER="notifier" + export AMQP_PASSWORD="notifier" + export AMQP_QUEUE="notifier" + export AMQP_SERVER="localhost" + export AMQP_TLS="false" fi if [ "$APP" = "pricer" ]; then