Coder Social home page Coder Social logo

kuberlogic / kuberlogic Goto Github PK

View Code? Open in Web Editor NEW
227.0 9.0 23.0 7.75 MB

KuberLogic turns a containerized application into a functional SaaS offering, with integrated billing, monitoring, and customer management.

Home Page: https://kuberlogic.com

License: Apache License 2.0

Dockerfile 0.15% Makefile 2.29% Go 97.18% Shell 0.38%
kubernetes golang kuberlogic deployments docker docker-compose multi-instance multi-tenancy multi-tenant payments

kuberlogic's Issues

First look on this project

Thank you for developing this great tools!
I see potentials for kuberlogic to manage saas application and it could be a game changer.
After some trial, I have few questions on it

  • I can apply kuberlogic install command to install kuberlogic in my cluster properly, but it will be even better if there is a way to install kuberlogic declaratively, like via kustomize. One way I think about is to add some detailed documentation on the usage of make deploy or kustomize build config/default | kubectl apply -f -.
  • 2 LoadBalancer services are created after installation: api-server and chargebee-integration. It would be some concern to expose 2 more LoadBalancer. I would prefer to expose there under ingress
  • May I opt out chargebee from the default installation? It will be even better if there is a thing like billing provider interface(via a new CRD? idk), so that we can implement our own billing provider
  • For pod workloads, I see hostaliases was set to 127.0.0.1, so that containers can call other containers with localhost. But in my experience, the docker-compose workload will call other containers by service names under same compose network. I feel a little bit weird when I first time use it.
  • About node selector, it will be great if I can add node affinity/selector on app creation, so that I can choose which node to provision specific apps
  • For application pause, application would become pending if I set paused: true in kuberlogicservice.spec, but I can't find equivalent operation in restapi or cli. May I know if it is a proper way to stop a running application?

This project looks really great! Although I am not a expert on golang or k8s operator, I will be glad if I am able to make more contributions on it!

Tls installation cert/key flags failure on a first run

If you specify path to tls cert/key in kuberlogic install command - it will fail, because kuberlogic trying to cache certs in ~/.config/kuberlogic/cache/config/certificates/ directory, which doesn't exists.
I did installation step-by-step from getting-started guide

For example:

➜  kuberlogic install --non-interactive --tls_crt ca.pem --tls_key ca-key.pem --docker_compose docker-compose.yml                                          
Preparing KuberLogic configs...Error: failed to cache tls.crt: open /home/username/.config/kuberlogic/cache/config/certificates/tls.crt: no such file or directory       
➜  ls -l ~/.config/kuberlogic/cache/config/                                                                                                      
total 0                                                                                                                                                               
drwxr-xr-x 1 username username 80 Sep  1 12:36 manager                                                                                                                      

Exactly what I've been looking for!

Thanks for this project. I have a single tenant app that needs to be Kuberlogic-ified. I tried to follow what Mattermost did to saasify their single-tenant app and it was quite complicated.

The app is: https://www.getlago.com/ Actually, it's billing app like Chargebee and Stripe billing. I've talked to them about making this Saas and they're ok with it as long as I share the code I use to build it. We're all good. I also have access to SaasRocks in case that's required for any front-end stuff. My Saas will be called: billstreams.com Cheers, Dave

Is kuberlogic compatible on AWS EKS?

Hello,

I was wondering if KuberLogic is compatible with AWS EKS v1.20? I ran the installer and received an error that states that the cluster is not compatible.

[cloudshell-user@ip-10-0-13-184 ~]$ ./kuberlogic-installer-linux-amd64 install all -c kuberlogic-installer.yaml
INFO[2021-10-15 15:55:40] version 1.0.1, build time: 11-10-21T13:37:50+0000, sha1ver: 40471e1c406fca3b0cbcdee2307a48c22d3b785c 
INFO[2021-10-15 15:55:40] Reading config from kuberlogic-installer.yaml 
DEBU[2021-10-15 15:55:40] Using default value for kubeconfigPath: /home/cloudshell-user/.kube/config 
DEBU[2021-10-15 15:55:40] Config is &{DebugLogs:0xc0007ec780 KubeconfigPath:0x366f140 Namespace:0xc0001acc90 Endpoints:{API:kl.staging.gexcp.com UI:kl.staging.gexcp.com MonitoringConsole:mckl.staging.gexcp.com} Registry:{Server: Username: Password:} Auth:{AdminPassword: DemoUserPassword:<nil>}} 
DEBU[2021-10-15 15:55:40] initializing clientset with kubeconfig /home/cloudshell-user/.kube/config 
DEBU[2021-10-15 15:55:40] Initialized kuberlogic installer: &{Log:0xc0003835e0 ClientSet:0xc0006f4160 HelmActionConfig:0xc00007f700 ReleaseNamespace:kuberlogic Registry:{Server: Username: Password:} Endpoints:{API:kl.staging.gexcp.com UI:kl.staging.gexcp.com MonitoringConsole:mckl.staging.gexcp.com} Auth:{AdminPassword: DemoUserPassword:}} 
DEBU[2021-10-15 15:55:40] entering install phase with args: [all]      
INFO[2021-10-15 15:55:40] Checking Kubernetes cluster version          
ERRO[2021-10-15 15:55:41] Kubernetes version v1.20.7-eks-d88609 found  
FATA[2021-10-15 15:55:41] Failure: pre-install checks are failed: error checking Kubernetes version: cluster version incompatible 

Installation problems

When running kuberlogic install i get the following error:

Waiting for Kuberlogic to be ready...
error: timed out waiting for the condition on deployments/kls-controller-manager

I am running minikube. This is a fresh environment with plenty of resources.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.