Wharf ContainerOps 平台

程序名称:Wharf

授权协议: MIT

操作系统: Linux

开发语言: Google Go

Wharf 介绍

Wharf 是一个关注 ContainerOps 的工具,它不是要取代传统的开发流程或者被广泛接受的 DevOps ,它是
DevOps 的升级方案。 Wharf 的目标是在在开发、持续集成和持续部署的广泛流程中使用 Container
技术构建一个工具链平台,支持 DockerRocket 等多种 Container 运行期方案。

Wharf 目前只是 pre-release 一个早期版本,可以把它建设在局域网内,代替 Docker
Registry
管理 Docker
Repository
。 目前只支持 Docker Registry V1 的协议,稍后会支持 V2 协议和 Rocket CAS
最终会集成另一个持续集成的项目 Vessel ,努力构建完整的
ContainerOps 平台。

为了解决 Docker Registry 的证书问题,项目中提供了 containerops.me
的证书,在部署的时候可以直接使用证书或者是把证书用在 Nginx 上。

如何编译 Wharf

把代码 Clone**$GOPATH/src/githhub.com/dockercn** 路径

go get -u github.com/astaxie/beego
go get -u github.com/codegangsta/cli
go get -u github.com/siddontang/ledisdb/ledis
go get -u github.com/garyburd/redigo/redis
go get -u github.com/shurcooL/go/github_flavored_markdown
go get -u github.com/satori/go.uuid
go get -u github.com/nfnt/resize
go build


Wharf 运行期设置

wharf/conf 目录放置运行期文件 bucket.conf

runmode = dev

enablehttptls = true
httpsport = 443
httpcertfile = cert/containerops.me/containerops.me.crt
httpkeyfile = cert/containerops.me/containerops.me.key

gravatar = data/gravatar

[docker]
BasePath = /tmp/registry
StaticPath = files
Endpoints = containerops.me
Version = 0.8.0
Config = prod
Standalone = true
OpenSignup = false

[ledisdb]
DataDir = /tmp/ledisdb
DB = 8

[log]
FilePath = /tmp
FileName = containerops.log

[session]
Provider = ledis
SavePath = /tmp/session

Nginx 配置

upstream wharf_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://wharf_upstream;
  }
}

如何运行 Wharf

运行在 Nginx 后面:

./wharf web --address 127.0.0.1 --port 9911

直接运行:

./wharf web --address 0.0.0.0 --port 80

如果在配置文件中设置了 enablehttptlstrue ,那会自动运行在 443 端口。

./wharf web

问题报告 ****

https://github.com/dockercn/wharf/issues

协议

MIT 协议

其它相关项目

  • Vessel 持续集成服务器
  • Rudder Golang Docker 客户端

Wharf 官网

https://github.com/dockercn/wharf

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Cyclone是一个打造容器工作流的云原生持续集成持续发布平台。 Cyclone主要致力于将代码从本地开发环境用任意容器引擎封装搬运到测试或者生产环境运行。Cyclone包括一下特性:
Kui Shell 为构建云原生应用程序提供了新的开发经验。通过将熟悉的 CLI 的功能与高影响力区域中的可视化相结合,Kui 使用户能够操作复杂的
Eclipse MicroProfile 是一个 Java 微服务开发的基础编程模型,它致力于定义企业 Java 微服务规范,MicroProfile
Kabanero 构建在 Knative、Istio 与 Tekton 之上,提供构建、流量管理与 CI/CD 等能力,同时支持与 Eclipse
Antrea 是一个 Kubernetes 网络解决方案,旨在实现 Kubernetes 原生。它使用 Open vSwitch 作为网络数据平面,在 Layer3/4 上运行,以为
Linkerd 是一个提供弹性云端原生应用服务网格(service mesh)的开源项目,也是面向微服务的开源 RPC 代理。它的核心是一个透明代理。
YugaByte 是用于构建关键型应用的云原生数据库。 YugaByte 使用 C++ 开发,支持 Cassandra 查询语言(CQL)以及 Redis 协议,对 PostgreSQL
Gloo 是一个基于 Envoy 的 Kubernetes 原生入口控制器和下一代 API 网关。Gloo 在函数级路由方面表现卓越,它支持传统应用程序、微服务与 Serverless。Gloo 设计独特,可支持混合应用,其中的多种技术、架构、协议
YugaByte DB 是一个高性能、云原生的分布式 SQL 数据库。 值得关注的特性包括:
ChubaoFS(储宝文件系统)是为大规模容器平台设计的分布式文件系统。它由元数据子系统、数据子系统和资源管理器组成。ChubaoFS
YugaByte 是用于构建关键任务应用程序的云原生数据库。此 repo 是 YugaByte Community Edition。
Draft 是由微软出品的一个帮助开发者在 Kubernetes 上快速创建云原生应用的工具。使用该工具,你可以不需要知道 Docker 或者
Camel K 是一个轻量级集成框架,它使得可以直接在 Kubernetes 与 Knative 上运行Camel。
APISIX 是一个基于云原生、高速可扩展的开源微服务网关节点实现,其自身主要优势是高性能和强大的扩展性。
Open Application Model 是什么? Open Application Model 是一个用来构建云原生应用的规范。它描述了一个模型,开发人员可以在其中定义应用程序组件。应用程序操作员负责创建这些组件的实例并为它们分配应用程序配
ContainerOps 是云原生(Cloud Native)的 DevOps Orchestration。定义 DevOps 组件的基本容器,如Docker 或 rkt。 在浏览器中使用 WYSIWYG 编辑器绘制 DevOps 工作流程,混合 DevOps 组件和现有的
Gravity 是一个开源工具包,为云原生应用程序提供真正的可移植性。它允许开发人员将 Kubernetes
iSula 是一种云原生轻量级容器解决方案,可通过统一、灵活的架构满足 ICT 领域端、边、云场景的多种需求。
Rook将文件、数据块和对象存储系统引入到Kubernetes集群,与其他正在使用存储的应用程序和服务一起无缝运行。通过这种方式,云原生集群可以在公有云和本地部署中自给自足并且具备可移植性。该项目的开发目的是使企
Camel Quarkus 致力于将 280+ Camel 组件移植和打包为 Quarkus 扩展。 Camel 是一个基于规则的路由以及媒介引擎,它提供了一个基于 POJO 的企业集成模式的实现,开发者可以采用其强大且十分易用的 API(Java