X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=roles%2Fcontexts%2Ffretlink%2Ftemplates%2Fenvironment.j2;h=ccd6737d55badbb75a0ffce6400a98beeef79e7e;hb=HEAD;hp=bb9328a5e190b605e7eed25739661cb07ff4d9b2;hpb=b7b8fe64fb3ed13ef535c7d4789da3a5001e355d;p=perso%2FImmae%2FConfig%2FAnsible.git diff --git a/roles/contexts/fretlink/templates/environment.j2 b/roles/contexts/fretlink/templates/environment.j2 index bb9328a..ccd6737 100644 --- a/roles/contexts/fretlink/templates/environment.j2 +++ b/roles/contexts/fretlink/templates/environment.j2 @@ -8,6 +8,14 @@ if ! $(echo "$PATH" | grep -q "$DIR/toolbox/scripts"); then PATH="$DIR/toolbox/scripts:$PATH" fi +p() { + if [ -z "$2" ]; then + pass show Travail/Fretlink/$1 + else + pass show Travail/Fretlink/$1 | grep "^$2:" | sed -e "s/^$2: //" + fi | head -n1 +} + build_macaroon() { if [ "$1" = "--old" ]; then shift @@ -28,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)) @@ -37,6 +50,11 @@ APP=$(basename $(pwd)) FL_APPS_HOST="localhost" FL_APPS_SCHEME="http" +FL_ADMIN_USER_PORT=8078 +FL_ADMIN_USER_SECRET="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/AdminUser subkey=Secret') }}" +FL_ADMIN_USER_PRIVATE_KEY="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/AdminUser subkey=PrivateKey') }}" +FL_ADMIN_USER_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_ADMIN_ROOT_PORT/api/" + FL_ADMIN_ROOT_PORT=8079 FL_ADMIN_ROOT_PRIVATE_KEY="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/AdminRoot subkey=PrivateKey') }}" FL_ADMIN_ROOT_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_ADMIN_ROOT_PORT/api/" @@ -49,40 +67,37 @@ 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') }}" FL_NOTIFIER_PRIVATE_KEY="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/Notifier subkey=PrivateKey') }}" FL_NOTIFIER_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_NOTIFIER_PORT/api" +FL_THIRD_PARTIES_PORT=8086 +FL_THIRD_PARTIES_SECRET="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/ThirdParties subkey=Secret') }}" + FL_PRICER_PORT=8083 FL_PRICER_PRIVATE_KEY="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/Pricer subkey=PrivateKey') }}" +FL_PRICER_SECRET="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/Pricer subkey=Secret') }}" FL_FREIGHT_PORT=8084 FL_FREIGHT_SECRET="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/Freight subkey=Secret') }}" +FL_HOMEPAGE_PORT=8085 + 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 @@ -108,19 +123,23 @@ if [ "$APP" != "app" ]; then export POSTGRESQL_ADDON_USER="$FL_PSQL_USER" export POSTGRESQL_ADDON_PASSWORD="$FL_PSQL_PASSWORD" export POSTGRESQL_ADDON_DB="$name" + export PG_URI="postgresql://$POSTGRESQL_ADDON_USER:$POSTGRESQL_ADDON_PASSWORD@localhost:$POSTGRESQL_ADDON_PORT/$POSTGRESQL_ADDON_DB" 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) + export PG_URI="postgresql://$POSTGRESQL_ADDON_USER:$POSTGRESQL_ADDON_PASSWORD@$POSTGRESQL_ADDON_HOST:$POSTGRESQL_ADDON_PORT/$POSTGRESQL_ADDON_DB" fi + + export GRAYLOG_HOST="localhost" + export GRAYLOG_PORT="1111" + export ENVIRONMENT_NAME="local" + export APPLICATION_NAME="$APP" + export SENTRY_DSN="test" + export ACCEPTED_ORIGINS="*" fi if [ "$APP" = "app" ]; then @@ -133,21 +152,43 @@ 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_URL_FRONTEND="$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') }}" + + # pricer + export FRETLINK_PRICER_USE_CARGO_OUTPUT="true" + export FRETLINK_PRICER_SHIPPER_PRICE_V2_KEY=$(build_macaroon $FL_PRICER_SECRET pricer pricer pricing::cargo) + export FRETLINK_PRICER_SHIPPER_PRICE_KEY=$(build_macaroon --old $FL_PRICER_SECRET pricer pricer internal-cargo-pricing) + export FRETLINK_PRICER_CARRIER_SUGGESTION_KEY=$(build_macaroon --old $FL_PRICER_SECRET pricer pricer internal-cargo-pricing) + export FRETLINK_PRICER_MACAROON="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/PricerDev') }}" + export FRETLINK_PRICER_URL="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/PricerDev subkey=Url') }}" + # 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)" @@ -155,6 +196,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 @@ -166,10 +208,30 @@ 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" = "admin-user" ]; then + export BASE_URL=$FL_APPS_HOST + export API_ROOT="http://$BASE_URL:$PORT/api" + export UI_ROOT="http://$BASE_URL:$PORT/admin" + export ACCEPTED_ORIGINS="http://$BASE_URL:$PORT/admin" + export TOK="$(build_macaroon $FL_ADMIN_USER_PRIVATE_KEY admin-user admin-user admin-user::provisioning)" + export ADMIN_TOKEN="$(build_macaroon $FL_ADMIN_USER_SECRET admin-user admin-user admin-user::user-management)" + export SERVICE_TOKEN="$(build_macaroon $FL_ADMIN_USER_SECRET admin-user admin-user admin-user::some-service)" +fi + +if [ "$APP" = "homepage" ]; then + export HOMEPAGE_API_KEY="{{ lookup('passwordstore', 'Travail/Fretlink/Macaroons/HomepageDev subkey=ApiKey') }}" + export HOMEPAGE_API_ROOT_REDIRECT="https://next.www.fretlink.com" + export HOMEPAGE_API_BLOG_URL="https://blog.fretlink.com" + export HOMEPAGE_API_CIO_API_KEY="123" + export HOMEPAGE_API_CIO_SITE_ID="321" + 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 @@ -178,6 +240,7 @@ if [ "$APP" = "notifier" ]; then export TEMPLATES_ASSETS_BASE_URL="http://dummy/" export TRANSPOREON_USER="{{ lookup('passwordstore', 'Travail/Fretlink/Transporeon/ApiTest subkey=Login') }}" export TRANSPOREON_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/Transporeon/ApiTest') }}" + export TRANSPOREON_HOST="{{ lookup('passwordstore', 'Travail/Fretlink/Transporeon/ApiTest subkey=Host') }}" export TRANSPOREON_CALLBACK_USER="{{ lookup('passwordstore', 'Travail/Fretlink/Transporeon/NotifierCallbackTest subkey=Login') }}" export TRANSPOREON_CALLBACK_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/Transporeon/NotifierCallbackTest') }}" @@ -186,9 +249,36 @@ if [ "$APP" = "notifier" ]; then #export MACAROON="$(build_macaroon $FL_NOTIFIER_SECRET notifier notifier external)" # v1 export MACAROON="$(build_macaroon --old $FL_NOTIFIER_PRIVATE_KEY notifier notifier external)" + export MONITORING_MACAROON="$(build_macaroon --old $FL_NOTIFIER_PRIVATE_KEY notifier notifier monitoring)" # 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" = "third-parties" ]; then + export PROCTER_GAMBLE_APP_PUSH_MACAROON="$(build_macaroon $FL_APP_SECRET third-parties app app::proctergamble-cargos-write)" + export PROCTER_GAMBLE_APP_PUSH_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_APP_PORT/api/proctergamble/cargo" + export TRANSPOREON_APP_PUSH_MACAROON="$(build_macaroon $FL_APP_SECRET third-parties app app::transporeon-cargos-write)" + export TRANSPOREON_APP_PUSH_URL="$FL_APPS_SCHEME://$FL_APPS_HOST:$FL_APP_PORT/api/transporeon/cargo" + export PROCTER_GAMBLE_CALLBACK_USER="{{ lookup('passwordstore', 'Travail/Fretlink/ProcterGamble/NotifierCallbackTest subkey=Login') }}" + export PROCTER_GAMBLE_CALLBACK_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/ProcterGamble/NotifierCallbackTest') }}" + export TRANSPOREON_CALLBACK_USER="{{ lookup('passwordstore', 'Travail/Fretlink/Transporeon/NotifierCallbackTest subkey=Login') }}" + export TRANSPOREON_CALLBACK_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/Transporeon/NotifierCallbackTest') }}" + + export PROCTER_GAMBLE_FETCHER_HOST="{{ lookup('passwordstore', 'Travail/Fretlink/ProcterGamble/FTP subkey=Host') }}" + export PROCTER_GAMBLE_FETCHER_LOGIN="{{ lookup('passwordstore', 'Travail/Fretlink/ProcterGamble/FTP subkey=Login') }}" + export PROCTER_GAMBLE_FETCHER_PASSWORD="{{ lookup('passwordstore', 'Travail/Fretlink/ProcterGamble/FTP') }}" + export PROCTER_GAMBLE_FETCHER_PRODUCTION=false + fi if [ "$APP" = "pricer" ]; then