Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developing using docker-compose currently doesn't work #5267

Open
mwheeler-ep opened this issue Nov 19, 2024 · 0 comments
Open

Developing using docker-compose currently doesn't work #5267

mwheeler-ep opened this issue Nov 19, 2024 · 0 comments

Comments

@mwheeler-ep
Copy link

What went wrong?

What happened:

  • Tried to use the docker-compose method however changes for pnpm and mage prevent developing
  • Received error
#6 [oncall_ui] exporting to image
#6 exporting layers 0.0s done
#6 writing image sha256:5ecb86c7914a93e44f25e8ef4a0507b6d61415cc299ed81a306e2e21bce1e785 done
#6 naming to docker.io/library/oncall-oncall_ui 0.0s done
#6 DONE 0.0s
sh: pnpm: not found
make: *** [init] Error 127

during the container make

  • Received error
logger=plugins.backend.start t=2024-11-19T02:29:55.216037779Z level=error msg="Could not start plugin backend" pluginId=grafana-oncall-app error="fork/exec /var/lib/grafana/plugins/grafana-plugin/dist/gpx_grafana_oncall_app_linux_arm64: no such file or directory"

during engine start

What did you expect to happen:

  • environment starts up and runs ready for dev

How do we reproduce it?

Use docker-compose steps in README.md

Grafana OnCall Version

dev

Product Area

Helm/Kubernetes/Docker

Grafana OnCall Platform?

Docker

User's Browser?

No response

Anything else to add?

I unfortunately don't have access to a Docker licence and as such I'm using rancher. Ctlptl used for tilt does not support rancher backend : tilt-dev/ctlptl#153

I think I have a workable solution with the following changes but haven't fully tested them. I thought it was worth at least documenting them in a n issue even if the long term goal is to switch to Tilt so that others using docker-compose can benefit.

diff --git a/Makefile b/Makefile
index 9498a0f4..cc2f636c 100644
--- a/Makefile
+++ b/Makefile
@@ -141,7 +141,7 @@ init:  ## build the frontend plugin code then run make start
 # this makes sure that it will be available when the grafana container starts up without the need to
 # restart the grafana container initially
 ifeq ($(findstring $(UI_PROFILE),$(COMPOSE_PROFILES)),$(UI_PROFILE))
-       $(call run_ui_docker_command,pnpm install && pnpm build:dev)
+       $(call run_ui_docker_command,pnpm install && pnpm build:dev && pnpm mage:build-dev)
 endif
 
 stop:  # stop all of the docker containers
diff --git a/grafana-plugin/Dockerfile.dev b/grafana-plugin/Dockerfile.dev
index 03a79c08..576df71d 100644
--- a/grafana-plugin/Dockerfile.dev
+++ b/grafana-plugin/Dockerfile.dev
@@ -2,5 +2,10 @@ FROM node:20.15.1-alpine
 
 WORKDIR /etc/app
 ENV PATH /etc/app/node_modules/.bin:$PATH
+RUN npm install -g pnpm
+RUN apk add go git && git clone https://github.com/magefile/mage && \
+    cd mage && mkdir /root/go/ && \
+    go run bootstrap.go
 
+ENV PATH="/root/go/bin/:$PATH" 
 CMD ["pnpm", "start"]
\ No newline at end of file
diff --git a/grafana-plugin/package.json b/grafana-plugin/package.json
index a9609049..b4f9ba11 100644
--- a/grafana-plugin/package.json
+++ b/grafana-plugin/package.json
@@ -30,7 +30,7 @@
     "serve": "serve -p 3001 ./dist",
     "dev:serve": "concurrently --names \"serve,dev\" --prefix-colors \"blue,green\" \"pnpm serve\" \"pnpm dev\"",
     "sign": "npx --yes @grafana/sign-plugin@latest",
-    "start": "pnpm watch",
+    "start": "pnpm mage:build-dev; pnpm dev:serve",
     "setversion": "setversion",
     "type-check": "tsc --noEmit",
     "type-check:watch": "pnpm type-check --watch --preserveWatchOutput false",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant