1
0
forked from x/icebergs
icebergs/README.md
2020-02-21 03:03:09 +08:00

132 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Icebergs.go
icebergs是一个应用框架通过模块化、集群化、自动化快速搭建起完整的个人云计算平台。
- 使用icebergs可以将各种模块或项目集成到一起快速开发出集中式的服务器。
- 使用icebergs可以将各种设备自由的组合在一起快速搭建起分布式的服务器。
## 0. 搭建服务
### 0.1 一键部署
```sh
mkdir miss; cd miss && curl -s https://shylinux.com/publish/ice.sh | sh
```
脚本会根据当前系统类型自动下载程序文件ice.bin并自动启动服务。
### 0.2 使用方式
**终端交互**
启动后的进程像bash一样是一个可交互的shell可以执行各种模块命令或系统命令。
**网页交互**
默认还会启动一个web服务访问地址 http://localhost:9020 ,就可以通过网页进行操作。
**重启服务**
在终端按Ctrl+C就可以重新启动服务。
**结束服务**
在终端按Ctrl+\,就可以停止服务。
### 0.3 使用示例
## 1. 项目开发
icebergs是一个应用框架如果官方模块无法满足使用需求还可以搜集第三方模块自行编译程序。
如果第三方模块也无法满足使用需求,还可以自己开发模块,
icebergs提供了模板可以一键创建新模块快速添加自己的功能模块。
### 1.1 部署环境
*开发环境需要提前安装好git和golang*
```sh
mkdir miss; cd miss && curl -s https://shylinux.com/publish/template.sh | sh
```
template.sh会自动创建出项目模板并自动编译生成程序然后启动服务。
为了方便以后创建项目与模块。
可以将辅助脚本template.sh下载并添加到可执行目录中。
### 1.2 添加第三方模块
在src/main.go文件中就可以import任意的第三方模块
执行一下make命令就会重新生成ice.bin。
重新启动服务,就可以使用第三方模块了。
### 1.3 开发模块
```sh
template.sh tutor hello
```
使用之前下载的template.sh调用tutor命令并指定模块名称hello就可以一键创建模块了。
在src/main.go 中import新加的模块
执行make命令程序编译完成后
重启服务,就可以使用新模块了。
### 1.4 开发框架
如果现有的框架,无法满足需求,还可以下载框架源码自行更改。
```sh
git clone https://github.com/shylinux/icebergs usr/icebergs
```
修改go.mod文件引用本地框架。
```go
replace github.com/shylinux/icebergs => ./usr/icebergs
```
### 1.5 开发接口
如果现有的接口,无法满足需求,还可以下载接口源码自行更改。
```sh
git clone https://github.com/shylinux/toolkits usr/toolkits
```
修改go.mod文件引用本地框架。
```go
replace github.com/shylinux/toolkits => ./usr/toolkits
```
## 2 原型设计 type.go
### 2.1 msg.Detail
### 2.2 msg.Option
### 2.3 msg.Append
### 2.4 msg.Result
### 2.5 msg.Travel
### 2.6 msg.Search
### 2.7 msg.Conf
### 2.8 msg.Cmd
### 2.9 msg.Cap
## 3 框架 base.go
### 3.1 注册模块 Register
### 3.2 创建资源 Begin
### 3.3 加载配置 _init
### 3.4 启动服务 Start
### 3.5 保存配置 _exit
### 3.6 释放资源 Close
## 4 基础模块 base/
### 4.1 模块中心 base/ctx
### 4.2 命令中心 base/cli
### 4.3 认证中心 base/aaa
### 4.4 网页中心 base/web
### 4.5 词法中心 base/lex
### 4.6 语法中心 base/yac
### 4.7 事件中心 base/gdb
### 4.8 日志中心 base/log
### 4.9 网络中心 base/tcp
### 4.10 文件中心 base/nfs
### 4.11 终端中心 base/ssh
### 4.12 数据中心 base/mdb
## 5 核心模块 core/
### 5.1 编程中心 core/code
### 5.2 文档中心 core/wiki
### 5.3 聊天中心 core/chat
### 5.4 团队中心 core/team
### 5.5 贸易中心 core/mall