Giter Site home page Giter Site logo

kintoproj / kintohub Goto Github PK

View Code? Open in Web Editor NEW
29.0 29.0 2.0 2.23 MB

Common project repo for all Kinto Projects

Home Page: https://www.kintohub.com

License: Apache License 2.0

Dockerfile 0.36% Makefile 0.02% Go 24.94% Shell 0.58% PowerShell 0.17% JavaScript 35.99% HTML 0.20% TypeScript 37.73% CSS 0.01%
kintohub

kintohub's People

Contributors

bakayolo avatar codingben avatar nandiheath avatar sumitkolhe 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

Watchers

 avatar  avatar  avatar  avatar

kintohub's Issues

Update Go Modules

  • Update Go Modules.
  • Update READMEs.
  • Update Go Utils repository (and dependencies).

Add a way for a server to target a specific node pool

Is your feature request related to a problem? Please describe.
Sixergame has their dev, staging and prod running on the same node pool atm.
For security reasons, they would like to segregate their prod services from their dev/staging services. Meaning different node pools running in different subnets.

Describe the solution you'd like
Add an "advanced config" for every service so that user can specify "labels" for targetting node pools.

Explain the architecture of KintoHub on docs

It would be hard to explain KintoHub without a simple and clear architecture diagram.

We should add a page on docs to describe what components/modules KintoHub has, to give a clear idea for a new user/contributors

Install KintoHub on K3s

Is your feature request related to a problem? Please describe.
We confirmed being able to install KintoHub on Minikube -> https://www.kintohub.com/installation/minikube
We need also be able to install it on K3s and provide a doc for that.

Describe the solution you'd like
Test the deployment of KintoHub on K3s and create a page in our kinto-docs for that.

Increase default ephemeral storage on installation docs

for the ephemeral storage by default it is 1GB. But if you build with nodejs (not via Dockerfile) it may failed because the node_modules may eventually exceeds 1GB.

Idea is, on the installation docs (getting started page) we should include the parameter to set it to a higher value (something like 2GB or even 5GB, depending how much the initial disk were), making sure we should be able to build and deploy a simple nodejs app on a new cluster which installed Kinto. (e.g. DO)

here is the parameter on helm chart
https://github.com/kintoproj/kinto-helm/blob/main/charts/kinto/values.yaml#L83

it should be something like
--set builder.env. ARGO_WORKFLOW_VOLUME_SIZE=2Gi

Onboarding documentation

Is your feature request related to a problem? Please describe.
New contributors cannot start development easily unless they reach out to core contributors.

Describe the solution you'd like

  • An onboarding page on how to setup basic development environment
  • On each component we should set up a CONTRIBUTION/DEVELOPMENT readme indicate how to develop

Unable to suspend cronjob

While suspending a cronjob, it gets failed.
On console I get this error message :

