tritonshell/template/pkgs/triton-docker-env-shell.nix

32 lines
1.1 KiB
Nix

{ pkgs, cnsBaseDomain, dataCenters, mantaDomain, tritonApiDomain, ... }:
with pkgs.nodePackages;
''
export PATH="${triton}/bin:${json}/bin:$PATH"
# script to set the docker, triton, manta and CNS env vars for the current
# triton profile
# set triton and docker host environment variables
eval "$(triton env)"
# get the user's UUID
triton_account_uuid="$(triton account get --json | json id)"
# set the CNS (container name service) base for auto-generated DNS records
# in public and private networks
# note, this makes assumptions that only work if you configured the nix
# variables in flake.nix "CUSTOMIZE" section according to your Triton Data
# Center setup
for dc in ${pkgs.lib.concatStringsSep " " dataCenters}; do
if env | grep -q -E "SDC_URL=https://''${dc}.${tritonApiDomain}"; then
export \
TRITON_CNS_SEARCH_DOMAIN_PUBLIC="''${triton_account_uuid}.''${dc}.${cnsBaseDomain}" \
TRITON_CNS_SEARCH_DOMAIN_PRIVATE="''${triton_account_uuid}.''${dc}.int.${cnsBaseDomain}" \
TRITON_DC=''$dc
fi
done
export MANTA_URL=https://${mantaDomain}
export MANTA_USER=$SDC_ACCOUNT
export MANTA_KEY_ID=$SDC_KEY_ID
''