Describe the bug
Prisma 1.34.7 breaks services with a service secret.
To Reproduce
Steps to reproduce the behavior:
1.34.7 (sample compose file):version: '3'
services:
prisma:
image: prismagraphql/prisma:1.34.7
restart: always
ports:
- "4466:4466"
environment:
PRISMA_CONFIG: |
port: 4466
databases:
default:
connector: mysql
host: mysql
port: 3306
user: root
password: prisma
migrations: true
mysql:
image: mysql:5.7
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: prisma
volumes:
- data-mysql:/var/lib/mysql
volumes:
data-mysql:
driver: local
secret, sample prisma.yml:endpoint: http://localhost:4466
secret: devSecret
datamodel:
- datamodel.prisma
prisma tokenYour token is invalid. It might have expired or you might be using a token from a different project.Reverting back to < 1.34.7 (e.g. 1.34.6) work fine.
Expected behavior
The query / actions work.
Versions (please complete the following information):
Postgres and MySQL1.34.7]prisma CLI: prisma/1.34.7 (windows-x64) node-v10.15.3Windows 10Facing same issue, I'm downgrading to a prev version.
Experiencing the same issue
Prisma container logs output after docker-compose up
No log level set, defaulting to INFO.
[INFO] {} - Starting...
[INFO] {} - Start completed.
[INFO] {} - Starting...
[INFO] {} - Start completed.
[INFO] {} - Shutdown initiated...
[INFO] {} - Shutdown completed.
[INFO] Obtaining exclusive agent lock...
[INFO] Initializing workers...
[INFO] Successfully started 1 workers.
[INFO] Obtaining exclusive agent lock... Successful.
Server running on :4466
[INFO] Deployment worker initialization complete.
then after prisma deploy (from /prisma dir)
No log level set, defaulting to INFO.
[INFO] {} - Starting...
[INFO] {} - Start completed.
[INFO] {} - Starting...
[INFO] {} - Start completed.
[INFO] {} - Shutdown initiated...
[INFO] {} - Shutdown completed.
[INFO] Obtaining exclusive agent lock...
[INFO] Initializing workers...
[INFO] Successfully started 1 workers.
[INFO] Obtaining exclusive agent lock... Successful.
Server running on :4466
[INFO] Deployment worker initialization complete.
{"key":"error/handled","requestId":"local:ck1m5nrnz00020942nxyow038","payload":{"exception":"com.prisma.deploy.schema.InvalidToken: Authentication token is invalid: 'Authorization' header not provided","query":"{\n listProjects {\n name\n }\n }","variables":"{}","code":"3015","stack_trace":"com.prisma.deploy.server.auth.SymmetricManagementAuth.$anonfun$verify$1(SymmetricManagementAuth.scala:17)\\n scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)\\n scala.util.Try$.apply(Try.scala:209)\\n com.prisma.deploy.server.auth.SymmetricManagementAuth.verify(SymmetricManagementAuth.scala:15)\\n com.prisma.deploy.schema.SchemaBuilderImpl.verifyAuthOrThrow(SchemaBuilder.scala:297)\\n com.prisma.deploy.schema.SchemaBuilderImpl.$anonfun$listProjectsField$1(SchemaBuilder.scala:107)\\n sangria.execution.Resolver.resolveField(Resolver.scala:1024)\\n sangria.execution.Resolver.$anonfun$collectActionsPar$1(Resolver.scala:445)\\n scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:156)\\n scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:156)\\n scala.collection.Iterator.foreach(Iterator.scala:937)\\n scala.collection.Iterator.foreach$(Iterator.scala:937)\\n scala.collection.AbstractIterator.foreach(Iterator.scala:1425)\\n scala.collection.IterableLike.foreach(IterableLike.scala:70)\\n scala.collection.IterableLike.foreach$(IterableLike.scala:69)\\n scala.collection.AbstractIterable.foreach(Iterable.scala:54)\\n scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:156)\\n scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:154)\\n scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)\\n sangria.execution.Resolver.collectActionsPar(Resolver.scala:439)\\n sangria.execution.Resolver.resolveFieldsPar(Resolver.scala:45)\\n sangria.execution.Executor.executeOperation(Executor.scala:155)\\n sangria.execution.Executor.$anonfun$execute$7(Executor.scala:97)\\n scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:303)\\n scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:37)\\n scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)\\n akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)\\n akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:91)\\n scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)\\n scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)\\n akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)\\n akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)\\n akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44)\\n akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)\\n akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)\\n akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)\\n akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)","message":"Authentication token is invalid: 'Authorization' header not provided"}}
[Debug] Initializing deployment worker for default@default
[Debug] Scheduling deployment for project default@default
[Debug] Applied migration for project default@default
I'm truly convinced that I didn't forget to put secret. I tried as env var and also tried to hardcode it to prisma and docker-compose files
Same here. This one screwed me up really hard yesterday. Lesson learned the hard way: update dependencies atomically and check! afterwards.
Yep we have just spent two days trying to get our head around this and only able to reproduce today.
UPDATE: We had to set the docker image to prismagraphql/prisma:1.34.6 and then node modules to use 1.34.6 and now everything is working again.
same here ... just fyi ... is there an eta on this?
We are looking into this. We will release a patch as soon as this is fixed.
Fixed in 1.34.8
Most helpful comment
Fixed in
1.34.8