ERR Error during cronjobs suspension cronjobsSuspension=[" \"\" is invalid: patch: Invalid value: \"{\\\"apiVersion\\\":\\\"batch/v1beta1\\\",\\\"kind\\\":\\\"CronJob\\\",\\\"metadata\\\":{\\\"name\\\":\\\"asset-daily\\\",\\\"namespace\\\":\\\"602fae39ea073d8689700594\\\",\\\"uid\\\":\\\"baa61aa1-377b-4803-99ec-5eee42c23497\\\",\\\"resourceVersion\\\":\\\"6494059\\\",\\\"creationTimestamp\\\":\\\"2021-03-02T19:01:04Z\\\",\\\"labels\\\":{\\\"app\\\":\\\"asset-daily\\\",\\\"env\\\":\\\"602fae39ea073d8689700594\\\",\\\"owner\\\":\\\"kinto\\\"},\\\"managedFields\\\":[{\\\"manager\\\":\\\"kintodeploy\\\",\\\"operation\\\":\\\"Update\\\",\\\"apiVersion\\\":\\\"batch/v1beta1\\\",\\\"time\\\":\\\"2021-03-02T19:01:04Z\\\",\\\"fieldsType\\\":\\\"FieldsV1\\\",\\\"fieldsV1\\\":{\\\"f:metadata\\\":{\\\"f:labels\\\":{\\\".\\\":{},\\\"f:app\\\":{},\\\"f:env\\\":{},\\\"f:owner\\\":{}}},\\\"f:spec\\\":{\\\"f:concurrencyPolicy\\\":{},\\\"f:failedJobsHistoryLimit\\\":{},\\\"f:jobTemplate\\\":{\\\"f:metadata\\\":{\\\"f:labels\\\":{\\\".\\\":{},\\\"f:app\\\":{},\\\"f:env\\\":{},\\\"f:owner\\\":{}}},\\\"f:spec\\\":{\\\"f:activeDeadlineSeconds\\\":{},\\\"f:backoffLimit\\\":{},\\\"f:template\\\":{\\\"f:metadata\\\":{\\\"f:labels\\\":{\\\".\\\":{},\\\"f:app\\\":{},\\\"f:env\\\":{},\\\"f:owner\\\":{},\\\"f:release\\\":{}}},\\\"f:spec\\\":{\\\"f:automountServiceAccountToken\\\":{},\\\"f:containers\\\":{\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"asset-daily\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:env\\\":{\\\".\\\":{},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"cron_type\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"envtag\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"pool_database\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"pool_host\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"pool_max\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"pool_password\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"pool_port\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"pool_user\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}},\\\"k:{\\\\\\\"name\\\\\\\":\\\\\\\"slack_webhook\\\\\\\"}\\\":{\\\".\\\":{},\\\"f:name\\\":{},\\\"f:value\\\":{}}},\\\"f:image\\\":{},\\\"f:imagePullPolicy\\\":{},\\\"f:name\\\":{},\\\"f:resources\\\":{\\\".\\\":{},\\\"f:limits\\\":{\\\".\\\":{},\\\"f:cpu\\\":{},\\\"f:memory\\\":{}},\\\"f:requests\\\":{\\\".\\\":{},\\\"f:cpu\\\":{},\\\"f:memory\\\":{}}},\\\"f:terminationMessagePath\\\":{},\\\"f:terminationMessagePolicy\\\":{}}},\\\"f:dnsPolicy\\\":{},\\\"f:restartPolicy\\\":{},\\\"f:schedulerName\\\":{},\\\"f:securityContext\\\":{},\\\"f:terminationGracePeriodSeconds\\\":{}}}}},\\\"f:schedule\\\":{},\\\"f:successfulJobsHistoryLimit\\\":{},\\\"f:suspend\\\":{}}}}]},\\\"spec\\\":{\\\"concurrencyPolicy\\\":\\\"Forbid\\\",\\\"failedJobsHistoryLimit\\\":5,\\\"jobTemplate\\\":{\\\"metadata\\\":{\\\"creationTimestamp\\\":null,\\\"labels\\\":{\\\"app\\\":\\\"asset-daily\\\",\\\"env\\\":\\\"602fae39ea073d8689700594\\\",\\\"owner\\\":\\\"kinto\\\"}},\\\"spec\\\":{\\\"activeDeadlineSeconds\\\":1800,\\\"backoffLimit\\\":0,\\\"template\\\":{\\\"metadata\\\":{\\\"creationTimestamp\\\":null,\\\"labels\\\":{\\\"app\\\":\\\"asset-daily\\\",\\\"env\\\":\\\"602fae39ea073d8689700594\\\",\\\"owner\\\":\\\"kinto\\\",\\\"release\\\":\\\"d70e8a0b-d4e2-494b-909a-2aaf852d8bf0\\\"}},\\\"spec\\\":{\\\"containers\\\":[{\\\"name\\\":\\\"asset-daily\\\",\\\"image\\\":\\\"368321788536.dkr.ecr.ap-south-1.amazonaws.com/asset-daily:73553b4\\\",\\\"env\\\":,\\\"resources\\\":{\\\"limits\\\":{\\\"cpu\\\":\\\"200m\\\",\\\"memory\\\":\\\"512Mi\\\"},\\\"requests\\\":{\\\"cpu\\\":\\\"200m\\\",\\\"memory\\\":\\\"512Mi\\\"}},\\\"terminationMessagePath\\\":\\\"/dev/termination-log\\\",\\\"terminationMessagePolicy\\\":\\\"File\\\",\\\"imagePullPolicy\\\":\\\"IfNotPresent\\\"}],\\\"restartPolicy\\\":\\\"Never\\\",\\\"terminationGracePeriodSeconds\\\":30,\\\"dnsPolicy\\\":\\\"ClusterFirst\\\",\\\"automountServiceAccountToken\\\":false,\\\"securityContext\\\":{},\\\"schedulerName\\\":\\\"default-scheduler\\\"}}}},\\\"schedule\\\":\\\"0 0 * * *\\\",\\\"successfulJobsHistoryLimit\\\":5,\\\"suspend\\\":\\\"true\\\"},\\\"status\\\":{}}\": v1beta1.CronJob.Spec: v1beta1.CronJobSpec.Suspend: ReadBool: expect t or f, but found \", error found in #10 byte of ...|suspend\":\"true\"},\"st|..., bigger context ...| * * *\",\"successfulJobsHistoryLimit\":5,\"suspend\":\"true\"},\"status\":{}}|..."]
FTL error happened during the cronjob suspension

