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

[Feature]: Full Kubernetes support with autoscale #2390

Open
11 tasks
peaklabs-dev opened this issue Jun 8, 2024 · 9 comments
Open
11 tasks

[Feature]: Full Kubernetes support with autoscale #2390

peaklabs-dev opened this issue Jun 8, 2024 · 9 comments
Labels
💎 Bounty Issues with a monetary reward for completion. 👥 Core Team Only Only the core Coolify Team can work on this.
Milestone

Comments

@peaklabs-dev
Copy link
Collaborator

peaklabs-dev commented Jun 8, 2024

Description

In the interface while adding a service there is a new step second step after selecting the service:
Deploy to docker or deploy to k8s? -> We can choose the one we want and if we choose docker we get the same flow as now: place like localhost or remote, network ...
If we choose k8s, we deploy via Kubernetes -> Only UI the rest is done automatically. Inspiration for such a flow would be: https://docs.kubero.dev/comparison/ -> ans also let us enable auto scale so the application can automatically scale.

cc @DeVoresyah

Minimal Reproduction (if possible, example repository)

  • Support k8s for services
  • Support k8s for docker compose deployments
  • Support k8s for git deployments
  • Support k8s for docker image deployments
  • Support k8s for nixpack deployments -> if possible
  • Select Pods
  • Scaling
  • Autoscaling
  • Autoscale over multiple servers
  • Automatically spin up and spin down pods
  • Load balancing between pods -> Main DB and other DB for load
@algora-pbc algora-pbc bot added the 💎 Bounty Issues with a monetary reward for completion. label Jun 8, 2024
@DeVoresyah
Copy link

putting a bounty on this to make it high-priority

@johnstonmatt
Copy link

Here's a New Feature Discussion about Kubernetes and Helm: #2455

@peaklabs-dev
Copy link
Collaborator Author

Here's a New Feature Discussion about Kubernetes and Helm: #2455

This feature request does not talk about running coolify in Kubernetes as this is most likely not needed, it talks about running the services of coolify for example node applications, WordPress, databases in Kubernetes .

@algora-pbc algora-pbc bot removed the 💎 Bounty Issues with a monetary reward for completion. label Jun 11, 2024
Copy link

algora-pbc bot commented Jun 18, 2024

💎 $50 bounty • CloudGakkai

💎 $50 bounty • tom.ebeyer

Steps to solve:

  1. Start working: Comment /attempt #2390 with your implementation plan
  2. Submit work: Create a pull request including /claim #2390 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to coollabsio/coolify!

Add a bountyShare on socials

@algora-pbc algora-pbc bot added the 💎 Bounty Issues with a monetary reward for completion. label Jun 18, 2024
@varshith257
Copy link

@DeVoresyah @ayntk-ai Need some more clarity and description of exact requirements of k8s deployment

@peaklabs-dev
Copy link
Collaborator Author

peaklabs-dev commented Jul 6, 2024

@varshith257 The idea is that we can select k8s instead of just regular container deployments. So instead of just selecting nixpacks or docker compose, we would select docker compose over k8s or GitHub app over k8s. The application and/or database is then deployed on k8s. For example, a WordPress service can be deployed on k8s and then there is automatic resource scaling, multiple pods, upscaling, downscaling and all of this even across multiple servers. Inspiration could be taken from this: https://www.youtube.com/watch?v=kmqhddc6UlI
Features Needed:

  • Support k8s for services
  • Support k8s for docker compose deployments
  • Support k8s for git deployments
  • Support k8s for docker image deployments
  • Support k8s for nixpack deployments -> if possible
  • Select Pods
  • Scaling
  • Autoscale
  • Autoscale over multiple servers
  • Automatically spin up and spin down pods
  • Load balancing between pods -> Main DB and other DB for load

@varshith257
Copy link

@ayntk-ai Thank you for outlining the requirements for the Kubernetes support feature. I appreciate the opportunity to contribute to this project. However, after reviewing the detailed scope and complexity of the tasks involved, the current bounty of $100 does not adequately reflect the amount of work and expertise required to complete this issue.
(PS: I have a bit experience in deploying applications with K8s)

@asr2003
Copy link

asr2003 commented Jul 7, 2024

+1 Agree with @varshith257

@johnstonmatt
Copy link

johnstonmatt commented Jul 8, 2024

There are 2 components to implementing Kubernetes in the context of Coolify:

  1. Permit Kubernetes as a deployment target for applications through Coolify (generally how this issue has been focused)
  2. Permit installing Coolify itself in Kubernetes

Though I understand 1 is the target people are thinking about primarily here, it is nowhere near as useful or complete if 2 is not also implemented.

I believe that installing any app to Kubernetes should be done using Helm, targeted using kubeconfig, and that Coolify could be extremely powerful if it embraces this approach.

I recognize that 2 is in no way trivial, and that I'm an outsider with limited context, but I have very high conviction the Coolify project would be more successful if it doubles down on K8s in this way.

At the very least we should not call this Issue "full kubernetes support" if it is only supporting item 1.

Additionally I'd recommend looking at https://kompose.io if there is interest in simply making a docker compose file work in Kubernetes, it will do the static code transformation by CLI.

If it would be helpful for me to provide further input on the work required for 1 or 2 I would be happy to. Kubernetes is the universal and ubiquitous "OS of the cloud" and I really want to see Coolify win by leveraging it. This also opens the door to infrastructure-as-code and GitOps down the line which would elevate the project too.

@peaklabs-dev peaklabs-dev added the 👥 Core Team Only Only the core Coolify Team can work on this. label Sep 15, 2024
@peaklabs-dev peaklabs-dev added this to the v4.1.0 milestone Sep 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💎 Bounty Issues with a monetary reward for completion. 👥 Core Team Only Only the core Coolify Team can work on this.
Projects
None yet
Development

No branches or pull requests

5 participants