feat: write auto-detected port mappings during a deploy

During an app build, we now auto-detect ports based on the source code. This is usually http:80:5000, with Dockerfile-based deploys having their ports extracted from the docker image or Dockerfile. Additionally, we add an https:443 mapping for any detected http:80 mapping when there is an ssl certificate, and all http port mappings are transformed to https mappings for Dockerfile-based deploys.

While the ports aren't currently consumed, a future refactor will provide the ability to fallback to the new detected ports when there is no user-specified port mapping.
This commit is contained in:
Jose Diaz-Gonzalez
2023-07-16 03:35:40 -04:00
parent b44be8def9
commit 4bc3de5540
16 changed files with 246 additions and 10 deletions

View File

@@ -34,6 +34,10 @@ func main() {
err = ports.TriggerPortsGet(appName)
case "ports-get-available":
err = ports.TriggerPortsGetAvailable()
case "ports-set-detected":
appName := flag.Arg(0)
appName, portMapString := common.ShiftString(flag.Args())
err = ports.TriggerPortsSetDetected(appName, strings.Join(portMapString, " "))
case "post-app-clone-setup":
oldAppName := flag.Arg(0)
newAppName := flag.Arg(1)