Giter Club home page Giter Club logo

supergiant's Introduction

SUPERGIANT: Easy container orchestration using Kubernetes


GoReportCard Widget GoDoc Widget Travis Widget Release Widget Coverage Status Widget


Supergiant is an open-source container orchestration system that lets developers easily deploy and manage apps as Docker containers using Kubernetes.

We want to make Supergiant the easiest way to run Kubernetes in the cloud.

Quick start...


Supergiant UI

Features

  • Fully compatible with native Kubernetes (works with existing setups)
  • UI and CLI (CLI examples), both built on top of an API (with importable Go client lib)
  • Filterable container metrics views (RAM / CPU timeseries graphs)
  • Deploy / Update / Restart containers with a few clicks
  • Launch and manage multiple Kubes across multiple cloud providers from the UI
  • Works with multiple cloud providers (AWS, DigitalOcean, OpenStack, and actively adding more, in addition to on-premise hardware support)
  • Automatic server management (background server autoscaling, up/down depending on container resource needs)
  • Role-based Users, Session-based login, self-signed SSL, and API tokens for security (OAuth and LDAP support to come)

Resources

Installation

Checkout the releases page for binaries on Windows, Mac, and Linux.

Copy (and customize if necessary) the example config file, and run with:

<supergiant-server-binary> --config-file config.json

If you want to easily install Supergiant on Amazon Web Services EC2, follow the Supergiant Install Tutorial.

Top-Level Concepts

See the docs folder.

Micro-Roadmap

Currently, the core team is working on the following:

  • Add LDAP and OAUTH user authentication
  • Add support for additional cloud providers
  • Add support for local installations

Community and Contributing

We are very grateful of any contribution.

All Supergiant projects require familiarization with our Community and our Contribution Guidelines. Please see these links to get started.

Development

If you would like to contribute changes to Supergiant, first see the pages in the section above, Community and Contributing.

Note: Supergiant cloud installers have dependencies pre-installed and configured and will generate a self-signed cert based on the server hostname. These instructions are for setting up a local or custom environment.

Supergiant dependencies:

Checkout the repo

go get github.com/supergiant/supergiant

Create a Config file

You can copy the example configuration:

cp config/config.json.example config/config.json

Run Supergiant

go run cmd/server/server.go --config-file config/config.json
open localhost:8080

Build the CLI

This will allow for calling the CLI with the supergiant command:

go build -o $GOPATH/bin/supergiant cmd/cli/cli.go

Run Tests

govendor test +local

Saving dependencies

If you make a change and import a new package, run this to vendor the imports.

govendor add +external

Compiling Provider files, UI templates, and static assets

Supergiant uses go-bindata to compile assets directly into the code. You will need to run this command if you're making changes to the UI or if you're working with Provider code:

go-bindata -pkg bindata -o bindata/bindata.go config/providers/... ui/assets/... ui/views/...

Enabling SSL

Our AMI distribution automatically sets up self-signed SSL for Supergiant, but the default config/config.json.example does not enable SSL.

You can see our AMI boot file for an example of how that is done if you would like to use SSL locally or on your own production setup.


License

This software is licensed under the Apache License, version 2 ("ALv2"), quoted below.

Copyright 2016 Qbox, Inc., a Delaware corporation. 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.

supergiant's People

Contributors

festivalbobcats avatar gopherstein avatar spankenstein avatar briansage avatar esmevane avatar devrsw avatar

Watchers

Fabio Corneti avatar

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.