Giter Site home page Giter Site logo

kubero-dev / kubero Goto Github PK

View Code? Open in Web Editor NEW
2.1K 22.0 73.0 9.23 MB

A free and self-hosted Heroku PaaS alternative for Kubernetes that implements GitOps

Home Page: https://demo.kubero.dev

License: GNU General Public License v3.0

TypeScript 53.28% Dockerfile 0.12% JavaScript 0.30% HTML 0.06% Vue 46.22% SCSS 0.03%
kubernetes hosting application-development ci-cd operator developer-tools heroku infrastructure productivity gitops

kubero's People

Contributors

ahmethakanbesel avatar cskiwi avatar dependabot[bot] avatar etcook avatar gboutte avatar james-martinez avatar josegonzalez avatar kingdevnl avatar liohmoeller avatar mms-gianni avatar nicolaiort avatar pucilpet avatar thomiceli avatar xorl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kubero's Issues

Github - pull correct branch names

currently, the UI for GH repo's shows a static set of repos, it should show the correct ones.

For any repo, it shows the following branches:

dumm-pr2
dumm-pr
main
noProc

It will default to main

Deployment strategy toggle button

For someone who is not familiar with the project, this deployment strategy toggle might prove to be a bit confusing.

toggle button

At first I thought that this means that docker deployments are turned off when that is not the case.

Maybe a radio button or something else would make more sense here to distinguish between docker/git deployments?

GitOps problems when using extra volumes

If you are using external volumes you may see pods stuck in the init fetch container after an automatic git push deployment or restart.

This is because the extra volume can not be mounted twice. The PVC (Persistant Volume Claim) is created as RWO ( ReadWriteOnce )

Not sure how to fix this yet. Changing the deployment strategy ( which would not be so cool, since it may lead to service disruptions during deployment) or changing extra volumes to RWM (ReadWriteMany)

Improve TLS integration (SSL)

We need a check box for every app to enable TLS support with cert-manager headers.

Operator and CLI are prepared already.

Gitea integration has a Bug

Investigating

Version < v1.3.0

[1] listRepos: gitea
[1] Response {
[1]   size: 0,
[1]   timeout: 0,
[1]   data: null,
[1]   error: FetchError: invalid json response body at http://localhost:3000/api/v1undefined reason: Unexpected token < in JSON at position 0
[1]       at /kubero/node_modules/node-fetch/lib/index.js:273:32
[1]       at processTicksAndRejections (node:internal/process/task_queues:96:5)
[1]       at async/kubero-dev/kubero/node_modules/gitea-js/dist/index.js:145:44 {
[1]     type: 'invalid-json'
[1]   },
[1]   [Symbol(Body internals)]: {
[1]     body: PassThrough {
[1]       _readableState: [ReadableState],
[1]       _events: [Object: null prototype],
[1]       _eventsCount: 4,
[1]       _maxListeners: undefined,
[1]       _writableState: [WritableState],
[1]       allowHalfOpen: true,
[1]       [Symbol(kCapture)]: false,
[1]       [Symbol(kCallback)]: null
[1]     },
[1]     disturbed: true,
[1]     error: null
[1]   },
[1]   [Symbol(Response internals)]: {
[1]     url: 'http://localhost:3000/api/v1undefined',
[1]     status: 404,
[1]     statusText: 'Not Found',
[1]     headers: Headers { [Symbol(map)]: [Object: null prototype] },
[1]     counter: 0
[1]   }
[1] }

add darkmode

We need a dark mode. The default is to choose by client hour. If selected it should be stored in a cookie.

Add persistent volumes

Heroku still does not provide a persistent storage for their pods.

But many apps require it to run. So why don't add it?

Are applications deployed highly available?

Although as far as I understand from docs they are not, but it will be great if we could implement deploy as highly available system, which basically tries to create 3 copies of application with pod affinity to deploy on different nodes ensuring high availability

Build ARM Image for the Operator

How to check :

kubectl get pods --all-namespaces | grep kubero-operator-controller-manage

Results in following error:

kubero-operator-system   kubero-operator-controller-manager-XXXXXXXXX   0/2     ErrImagePull        0          3m8s

Add hugo builder to buildpacks

Would love to have Hugo as a buildpack for Kubero.

you already have the buildpack, just need to add it to the API for pulldown :)

Version missmatch with HPA (Horizontal Pod Autoscaling)

Affects only Version v1.5.0

The Operator does not check vor installed resource version :

"failed to get candidate release: unable to recognize \"\": no matches for kind \"HorizontalPodAutoscaler\" in version \"autoscaling/v2beta1\"

In some cases it is autoscaling/v2

to check which resource you have use kubectl api-resources

{"level":"error","ts":1671789873.250903,"logger":"helm.controller","msg":"Failed to sync release","namespace":"customcommand-stage","name":"tls","apiVersion":"application.kubero.dev/v1alpha1","kind":"KuberoApp","release":"tls","error":"failed to get candidate release: unable to recognize \"\": no matches for kind \"HorizontalPodAutoscaler\" in version \"autoscaling/v2beta1\"","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}

Restarting app fails

Kubero Version : v1.3.1
Kubero Operator Version : v0.0.74

restart app: test
restart app: test
ERROR: deployments.apps "test-kuberoapp-web" is forbidden: User "system:serviceaccount:kubero:kubero-sample" cannot patch resource "deployments" in API group "apps" in the namespace "test-production"
ERROR: HttpError: HTTP request failed
ERROR: deployments.apps "test-kuberoapp-worker" is forbidden: User "system:serviceaccount:kubero:kubero-sample" cannot patch resource "deployments" in API group "apps" in the namespace "test-production"
ERROR: HttpError: HTTP request failed

Liveness and Readiness probes

Currently I am setting up a nodejs app and not listening on any ports. My deployments don't go into a ready state and restart because the liveness and readiness timeouts. Can liveness and readiness probes be configured or turned off ?

Web pods always is set to 1 in UI

When setting up an app in the UI, I turn web pods to 0 and worker pods to 1 but web pods still return 1 when the app generates the Kuberoapp .
Screenshot 2022-12-19 at 9 35 03 AM
Screenshot 2022-12-19 at 9 41 10 AM

Improve Addons Site

The links on the addon name are useless.

There should be also a docs link directly to kubero logs.

Startup fails when Bitbucket credentials are missing

Will fix this today

09:27:42 - Starting compilation in watch mode...
[0]
[1] socket.io started
[1] load kubectl config from file
[1] Gitlab API: undefined
[1] Gitlab token: glpat-.......
[1]  BITBUCKET CLOUD API LATEST UPDATES:  https://developer.atlassian.com/cloud/bitbucket
[1] /Users/carafagi/workdir/kubero-dev/kubero/node_modules/bitbucket/lib/index.umd.js:15
var r}function W(e){var r,t;return!1!==U(e)&&("function"==typeof(r=e.constructor)&&(!1!==U(t=r.prototype)&&!1!==t.hasOwnProperty("isPrototypeOf")))}function F(){var e=arguments.length>0&&void 0!==argum

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.