#load "bootstrap-lib.fsx" #load "gateway.fsx" open System open Bootstrap open Gateway let env name = let value = Environment.GetEnvironmentVariable name if String.IsNullOrWhiteSpace value then invalidOp $"{name} is unavailable" value let store = makeStore { URL = env "VAULT_ADDR" Role = env "VAULT_ROLE" JwtPath = env "JWT_PATH" CaPath = env "CA_PATH" } let loginKey = readKubeKey { URL = env "KUBE_URL" TokenPath = env "JWT_PATH" CaPath = env "KUBE_CA" Namespace = env "LOGIN_NAMESPACE" Secret = env "LOGIN_SECRET" } let quay = makeQuay { URL = env "QUAY_URL" ZitadelAPI = env "ZITADEL_API" ZitadelIssuer = env "ZITADEL_ISSUER" CaPath = env "CA_PATH" LoginKey = loginKey } run { AdminPath = env "ADMIN_PATH" } store quay