• Stars
    star
    337
  • Rank 125,239 (Top 3 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DevOps Orchestration Platform

ContainerOps - DevOps Orchestration

Why DevOps orchestration?

There are many tools, projects, plugins, services adopted in the DevOps workflow. However, no one can cover all DevOps tasks. When developers move from one tool to another, they are facing the huge risk of reinvestment. How should we promote the DevOps process and make iteration more speedy? The principle of DevOps orchestration is to keep your original process working without any changes and just assemble tools, projects, plugins, services into orchestration engine. Improvements to the DevOps process can be done by gradually adding or replacing tools, projects, plugins or services for a smooth migration, and overall, DevOps needs to be promoted step by step, invasive changes are dangerous.

How DevOps Orchestration?

Combo the different DevOps services, tools and plugins to implementing DevOps orchestration is very complex, and it should resolve many challenges like deliver data between jobs, or resolve environment consistency for tools or plugins.

ContainerOps VS. Jenkins

  1. Jenkins servers become snowflakes. Maintaining a DevOps workflow needs pasting shell script into the textboxes of UI, uploading and installing multiple plugins and dependencies in the slaves. The ContainerOps could clearly define the DevOps workflow by drawing and dragging through a GUI IDE. It uses the component endpoint URLs and doesn't need to download and install. All dependencies are already self-contained in the component.

  2. Jenkins has no first class support for pipelines, and Jenkins 2.0 tries to address this by introducing a Pipeline plugins. However, it misses the point of DevOps. There are many tools and services throughout the whole Jenkins process, and each has its own pipeline. With the cloud native app becomes more and more sophisticated, this increasing complexity makes tools to be isolated in the chain and finding a good way to pass context in the whole workflow becomes critical. These are the problems ContainerOps wants to resolve.

  3. Plugins accomplish everything you care about in Jenkins, and the plugin has dependencies on the environment. The ContainerOps use container-encapsulated components instead of plugins, and all dependencies have been self-contained in the component. The resources of running a component are handled by the ContainerOps engine through Kubernetes.

Architecture of project

The ContainerOps is a DevOps orchestration platform, and its architecture is micro services. All the codes in one repository, each service has an own folder and maintainer.

  • component - Some components maintained by ContainerOps team.
  • pilotage - The orchestration engine service.
  • crew - It's a RBAC service.
  • dockyard - It's a artifact & container repository.
  • assembling - It's a artifact & container build service.
  • scaler - The third service manage service.
  • nucleus - The component manage service.
  • singular - The deployment and operations tools.
  • logarithm - The log service collect from platform.

Database

The components of ContainerOps all need SQL database support, we suggest use TiDB/TiKV for distribute deployment. For debug, you could create a database in your localhost.

GRANT USAGE ON *.* TO 'containerops'@'localhost' IDENTIFIED BY 'containerops' WITH GRANT OPTION;
CREATE DATABASE `containerops` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON containerops.* TO containerops@localhost IDENTIFIED BY 'containerops';
FLUSH PRIVILEGES;

Contribute

If you interest the ContainerOps and want to get involved in developing. Getting start with this reading:

Community

More Repositories

1

Huawei_LiteOS_Kernel

C
573
star
2

dockyard

Container & Artifact Repository
Go
269
star
3

TCP_option_address

A kernel module to obtain source IP address in the TCP option section.
C
181
star
4

eSDK_K8S_Plugin

Container-Storage-Interface (CSI) for Huawei storage
Go
80
star
5

Consumer

76
star
6

yang

Shell
52
star
7

huaweicloud-fpga

Obsolete repository of official HUAWEI CLOUD FPGA Development Kit :https://github.com/huaweicloud/huaweicloud-fpga
26
star
8

DMM

C
23
star
9

OpenStack_Driver

used to cinder and manila driver publish and download
Python
20
star
10

Huawei_CCA_RMM

Forked from tf-rmm@trustedfirmware, support QEMU platform. Check wiki for instruction. https://github.com/Huawei/Huawei_CCA_RMM/wiki
C
17
star
11

fpga-accel

The official repository of the local FPGA Development Kit.
C
17
star
12

Huawei-iBMC-Cmdlets

PowerShell
17
star
13

Server_Management_Plugin_Zabbix

16
star
14

FusionStorage_OpenStack_Driver

used to publish fusionstorage cinder or manila driver
Python
16
star
15

gophercloud

Go
15
star
16

DockerMachineDriver4OTC

Go
10
star
17

cloud-sdk-python

Python
9
star
18

CloudEC_Client_API_Demo_Windows_JS

9
star
19

HuaweiO3DEGems

Gems for the Open 3D Engine made by Huawei
8
star
20

iCAN

iCAN is a container network management platform, aims to make container network easier to manage. By providing standardized network components(SNC) for containers, user-define data path can be defined by SNC specifcation. iCAN can work with container orchestration, like k8s.It is designed to support both CNI and CNM standard.
8
star
21

Server_Manage_Plugin

Huawei servers meet industry management standards and are compatible with various types of third-party management software.This project contains a variety of third-party plug-ins.
Python
8
star
22

cloud-sdk-go

Go
7
star
23

Server_Management_Plugin_Ansible

Python
7
star
24

CloudLink-Kit

cloudlink kits
7
star
25

CloudEC_Client_API_Demo_iOS

7
star
26

CloudEC_Client_API_Demo_Android

6
star
27

cloud-sdk-java

Java
6
star
28

CloudVC_Client_API_Demo_Android

6
star
29

Huawei_Server_Update_Tool

Python
5
star
30

Server_Management_Plugin_vCenter

HTML
5
star
31

Huawei_CCA_TFA

Forked from [email protected]. Adding CCA in QEMU platform. Check wiki for instructions. https://github.com/Huawei/Huawei_CCA_RMM/wiki
C
4
star
32

OpenStackClient_Workspace

Python
4
star
33

OpenStackClient_Auto-Scaling

HTML
4
star
34

CloudIPCC_AgentServerDemo_Java

CloudIPCC_AgentServerDemo_Java
Java
4
star
35

CloudIPCC_GSL_IVRDemo

CloudIPCC_GSL_IVRDemo
Java
4
star
36

CloudLink-Kits

4
star
37

Huawei_FusionDirector_For_vROps

Java
3
star
38

OpenStackClient_VBS

Python
3
star
39

vCenter_Plugin_DME

Java
3
star
40

Server_Management_Common_eSightApi

Java
3
star
41

CloudIPCC_QuickUserDemo_IOS

CloudIPCC_QuickUserDemo_IOS
Objective-C
3
star
42

DJ_Ansible

DJ Ansible plugin
Python
3
star
43

Server_Management_Plugin_Cacti

PHP
3
star
44

OpenStackClient_AntiDDOS

HTML
3
star
45

OpenStackClient_KMS

Python
3
star
46

OpenStackClient_CES

HTML
2
star
47

OSPO

2
star
48

soda_vmware_plugin

soda_vmware_plugin
Java
2
star
49

CloudIPCC_QuickUserDemo_Andriod

CloudIPCC_QuickUserDemo_Andriod
Java
2
star
50

cloud-sdk-release

2
star
51

Server_Management_Plugin_vRealize

Java
2
star
52

Server_Management_Plugin_Openstack

Python
2
star
53

Server_Management_Plugin_SCOM_For_eSight

C#
2
star
54

ZenPackNew

2
star
55

Server_Management_Plugin_Log-Insight

2
star
56

ZenPack

a zenoss plugin.
Python
2
star
57

Server_Management_Plugin_Nagios

Python
2
star
58

Server_Management_Plugin_Puppet

Python
2
star
59

Huawei_CCA_TFTF

Forked from tf-a-tests @ trustedfirmware.org. Adding CCA QEMU platform. Check wiki for instruction. https://github.com/Huawei/Huawei_CCA_RMM/wiki
C
2
star
60

CloudEC_Server_API_Demo_JAVA

2
star
61

Server_Management_Plugin_Ansible_roles

Python
2
star
62

CloudIPCC_QuickAgentDemo_CSharp

CloudIPCC_QuickAgentDemo_CSharp
C#
2
star
63

Server_Management_Plugin_ironic

Python
2
star
64

Huawei_FusionDirector_For_vCenter

2
star
65

CloudIPCC_aPortal_JAVA

JavaScript
2
star
66

ICP_ICPSDKDemo_CSharp

ICP_ICPSDKDemo_CSharp
C#
2
star
67

CloudIPCC_SMSWebDemo_Java

CloudIPCC_SMSWebDemo_Java
CSS
2
star
68

cosi

Container Object Storage Interface (COSI) is an industry standard used to expose object storage systems to container workloads on container orchestration systems (COs) such as Kubernetes, RedHat OpenShift, etc.
2
star
69

Server_Management_Plugin_Check_MK

Python
1
star
70

SmartServer_Android

1
star
71

Server_Management_Plugin_Zenoss

Python
1
star
72

CloudVC_Client_API_Demo_Windows_C

1
star
73

CloudIPCC_V200R001C60_Guide

1
star
74

CloudIPCC_huaweicloud_hpsdemo

Java
1
star
75

CloudIPCC_V200R001C80_Guide

1
star
76

server-upgrade

1
star
77

CloudIPCC_V600R006C10_Guide

1
star
78

CloudIPCC_ICP_Bridge

Java
1
star
79

SmartServer_IOS

1
star
80

CloudIPCC_V600R019C00SPC100_Guide

1
star
81

Server_Management_Plugin_Chef

Ruby
1
star
82

CloudIPCC_ICSServerDemo_Java

CloudIPCC_ICSServerDemo_Java
Java
1
star
83

CloudIPCC_SMSPlugin_Java

CloudIPCC_SMSPlugin_Java
Java
1
star
84

Server_Management_Plugin_Centreon

Perl
1
star
85

ICP_Solution_Resource

Secondary development resource of ICP solution
1
star
86

Server_Management_Plugin_OpenNMS

Shell
1
star
87

public_cloud

This repo was closed on Dec 3rd, 2017. Please visit https://github.com/huaweicloudsdk.
1
star
88

Huawei_FusionDirector_For_SCOM

C#
1
star
89

CloudIPCC_huaweicloud_CMSDemo

Java
1
star
90

CloudVC_Client_API_Demo_iOS

1
star
91

Server_Management_Plugin_User_Guide

1
star
92

DME_Ansible_Module

Python
1
star
93

ICP_CDSDemo_Java

ICP_CDSDemo_Java
Java
1
star
94

css-docs

Huawei Container Storage Suite Documentation
1
star