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

Open internal docker registry for customers #18555

Open
5 tasks
pbochynski opened this issue Jan 29, 2024 · 9 comments
Open
5 tasks

Open internal docker registry for customers #18555

pbochynski opened this issue Jan 29, 2024 · 9 comments
Assignees
Labels
Epic kind/feature Categorizes issue or PR as related to a new feature.

Comments

@pbochynski
Copy link
Contributor

pbochynski commented Jan 29, 2024

Description
Provide a way to use in-cluster docker registry for hosting customer's images.
As the registry is accessible with the node-port it should be possible to push the images from the developer's machine or from CI/CD agent using port forwarding. Provide a command in the kyma CLI to push images.

AC

Reasons
Pushing images directly to the in-cluster registry simplifies the development, testing and even production releases.
Users should be able to easily deploy their code and run their tests without the need for additional BTP or hyperscaler services.
Currently a problem arises when users want to deploy their code to the cluster, due to the fact that there is no SAP registry available. Unlike with CF where a cf push does all the work necessary to deploy the code.

Related Issues
Enable Registry Cache Extension

@kwiatekus
Copy link
Contributor

kwiatekus commented Mar 27, 2024

Allow serverless module users to configure custom HA store as serverless docker registry backend.

@kwiatekus
Copy link
Contributor

kwiatekus commented Mar 27, 2024

@pbochynski we see more and more reasons to extract docker registry into separate module. Any objections?
We would like to try it out and do it in a way that serverless (untill its still dependant on internal docker registry) ux doesnt suffer
kyma-project/docker-registry#19

@pbochynski
Copy link
Contributor Author

@pbochynski we see more and more reasons to extract docker registry into separate module. Any objections?

The only problem I see is that the serverless module will not work out of the box. You would introduce the dependency to registry module or to external registry. But maybe it is another reason to consider changing serverless module in the way that it doesn't have to build a container. Just load function code from CR and cache dependencies on persistent volume.
What do you think?

@kwiatekus
Copy link
Contributor

kwiatekus commented Apr 2, 2024

Thanks @pbochynski . That would mean that serverless runs pre-built containers as function runtimes with code dependencies mounted. dependencies resolving would need to be moved from built time into runtime ( start time ). There is a consequence in function scaling scenario: i.e when a new replica starts it would need to resolve dependencies ( i.e npm install ) into a mounted volume. In theory, replicas could have different versions of dependencies. But if we consider serverless being dev module only that should be ok.

@kwiatekus
Copy link
Contributor

Opening internal docker registry should be considered as extending toolset for developers to run/test their applications on kyma only in develoment mode. We should keep recommending full-fledged HA external docker registry for production grade installations of customer applications.

@kwiatekus
Copy link
Contributor

We aim to separate docker registry reconciliation to a dedicated operator, which could be used both in and out of sereverles context.

@kwiatekus
Copy link
Contributor

kwiatekus commented May 6, 2024

The team is also looking into using the latest version of distribution (a.k.a registry) from cncf ->

@pPrecel
Copy link
Contributor

pPrecel commented May 13, 2024

@pbochynski we see more and more reasons to extract docker registry into separate module. Any objections?

The only problem I see is that the serverless module will not work out of the box. You would introduce the dependency to registry module or to external registry. But maybe it is another reason to consider changing serverless module in the way that it doesn't have to build a container. Just load function code from CR and cache dependencies on persistent volume. What do you think?

I think, in this case, it would be nice to have one PVC for all functions, not to reserve space for every function. The problem is that almost all types of PVC are namespace-scoped so it would be impossible to use simple PVC. The only solution I see right now is to use nfs (network-file-system) that allows to share volume between namespaces. It's something to investigate

@kwiatekus
Copy link
Contributor

kwiatekus commented May 21, 2024

Following recent feedback we will look into allowing using the module via docker CLI
kyma-project/docker-registry#38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

3 participants