Containerum is an open source platform for the complete management of Kubernetes clusters. Containerum features tools for simple CI/CD pipelines setup, revision control, and role management.
- Runs on top of any Kubernetes cluster
- Managed via CLI or intuitive Web UI
Containerum consists of several components:
- api-gateway provides routing for Containerum components
- user-manager is a service for managing users, groups, credentials, blacklists for Containerum
- resource manages Kubernetes namespace objects: deployments, ingresses, etc.
- permissions manage user access to enable teamwork
- kube-api is a set of API for communication between Containerum and K8s
- auth handles user authorization and token management
- mail is a mail server and newsletter template manager
- ui is Web User Interface for Containerum
- chkit is CLI for Containerum
and 2 databases:
- MongoDB
- PostgreSQL
Basically, Containerum architecture looks like this:
Before installing Containerum make sure you have the following components:
- Docker
- Kubernetes 1.5 or higher
- Helm
- Installed Kubernetes Ingress Controller
or
- You can use Let's Kube utility to install the latest verions of Docker and Kubernetes on your VMs.
To launch Containerum on your Kubernetes Cluster run:
helm repo add containerum https://charts.containerum.io
helm repo update
helm install containerum/containerum
Note: To launch deployments in Containerum you need to have an application node. In case you use only one node, make sure it is labeled as slave. To add the label, run:
kubectl label node ubuntu-01 role=slave
where ubuntu-01
is the name of your node.
To be able to reach Containerum Web UI and the API, add the machine IP address to /etc/hosts, e.g.:
127.0.0.1 local.containerum.io api.local.containerum.io
where 127.0.0.1
is the address of your machine with Containerum.
Now you can access Containerum Web UI at local.containerum.io
.
Default username: [email protected]
Password: verystrongpassword
Containerum has an intuitive web interface and a simple but powerful CLI tool. Yet we recommend learning about the object types in Containerum as well as the basics of working with Containerum Web UI and chkit CLI in our Docs.
Don't forget to install chkit CLI (from source code or binaries - whatever you prefer!).
To keep track of roadmap implementation, please refer to Containerum Projects page.
-
Create scripts to setup CI/CD Pipelines for
- Jenkins
- TeamCity
- Bamboo
- GitLab
- Travis
- Codeship
- Add pipeline management to chkit
- Add pipeline visualization to UI
-
Add node utilisation charts to the Dashboard
-
Create installation scripts for AWS, GCE, MA, DO
- Create scripts for automated purchase of VMs
- Create script for managed Kubernetes installation
- Create an application for backups and recovery
- Create scripts for updates
- Add Containerum apps to installation
-
Implement ‘Project’ entity
- Add Projects
- Add user groups to Projects
- Add users to Projects
- Add role management to Projects
- Add role management to stage environments
- Add Projects to UI (CRUD)
- Add recurring checking of completed fields
- Create Events Server to track events in Projects
-
Create Stage environments
-
Implement revision control for stage environments
- Add revision history within a stage
- Add version change confirmation in production
- Add revision control
- Add automated rollbacks
- Implement rollback mechanism
- Implement update of changed files only
-
Implement revision control for Projects
-
Add Solutions and Marketplace
-
Add admin control features
We welcome any help from the open source community. To submit your contributions, fork the project you want to contribute to (e.g. permissions, auth, etc.), commit changes and create a pull request to the develop branch. We will review the changes and include them to the project. Read more about contributing in this document.
Please submit any comments and report Containerum project bugs or issues in this repository. In case you have questions about Containerum, there are several ways you can reach out to our team: by filling out the form on our support page or by email at [email protected].
You can find the Documentation and Quick Start tutorial for Containerum in the Docs section on our website or in the Docs repository here on GutHub. Please, feel free to contribute to the Docs to help us make them more accurate and comprehensive.
Containerum platform is also available online at containerum.com/online. It is already installed and preconfigured for production. While the platform is still free, users are billed only for resources.
Copyright (c) 2015-2018 Exon LV.
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.