diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..86f9bf1 --- /dev/null +++ b/.env.sample @@ -0,0 +1,4 @@ +DOCKER_IO=docker.io +DOCKER_ORG_JO_MICRO=docker.io/jomicro + +BUILD_MOUNT_FOLDER="~" \ No newline at end of file diff --git a/.gitignore b/.gitignore index fd6cb06..ec44a3a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.env + .DS_STORE .task/ diff --git a/README.md b/README.md index 3754a20..af23d52 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ See [cmd/microrouterd/plugins.go](cmd/microrouterd/plugins.go) for a list of ava ## Integration examples -Have a look at [internalService](https://jochum.dev/jo-micro/router/blob/master/cmd/microrouterd/main.go#L35) or the author's FOSS project [microlobby](https://github.com/pcdummy/microlobby). +Have a look at [internalService](cmd/microrouterd/main.go#L35) or the author's FOSS project [microlobby](https://github.com/pcdummy/microlobby). Here's some code from the microlobby project @@ -126,6 +126,7 @@ func main() { #### Build ```bash +cp .env.sample .env task ``` diff --git a/Taskfile.yml b/Taskfile.yml index 6b0997f..26f4c63 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -1,5 +1,7 @@ version: '3' +dotenv: [".env"] + vars: GIT_TAG: sh: git tag --points-at HEAD @@ -32,10 +34,18 @@ tasks: builder: desc: Run something in the builder container for example "task builder -- go get -u ./..." cmds: - - podman run --rm -v "{{.PWD}}:/code" -v "{{.VOLUME_PATH}}:/go:rw" registry.fk.jochum.dev/jo-micro/builder:latest {{.CLI_ARGS}} + - podman run --rm + -v "{{.BUILD_MOUNT_FOLDER_INT}}:{{.BUILD_MOUNT_FOLDER_INT}}" + -v "{{.PWD}}:/code" + -v "{{.VOLUME_PATH}}:/go:rw" + --build-arg=DOCKER_IO={{.DOCKER_IO}} + --build-arg=DOCKER_ORG_JO_MICRO={{.DOCKER_ORG_JO_MICRO}} + {{.DOCKER_ORG_JO_MICRO}}/builder:latest {{.CLI_ARGS}} vars: VOLUME_PATH: sh: podman volume inspect jo_micro-router_go --format "{{"{{"}}.Mountpoint{{"}}"}}" + BUILD_MOUNT_FOLDER_INT: + sh: realpath {{.BUILD_MOUNT_FOLDER}} preconditions: - test -n "{{.CLI_ARGS}}" @@ -53,13 +63,23 @@ tasks: deps: - protoc cmds: - - podman build -v "{{.VOLUME_PATH}}:/go:rw" --build-arg VERSION={{.VERSION}} -t registry.fk.jochum.dev/jo-micro/router:latest -f ./docker/router/Dockerfile . + - podman build + -v "{{.BUILD_MOUNT_FOLDER_INT}}:{{.BUILD_MOUNT_FOLDER_INT}}" + -v "{{.VOLUME_PATH}}:/go:rw" + --build-arg VERSION={{.VERSION}} + --build-arg=DOCKER_IO={{.DOCKER_IO}} + --build-arg=DOCKER_ORG_JO_MICRO={{.DOCKER_ORG_JO_MICRO}} + -t {{.DOCKER_ORG_JO_MICRO}}/router:latest + -f ./docker/router/Dockerfile + . vars: VOLUME_PATH: sh: podman volume inspect jo_micro-router_go --format "{{"{{"}}.Mountpoint{{"}}"}}" + BUILD_MOUNT_FOLDER_INT: + sh: realpath {{.BUILD_MOUNT_FOLDER}} podman: - desc: Generate docker container for jo-micro/router tagged as registry.fk.jochum.dev/jo-micro/router:latest + desc: Generate docker container for jo-micro/router tagged as {{.DOCKER_ORG_JO_MICRO}}/router:latest cmds: - task: build:podman @@ -80,5 +100,5 @@ tasks: rm: desc: Remove all persistent data cmds: - - podman image rm registry.fk.jochum.dev/jo-micro/router:latest || exit 0 + - podman image rm {{.DOCKER_ORG_JO_MICRO}}/router:latest || exit 0 - rm -rf $PWD/.task \ No newline at end of file diff --git a/docker/router/Dockerfile b/docker/router/Dockerfile index 6914edf..14d1614 100644 --- a/docker/router/Dockerfile +++ b/docker/router/Dockerfile @@ -1,7 +1,8 @@ ARG DOCKER_IO=docker.io +ARG DOCKER_ORG_JO_MICRO=docker.io/jomicro # STEP 1 build executable binary -FROM registry.fk.jochum.dev/jo-micro/builder:latest AS builder +FROM ${DOCKER_ORG_JO_MICRO}/builder:latest AS builder # Create appuser (/etc/passwd entry for the runner container) RUN useradd appuser