3ef1f0dc7b
API_URL is still accepted for BC compatibility of the self-hosted deployments. This will allow deploying on a single domain, using a reverse proxy that acts on the path. This however means that the config needs to be changed for all WorkAdventure deployments.
167 lines
5.6 KiB
Plaintext
167 lines
5.6 KiB
Plaintext
{
|
|
local env = std.extVar("env"),
|
|
local namespace = env.GITHUB_REF_SLUG,
|
|
local tag = namespace,
|
|
local url = if namespace == "master" then "workadventu.re" else namespace+".workadventure.test.thecodingmachine.com",
|
|
// develop branch does not use admin because of issue with SSL certificate of admin as of now.
|
|
local adminUrl = if namespace == "master" || namespace == "develop" || std.startsWith(namespace, "admin") then "https://"+url else null,
|
|
"$schema": "https://raw.githubusercontent.com/thecodingmachine/deeployer/master/deeployer.schema.json",
|
|
"version": "1.0",
|
|
"containers": {
|
|
"back1": {
|
|
"image": "thecodingmachine/workadventure-back:"+tag,
|
|
"host": {
|
|
"url": "api1."+url,
|
|
"https": "enable",
|
|
"containerPort": 8080
|
|
},
|
|
"ports": [8080, 50051],
|
|
"env": {
|
|
"SECRET_KEY": "tempSecretKeyNeedsToChange",
|
|
"ADMIN_API_TOKEN": env.ADMIN_API_TOKEN,
|
|
"JITSI_ISS": env.JITSI_ISS,
|
|
"JITSI_URL": env.JITSI_URL,
|
|
"SECRET_JITSI_KEY": env.SECRET_JITSI_KEY,
|
|
"TURN_STATIC_AUTH_SECRET": env.TURN_STATIC_AUTH_SECRET,
|
|
} + (if adminUrl != null then {
|
|
"ADMIN_API_URL": adminUrl,
|
|
} else {}) + if namespace != "master" then {
|
|
// Absolutely ugly WorkAround to circumvent broken certificates on the K8S test cluster. Don't do this in production kids!
|
|
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
|
|
}
|
|
},
|
|
"back2": {
|
|
"image": "thecodingmachine/workadventure-back:"+tag,
|
|
"host": {
|
|
"url": "api2."+url,
|
|
"https": "enable",
|
|
"containerPort": 8080
|
|
},
|
|
"ports": [8080, 50051],
|
|
"env": {
|
|
"SECRET_KEY": "tempSecretKeyNeedsToChange",
|
|
"ADMIN_API_TOKEN": env.ADMIN_API_TOKEN,
|
|
"JITSI_ISS": env.JITSI_ISS,
|
|
"JITSI_URL": env.JITSI_URL,
|
|
"SECRET_JITSI_KEY": env.SECRET_JITSI_KEY,
|
|
"TURN_STATIC_AUTH_SECRET": env.TURN_STATIC_AUTH_SECRET,
|
|
} + (if adminUrl != null then {
|
|
"ADMIN_API_URL": adminUrl,
|
|
} else {}) + if namespace != "master" then {
|
|
// Absolutely ugly WorkAround to circumvent broken certificates on the K8S test cluster. Don't do this in production kids!
|
|
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
|
|
}
|
|
},
|
|
"pusher": {
|
|
"replicas": 2,
|
|
"image": "thecodingmachine/workadventure-pusher:"+tag,
|
|
"host": {
|
|
"url": "pusher."+url,
|
|
"https": "enable"
|
|
},
|
|
"ports": [8080],
|
|
"env": {
|
|
"SECRET_KEY": "tempSecretKeyNeedsToChange",
|
|
"ADMIN_API_TOKEN": env.ADMIN_API_TOKEN,
|
|
"JITSI_ISS": env.JITSI_ISS,
|
|
"JITSI_URL": env.JITSI_URL,
|
|
"API_URL": "back1:50051,back2:50051",
|
|
"SECRET_JITSI_KEY": env.SECRET_JITSI_KEY,
|
|
} + (if adminUrl != null then {
|
|
"ADMIN_API_URL": adminUrl,
|
|
} else {}) + if namespace != "master" then {
|
|
// Absolutely ugly WorkAround to circumvent broken certificates on the K8S test cluster. Don't do this in production kids!
|
|
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
|
|
}
|
|
},
|
|
"front": {
|
|
"image": "thecodingmachine/workadventure-front:"+tag,
|
|
"host": {
|
|
"url": "play."+url,
|
|
"https": "enable"
|
|
},
|
|
"ports": [80],
|
|
"env": {
|
|
"PUSHER_URL": "//pusher."+url,
|
|
"UPLOADER_URL": "//uploader."+url,
|
|
"ADMIN_URL": "//"+url,
|
|
"JITSI_URL": env.JITSI_URL,
|
|
"SECRET_JITSI_KEY": env.SECRET_JITSI_KEY,
|
|
"TURN_SERVER": "turn:coturn.workadventu.re:443,turns:coturn.workadventu.re:443",
|
|
"JITSI_PRIVATE_MODE": if env.SECRET_JITSI_KEY != '' then "true" else "false",
|
|
"START_ROOM_URL": "/_/global/maps."+url+"/Floor0/floor0.json"
|
|
//"GA_TRACKING_ID": "UA-10196481-11"
|
|
}
|
|
},
|
|
"uploader": {
|
|
"image": "thecodingmachine/workadventure-uploader:"+tag,
|
|
"host": {
|
|
"url": "uploader."+url,
|
|
"https": "enable",
|
|
"containerPort": 8080
|
|
},
|
|
"ports": [8080],
|
|
"env": {
|
|
}
|
|
},
|
|
"maps": {
|
|
"image": "thecodingmachine/workadventure-maps:"+tag,
|
|
"host": {
|
|
"url": "maps."+url,
|
|
"https": "enable"
|
|
},
|
|
"ports": [80]
|
|
},
|
|
},
|
|
"config": {
|
|
"https": {
|
|
"mail": "d.negrier@thecodingmachine.com"
|
|
},
|
|
k8sextension(k8sConf)::
|
|
k8sConf + {
|
|
back1+: {
|
|
deployment+: {
|
|
spec+: {
|
|
template+: {
|
|
metadata+: {
|
|
annotations+: {
|
|
"prometheus.io/port": "8080",
|
|
"prometheus.io/scrape": "true"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
back2+: {
|
|
deployment+: {
|
|
spec+: {
|
|
template+: {
|
|
metadata+: {
|
|
annotations+: {
|
|
"prometheus.io/port": "8080",
|
|
"prometheus.io/scrape": "true"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
pusher+: {
|
|
deployment+: {
|
|
spec+: {
|
|
template+: {
|
|
metadata+: {
|
|
annotations+: {
|
|
"prometheus.io/port": "8080",
|
|
"prometheus.io/scrape": "true"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|