Shashanksr6694 / kuberlogic

Kuberlogic is an open-source product that deploys and manages software on top of the Kubernetes cluster and turns infrastructure into a managed PaaS.

Home Page:https://kuberlogic.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KuberLogic

Development build codecov

logo

KuberLogic is an open-source platform that deploys and manages software on top of the Kubernetes cluster and turns infrastructure into a managed PaaS. It allows running managed databases and popular applications deploying on-premises or at any cloud. The solution provides API, monitoring, backups, and integration with SSO right out of the box.

usage

Features

  • Web UI
  • Automatic provisioning
  • Automatic minor updates
  • Automatic failover
  • Scheduled backups
  • Resource usage monitoring
  • Ability to scale up and down as needed
  • REST API for service management

Requirements

KuberLogic leverages a lot of top notch open-source projects and it requires a specific environment to run on top of:

  • Kubernetes v1.20.x with:
    • StorageClass configured as a default
    • LoadBalancer Services
    • At least 2 nodes in cluster with 4G of RAM, 2 CPUs and 5G of disk space each
  • S3 compatible storage for backups (optional)
  • Helm v3.4 CLI tool

Installation

  1. Download kuberlogic-installer command-line installation tool for your platform from the Releases page and add it to PATH.
  2. Prepare the KuberLogic configuration file.
  3. Run kuberlogic-installer install all -c <configFile>
  4. Run kuberlogic-installer status -c <configFile>
  5. Add DNS records for KuberLogic endpoints so they are pointing to KuberLogic Ingress IP. Alternatively, if you are evaluating KuberLogic, you may want to use /etc/hosts file to provide the access locally.

Usage

Web UI

After the installation, KuberLogic installation process is available out of the box. To learn more visit docs.

REST API

KuberLogic supports RESTful API for service management. To learn more visit:

Supported services

Currently, KuberLogic supports:

  • MySQL
  • PostgreSQL

Upcoming integrations:

  • Redis
  • MongoDB

Build KuberLogic

KuberLogic artifacts are container images and the installer binary. Requirements are:

  • Golang 1.16
  • Helm CLI 3.x
  • Docker

Build container images

make docker-build docker-push

Build the installer

make installer-build

Tests

KuberLogic includes a set of integration tests. They can be run in two modes:

  • Local mode when KuberLogic operator & apiserver are started as goroutines:
  • Remote mode when tests send API requests to a remote apiserver.

To run tests in both modes, dependencies must be installed into a Kubernetes cluster:

kuberlogic-installer install all
# setup Minio for backup & restore tests
cd modules/apiserver
make deploy-minio create-bucket

For more information see docs.

Local mode

cd modules/apiserver
make undeploy-operator generate-local-webhook-certs patch-endpoint
MY_VERSION=5.7.31 GODEBUG: x509ignoreCN=0 KUBERLOGIC_KUBECONFIGPATH=${HOME}/.kube/config make coverage-report RUN=/mysql 

Remote mode

cd modules/apiserver
MY_VERSION=5.7.31 GODEBUG: x509ignoreCN=0 KUBERLOGIC_KUBECONFIGPATH=${HOME}/.kube/config make remote-test REMOTE_HOST=<apiserver endpoint> RUN=/mysql

Support

Feel free to open an issue if you need any help. You can also reach us at info@kuberlogic.com with any questions.

License

CloudLinux Software Inc 2019-2021 All Rights Reserved

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Kuberlogic is an open-source product that deploys and manages software on top of the Kubernetes cluster and turns infrastructure into a managed PaaS.

https://kuberlogic.com

License:Apache License 2.0


Languages

Language:Go 49.3%Language:TypeScript 32.4%Language:HTML 5.5%Language:Mustache 4.7%Language:SCSS 2.7%Language:Makefile 1.6%Language:Shell 1.4%Language:Smarty 1.2%Language:Dockerfile 0.5%Language:JavaScript 0.4%Language:Lua 0.3%