41 lines
707 B
CUE
41 lines
707 B
CUE
|
// Local dev environment for todoapp
|
||
|
package todoapp
|
||
|
|
||
|
import (
|
||
|
"universe.dagger.io/docker"
|
||
|
"universe.dagger.io/nginx"
|
||
|
)
|
||
|
|
||
|
// Expose todoapp web port
|
||
|
proxy: web: _
|
||
|
|
||
|
actions: {
|
||
|
// Reference app build inherited from base config
|
||
|
build: _
|
||
|
_app: build.output
|
||
|
|
||
|
container: {
|
||
|
// Build a container image serving the app with nginx
|
||
|
build: docker.#Build & {
|
||
|
steps: [
|
||
|
nginx.#Build & {
|
||
|
flavor: "alpine"
|
||
|
},
|
||
|
docker.#Copy & {
|
||
|
contents: _app
|
||
|
dest: "/usr/share/nginx/html"
|
||
|
},
|
||
|
]
|
||
|
}
|
||
|
|
||
|
// Run the app in an ephemeral container
|
||
|
run: docker.#Run & {
|
||
|
image: build.output
|
||
|
ports: web: {
|
||
|
frontend: proxy.web.endpoint
|
||
|
backend: address: "localhost:5000"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|