firebase-tools
firebase-tools copied to clipboard
Deploy with `minInstances` throws an error for framework deployment
[REQUIRED] Environment info
firebase-tools: 13.7.1
Platform: Ubuntu
[REQUIRED] Test case
Adding this configuration in firebase.json to you Firebase hosted Next.js project causes some inconveniences:
"frameworksBackend": {
"minInstances": 1
}
I think it adds, hidden from the developer, something like this to the deployment configuration (https://firebase.google.com/docs/hosting/full-config#rewrite-cloud-run-container) :
"hosting": {
// ...
// Directs all requests from the page `/helloworld` to trigger and run a `helloworld` container
"rewrites": [ {
"source": "/helloworld",
"run": {
"serviceId": "helloworld", // "service name" (from when you deployed the container image)
"pinTag": true
}
} ]
}
Related items: #6484 and #6684
[REQUIRED] Steps to reproduce
- Make a new Firebase hosting Next.js project, for example with
firebase init hosting - Add the aforementioned
minInstancessetting to your hosting configuration. - Deploy
[REQUIRED] Expected behavior
Successful deploys with no errors. Alternatively, a warning stating that pinTag was not set if that's what happens. Maybe remove pinTag: true from wherever it's set or allow setting pinTag: false in the frameworks configuration.
[REQUIRED] Actual behavior
The deploy script prints the following error:
Error: Function ssrhelloworld has minInstances set and is in a rewrite pinTags=true. These features are not currently compatible with each other..
However, when viewing the Function and associated Cloud Run, minInstances seem to be set and the deploy is successful. A tag is not associated with the revision. Here's a screenshot from the page of the associated Cloud Run:
I learnt some more about what happens. While a new revision is created, traffic actually doesn't route there as far as I can tell. I found out by my deleting the previous revision (which did not have minInstances) which immediately broke our site.
Anyway; would be nice to be able to deploy a site that does not suffer from cold starts.
so what is recommended never set minInstances or set pingTags to false ?
I have the same issue. Not sure what to do...
Same issue here. What do I do now?
Any update on this ? maybe a workaround
We ended up migrating the deployment to Cloud Run from Firebase.
Any update on this?