Open loicmathieu opened 11 months ago
We don't already have devservices for the firebase admin emulator right?
No, not yet ;)
gotcha ;)
@loicmathieu Question: working on this topic. The issue I see is that the Firebase emulator encapsulates both the PubSub and the Firestore emulator. I.e. if we run the Firebase emulator, but also have the DevService for PubSub enabled, I'd say we want the Firebase emulator to handle both and not run that separate container.
Currently I see multi possible approaches to this:
your thoughts?
@jfbenckhuijsen all deveservices can be disabled by config properties (if not, it's a bug).
To keep things simple, I would only run the firebase emulator from the firebase extension if possible so that there are no coupling between extensions.
Yeah true, that I got, the issue is the firebase emulator is not just a firebase-auth emulator, it packs a whole lot of emulators. And they also have some interaction when packed together I think (e.g. hosting and functions forwarding rules) which only work when run as a whole.
The current setup I have just lets you specify you want a pub-sub emulator, and the logic internally automagically figures out if you want the firebase-packed one, or the plain one. Ill create a working PR, easier to discuss probably
This way, we just have a config dependency between the Pubsub/Firestore modules and the Firebase module, not any runtime or dev-time dependency. Lemme know what you think about this setup. Seems cleanest, as the user can also override this and still use the non-Firebase versions if needed.
Note that these all depend on #705 which isn't ready yet, and I'll need to add some more testing, so don't merge just yet.
@jfbenckhuijsen I just merged https://github.com/quarkiverse/quarkus-google-cloud-services/pull/705, I didn't saw that you considered it non-ready. If I need to revert it, please tell me. In those case, better to open it in Draft (or at least add some comment).
For the other one, they are huge, I'll need some time to review them.
No worries, this one is fine, the others are work in progress so don't merge those just yet.
As for the size, lemme know what you think about the way to handle that conflict as indicated in #707 that one in itself is not that large.
There is still some work in getting it to actually work, but that's mostly work for #706, not #707.
@loicmathieu quite a bit of progress. Current state is that the code works and should be ready for an initial review.
It's not yet feature complete fully yet, but the additions are mostly convenience stuff, not the core of the changes.
Also spend some time in cleaning and splitting the code, so it should be a bit easier to review (mind you, it's still quite large).
Current features planned for now are:
However, as the current PR is already quite large, lets focus on getting this part reviewed and merged first, I'll add those changes to a separate PR.
Please focus on #707, that one is the complete one.
@loicmathieu btw if I can do anything to make the review easier for you, lemme know
I'll try to review your PRs soon.
Provides Firebase Admin services