/haven-platform

Haven is an open source Docker container management system. It integrates container, application, cluster, image, and registry management in one single place.

Primary LanguageJavaApache License 2.0Apache-2.0

Build Status codebeat badge docker hub

Haven: Container Management Simplified

Introduction

Haven is a Docker cluster management system. The user controls the entire platform via user-friendly yet powerful UI and commandline tools. Built on top of Docker, Swarm, and Compose, it offers multiple clusters and image registries management.

Copyright 2017 Code Above Lab Inc

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

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.

Index

For additional technical detail, see:

Feature Overview

Haven features the following capabilities:

Dashboard

The dashboard gives an overview of the status of the cluster and any containers or nodes that are using excessive resources. dashboard

Cluster Management

In the Cluster module, the user can manage the nodes and the containers, and view any errors the in the cluster event log. clusters

Container Management

In the Containers module, the user can manage all of the active containers and their status. The user can also view logs, moreover, configurations of each container. containers

Node Status

In the Node module, the user can see all nodes in the system and their detailed info. nodes

Image Management

In the Image Management module, the user can see all of the images downloaded onto each cluster and which nodes the image resides on. Users can remove old images to save disk space. images

Registry Management

Private and public Registries can be configured on the system to let the user easily select the desired image for downloading without having to remember which registry it is on. registries

Jobs

Unattended jobs can be scheduled and results are available for auditing purposes. jobs Each cluster can have its set of jobs to update specific images. update

Delegated Admin

Users can be assigned administrative rights to specific clusters to avoid admin bottleneck. users

Additional Features

  1. Creating/deleting tags and ability to set filters for clusters based on the tags. Use case would be creating workflow: only images which were tested at QA should be visible on the prod cluster.

  2. Storing containers configuration in VCS per cluster, see https://github.com/codeabovelab/haven-example-container-configuration

  3. Additional policies/constraints for Swarm.

  4. Group operations such as cleaning space, upgrade/rollback containers. For example, use cases are:

    a. checking/updating all containers from specified repository every five minutes for test cluster
    
    b. one-time update specified list of containers (which use common API, etc).
    
    c. or just click update all in this cluster
    
  5. Backups of system configuration

  6. Network management: api

  7. Events: api

  8. API api