39 lines
897 B
FSharp
39 lines
897 B
FSharp
#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
|