最近欠债比较多,很不好意思一直想写Crane的学习感受拖到现在才写。Crane是数人云最近开源的Docker管理面板,一开始出来的时候通过Github上的Demo连接试用学习了下,感觉平易近人,毫无学习成本,一贯的数人云产品风格,完全是一款从用户角度出发,解决用户痛点的好产品!而且这么好的产品竟然还以Apache 2.0 License开源,任何人都可以从Github clone源代码构建使用,简直是我们这群屌丝用户的福音。于是我迅速打开了终端,悄悄Clone了代码,不然哪天数人云把它闭源了,我就再也用不了这么好的产品了。Mesos/Marathon/K8S 请一边去,不认识你们。
git clone https://github.com/Dataman-Cloud/crane.git
怀着激动地心情clone了代码之后,我觉得我需要好好反省下自己,学习下数人云的大神们无私奉献的开源精神,所以我又悄悄地打开了编辑器,按耐着心中的喜悦从src
这个目录开始学习起Crane的代码,乍看之下,Crane代码结构明了,逻辑清晰。按照models
, plugin
, api
等进行模块划分,让我们这种小白可以非常容易对
Crane的实现建立起大概的印象。而且其中测试用例完善,覆盖大部分代码。让人对Crane这个产品的质量有了充足的信心。
Crane中src
的代码主要封装了对Docker SwarmKit的调用,并以API的形式提供给前端调用,当然后端还除了包括验证,配置管理。其中像WebSSH, FuzzySearch