kintohub status

HI all,

First of all congratz for this amazing product.
I would like to use kintohub as the management platform for my kubernetes cluster but i see that it seems that is not actively maintained therefore i have a couple of questions:

  1. is kintohub ready for production?
  2. is it stable?
  3. would it be maintained further?

Thx in advanced for your answer!

Set up E2E tests on new release candidate

Is your feature request related to a problem? Please describe.
For releasing a new release (a new version of a helm chart), we didn't test and guarantee there are no obvious/blocking bugs.

Describe the solution you'd like
We should have an automated e2e tests that spin a new k8s cluster and install KintoHub on it, and test deploying all major types of services to guarantee they all work fine.

This would be complex and also resource-intensive but I would put it onto the list first to make sure our future developments are testable/test-oriented.

Secret key to protect Kinto Dashboard and Kinto Core

Is your feature request related to a problem? Please describe.
Exposing kintohub publicly is a serious security breach since there is no user management or password to access it.
KintoHub is mostly supposed to be a kubernetes dashboard that users port-forward into.
However, it might be good to be able to expose publicly but protect it with a strong secret key, similar to what Hasura is doing.

Describe the solution you'd like
Add an option to set a secret key on kinto-core and kinto-dashboard so that users must provide this key to access kintohub.

Can't deploy catalog with persistent volume due to `ssd` storage class

Describe the bug

On new vanilla kintohub cluster, we can't a deploy catalog service with persistent storage because it is trying to use the storage class ssd while it does not exist by default on the cluster.

Expected behavior
We should change all our helm charts to not use the ssd sc (they will use the standard default one).
And we should also move them to kintoproj under the same repository. That means a change in kinto-frontend is needed too.

Add a tab event on service's page

Is your feature request related to a problem? Please describe.
Now that KintoHub is an abstraction of Kubernetes, we need to show more information on the dashboard. For example, a cronjob that is not running might have precious information in the k8s events. So we need to display the events to the user.

Describe the solution you'd like
Add a new tab on the service's page that will display the kubernetes event for a specific service.

Add a page on docs about setting up KintoHub on Digital Ocean

Since it is possible to deploy KintoHub on DO with a single 1GB node,
we should create a document describing the steps

Note for setting up on DO:
set --set controller.containerRuntimeExecutor=kubelet \ when installing argo (DO default using k8s v1.20+)
configure the network policy (DO default enabled network policy)

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.