quorate/services/mirrored-image/k8s/bootstrap/bootstrap.fsx

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