-
Notifications
You must be signed in to change notification settings - Fork 189
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
Proof of Concept for Image Microservice #1636
Conversation
To test this:
Now try going to |
First problem: how to deal with all the services under |
I notice that npm 7 is now officially released, and it includes Workspaces, which we could use to manage these apis and other package.json files. The downside is that we force our devs to move to npm 7, which @Metropass has been working on in #1617. But it might be something we move toward in an upcoming release to get away from all these scripts to manage internal packaging. |
Unrelated to this work, I came across this standard which is really cool: https://iiif.io/api/image/2.0/ |
I think the easiest for management is each service get's it own Docker image which can be orchestrated, I'd recommend something simple as this to start: FROM node:alpine-lst AS base
EXPOSE 4444
WORKDIR /app
COPY . .
RUN npm install
CMD npm start All this does is simply containerize, but with it now we can start the discussion of allowing docker-compose orchestration duties on a per service level. In my opinion, unless you are directly developing the service, having a container which contains the node_modules and service itself seems simplest. Thoughts? |
RE: your Dockerfile, sounds perfect. Let's start small and improve it as we go. Once we have a template, we can use it to build more. |
@raygervais should I let you do PRs against my branch at this point, or do you want me to do more first? I'm assuming you'll run with what I have. Let me know if that's wrong. |
I can continue here if that's alright, will add to your commits:
If you want to avoid email spam, we could land this item and I work on it from there in a follow up. |
I don't want to land this because it will break CI atm. Do PR(s) against my fork for now. |
Next Steps:
|
One way to do this is to use workspaces in npm 7, but that would require all our devs to update to latest npm. I think it might be a good solution overall, but we could easily get this passing CI with some scripts to do the dependent installs, like we do now with other sub-package.jsons. |
This is ready for review. It's good enough to land and we can iterate on it. |
Any updates with this? |
I'm pretty close to having this ready. I have two efforts happening in parallel:
I'm going to rewrite this code based on Satellite once I publish that package. |
f314ec3
to
3170bfb
Compare
@humphd, tag me when you want to discuss next steps and also get me to review :). |
@raygervais will do. I'm just fighting with APM route naming in Kibana, then I should be ready. |
3170bfb
to
7ad1cbd
Compare
OK, I think this is ready. I'd like to get this landed so @chrispinkney has a template to use for his work on the User service. I think we can improve the Docker setup, but this shouldn't block things. @raygervais, @manekenpix when you have a sec, r? |
7ad1cbd
to
2186422
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
I could access:
image.docker.localhost/{image, gallery}
elastic.docker.localhost
kibana.docker.localhost
(could see stats in the observability menu)
2186422
to
cdcf1ae
Compare
Deployment failed with the following error:
|
cdcf1ae
to
b191f33
Compare
This pull request is being automatically deployed with Vercel (learn more). 🔍 Inspect: https://vercel.com/humphd/telescope/545r62u3g |
Issue This PR Addresses
Part of #1627
Type of Change
Description
To give us something to discuss, and a starting point for further development, I've created a simple image service.
See the README.md for info about using it.