DodoApp: Pass lowercased port names to app-runner
Use Debian based Deno container image
Change-Id: I90300af78fe55ac6504c352c62e0f1d48adf89da
diff --git a/apps/app-runner/Dockerfile.deno.2.2.0 b/apps/app-runner/Dockerfile.deno.2.2.0
index 6145bf9..36c9cfb 100644
--- a/apps/app-runner/Dockerfile.deno.2.2.0
+++ b/apps/app-runner/Dockerfile.deno.2.2.0
@@ -1,10 +1,8 @@
-FROM denoland/deno:alpine-2.2.0
+FROM denoland/deno:debian-2.2.0
ARG TARGETARCH
-RUN apk update
-# TODO(gio): git and openssh is not generally required, we need it for canvas.
-# Instead allow dodo-app definition to include required tool list.
-RUN apk add openssh-keygen openssh
+RUN apt-get update -y
+RUN apt-get install -y openssl
COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.nextjs.deno.2.0.0 b/apps/app-runner/Dockerfile.nextjs.deno.2.0.0
index 98f62ed..8acc5b9 100644
--- a/apps/app-runner/Dockerfile.nextjs.deno.2.0.0
+++ b/apps/app-runner/Dockerfile.nextjs.deno.2.0.0
@@ -2,4 +2,7 @@
ARG TARGETARCH
+RUN apt-get update -y
+RUN apt-get install -y openssl
+
COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/server.go b/apps/app-runner/server.go
index a65cb0a..6efd222 100644
--- a/apps/app-runner/server.go
+++ b/apps/app-runner/server.go
@@ -122,6 +122,7 @@
}
func (s *Server) run() error {
+ logM := io.MultiWriter(os.Stdout, s.logs)
newDir := s.appDir
commands := []command{}
if !s.agentMode {
@@ -135,13 +136,13 @@
if _, err := os.Stat(filepath.Join(newDir, ".git")); err != nil && os.IsNotExist(err) {
commit, err := CloneRepositoryBranch(s.repoAddr, s.branch, s.rootDir, s.signer, newDir)
if err != nil {
- fmt.Fprintf(s.logs, "!!! dodo: Failed to clone repository\n")
+ fmt.Fprintf(logM, "!!! dodo: Failed to clone repository: %s\n", err)
s.status = &Status{
Commit: nil,
}
return err
}
- fmt.Fprintf(s.logs, "!!! dodo: Successfully cloned repository %s\n", commit.Hash)
+ fmt.Fprintf(logM, "!!! dodo: Successfully cloned repository %s\n", commit.Hash)
s.status = &Status{
Commit: commit,
Commands: []CommandStatus{},
@@ -201,7 +202,6 @@
State: "waiting",
})
}
- logM := io.MultiWriter(os.Stdout, s.logs)
for i, c := range commands {
if i > 0 {
s.status.Commands[i-1].State = "success"
@@ -215,8 +215,7 @@
Stderr: logM,
}
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
- fmt.Printf("Running: %s\n", c)
- fmt.Fprintf(s.logs, "!!! dodo: Running: %s\n", c)
+ fmt.Fprintf(logM, "!!! dodo: Running: %s\n", c)
s.status.Commands[i].State = "running"
if i < len(commands)-1 {
if err := cmd.Run(); err != nil {
diff --git a/core/installer/app_configs/dodo_app.cue b/core/installer/app_configs/dodo_app.cue
index 439b419..9c433bd 100644
--- a/core/installer/app_configs/dodo_app.cue
+++ b/core/installer/app_configs/dodo_app.cue
@@ -354,7 +354,7 @@
lastCmdEnv: [...string]
runConfiguration: [{
- bin: "npm"
+ bin: "deno"
args: ["install"]
},
for c in preBuildCommands {
@@ -708,7 +708,7 @@
name: svc.name
apiPort: svc.apiPort
appPorts: [for p in svc.ports {
- name: p.name
+ name: strings.ToLower(p.name)
containerPort: p.value
protocol: p.protocol
}]
@@ -822,8 +822,12 @@
}
cpuCores: 2
memory: "3Gi"
- ports: svc.ports
- sshKey: input.key
+ ports: [for p in svc.ports {
+ name: strings.ToLower(p.name)
+ value: p.value
+ protocol: p.protocol
+ }]
+ sshKey: input.key
configFiles: {
"env.sh": _envProfile
}