package todoapp import ( "alpha.dagger.io/dagger" "alpha.dagger.io/docker" "alpha.dagger.io/http" ) // docker local socket dockerSocket: dagger.#Stream & dagger.#Input // run our todoapp in our local Docker engine run: docker.#Run & { ref: push.ref name: "todoapp" ports: ["8080:80"] socket: dockerSocket } // run our local registry registry: docker.#Run & { ref: "registry:2" name: "registry-local" ports: ["5042:5000"] socket: dockerSocket } // As we pushed the registry to our local docker // we need to wait for the container to be up wait: http.#Wait & { url: "localhost:5042" } // push to our local registry // this concrete value satisfies the string constraint // we defined in the previous file push: target: "\(wait.url)/todoapp" // Application URL appURL: "http://localhost:8080/" & dagger.#Output