• Stars
    star
    269
  • Rank 152,623 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

Container & Artifact Repository

Dockyard - Container And Artifact Repository

Dockyard

What is Dockyard ?

Dockyard is a container and artifact repository storing and distributing container image, software artifact and virtual images of KVM or XEN. It's key features and goals include:

  • Multi supported distribute protocols include Docker Registry V1 & V2 and App Container Image Discovery.
  • Multi supported software artifact format include jar, war, tar and so on.
  • Multi supported virtual images of KVM, XEN, VirtualBox and so on.
  • Container image, software artifact and virtual images encryption, verification and vulnerability analysis.
  • Custome distribute protocol by framework base HTTPS and peer to peer.
  • Authentication in distributing process and authorization for public and private repository.
  • Supporting mainstream object storage service like Amazon S3, Google Cloud Storage.
  • Built-in object storage service for deployment convenience.
  • Web UI portal for all functions above.

Why it matters ?

The Dockyard's Story :)

Runtime configuration

runmode = "dev"

listenmode = "https"
httpscertfile = "cert/containerops/containerops.crt"
httpskeyfile = "cert/containerops/containerops.key"

[site]
domain = "containerops.me"

[log]
filepath = "log/backend.log"
level = "info"

[database]
driver = "mysql"
uri = "containerops:containerops@/containerops?charset=utf8&parseTime=True&loc=Asia%2FShanghai"

[deployment]
domains = "containerops.me"

[dockerv1]
standalone = "true"
version = "0.9"
storage = "/tmp/data/dockerv1"

[dockerv2]
distribution = "registry/2.0"
storage = "/tmp/data/dockerv2"

[appc]
storage = "/tmp/data/appc"

[updateserver]
keymanager = "/tmp/containerops_keymanager_cache"
storage = "/tmp/containerops_storage_cache"

Nginx configuration

It's a Nginx config example. You can change client_max_body_size what limited upload file size. You should copy containerops.me keys from cert/containerops.me to /etc/nginx, then run Dockyard with http mode and listen on 127.0.0.1:9911.

upstream dockyard_upstream {
  server 127.0.0.1:9911;
}

server {
  listen 80;
  server_name containerops.me;
  rewrite  ^/(.*)$  https://containerops.me/$1  permanent;
}

server {
  listen 443;

  server_name containerops.me;

  access_log /var/log/nginx/containerops-me.log;
  error_log /var/log/nginx/containerops-me-errror.log;

  ssl on;
  ssl_certificate /etc/nginx/containerops.me.crt;
  ssl_certificate_key /etc/nginx/containerops.me.key;

  client_max_body_size 1024m;
  chunked_transfer_encoding on;

  proxy_redirect     off;
  proxy_set_header   X-Real-IP $remote_addr;
  proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header   X-Forwarded-Proto $scheme;
  proxy_set_header   Host $http_host;
  proxy_set_header   X-NginX-Proxy true;
  proxy_set_header   Connection "";
  proxy_http_version 1.1;

  location / {
    proxy_pass         http://dockyard_upstream;
  }
}

Database Configuration

Database SQL

INSERT INTO mysql.user(Host,User,Password) VALUES ('localhost', 'containerops', password('containerops'));
CREATE DATABASE `containerops` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON containerops.* TO containerops@localhost IDENTIFIED BY 'containerops';
FLUSH PRIVILEGES;

Initlization Tables

./dockyard database migrate

Start dockyard service

  • Run directly:
./dockyard daemon run --address 0.0.0.0 --port 443
  • Run with Nginx:
./dockyard daemon run --address 127.0.0.1 --port 9911 &

How to build

We are using glide as package manager/

  • retrieve dependencies
glide install
  • build (with go 1.6+)
go build

How to involve

If any issues are encountered while using the dockyard project, several avenues are available for support:

Issue Tracker https://github.com/Huawei/dockyard/issues
Google Groups https://groups.google.com/forum/#!forum/dockyard-dev

Pull Requests

If you want to contribute to the template, you can create pull requests. All pull requests must be done to the develop branch. We are working on build an automated tests with ourself means containerops, now we just add Travis CI instead.

Who should join

  • Ones who want to choose a container image hub instead of docker hub.
  • Ones who want to ease the burden of container image management.

Certificate of Origin

By contributing to this project you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution.

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Format of the Commit Message

You just add a line to every git commit message, like this:

Signed-off-by: Meaglith Ma <[email protected]>

Use your real name (sorry, no pseudonyms or anonymous contributions.)

If you set your user.name and user.email git configs, you can sign your commit automatically with git commit -s.

More Repositories

1

Huawei_LiteOS_Kernel

C
573
star
2

containerops

DevOps Orchestration Platform
Go
337
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