Git Product home page Git Product logo

collie's Introduction

🐑 牧云主机安全平台

欢迎使用牧云主机安全平台!我们致力于帮助用户更轻松地管理他们的云主机。

🕹️ 使用牧云插件

我们提供了两种使用牧云插件的方式,分别是通过牧云主机管理助手和独立 CLI 工具使用。

🌐 通过牧云主机管理助手使用

你可以在 官网 安装牧云主机管理助手,安装后即可使用其中的牧云插件。使用过程中遇到的问题欢迎来这里发 Issue.

💻 通过独立 CLI 工具使用

通过 cargo 安装 (🔥推荐)

Arch Linux:

# Install openssl-dev first
sudo pacman -S pkg-config openssl
cargo +nightly install collie-app-cli

Debian and Ubuntu:

sudo apt install pkg-config libssl-dev
cargo +nightly install collie-app-cli

CentOS:

yum install pkg-config openssl-devel
cargo +nightly install collie-app-cli

Fedora:

sudo dnf install pkg-config openssl-devel
cargo +nightly install collie-app-cli

Alpine Linux:

apk add pkgconfig openssl-dev
cargo +nightly install collie-app-cli

macOS (Homebrew):

brew install openssl@3
cargo +nightly install collie-app-cli

macOS (MacPorts):

sudo port install openssl
cargo +nightly install collie-app-cli

macOS (pkgsrc):

sudo pkgin install openssl
cargo +nightly install collie-app-cli

手工安装

  1. Release 下载 合你系统的 CLI 工具
  2. 复制到你的 bin 目录

🔨 牧云插件快速开发指南

首先你需要参考上一节安装 CLI 工具

创建模版应用

collie-app-cli new <your_new_app>

修改你的应用

cd <your_new_app>
# edit your template app

详细参见:

  1. 应用结构说明
  2. manifest.yaml 说明
  3. 应用生命周期说明

查看渲染结果

collie-app-cli up --dry

渲染结果在 .render

实际测试

启动应用:

collie-app-cli up

停止应用:

collie-app-cli down

应用结构说明

redis
├── config                  # 可选的自定义文件夹(嵌套文件夹,最大 10 层)
│   └── redis.conf          # 可选的自定义文件
├── docker-compose.yaml     # 必要的 docker compose 描述文件
├── favicon.png             # 必要的 应用图标
├── manifest.yaml           # 必要的 应用核心 manifest 文件
└── scripts                 # 必要的 脚本文件目录
    ├── init.sh             # 必要的 安装后的自定义初始化脚本(无需可留空)
    ├── uninstall.sh        # 必要的 卸载后的自定义卸载脚本(无需可留空)
    └── upgrade.sh          # 必要的 升级后的自定义卸载脚本(无需可留空)

Manifest

metadata:
  name: redis                               # 插件名字
  desc: fast kv database.                   # 插件描述
  tags:                                     # 插件标签
    - web
  version: 0.1.0                            # 插件版本
  homepage: https://example.com             # 插件主页
  author:                                   # 作者信息
    name: your_name
    mail: [email protected]
  resource:                                 # 该插件所需要的资源
    limit:                                  # 最低资源限制
      cpu: 1                                # 所需的 CPU 核心数量
      memory: 1024M                         # 所需的内存,支持后缀,如 M,G,Mib,MiB,GiB 等
      disk: 1G                              # 所需的磁盘,支持后缀,如 M,G,Mib,MiB,GiB 等
    recommend:
      cpu: 2
      memory: 2048M
      disk: 2G

templates:                                  # 需要渲染的模版列表,路径时相对于插件目录的
  - docker-compose.yaml
  - config/custom.conf

ports:
  web:                                      # 用于在模版中使用的名字 访问该变量的语法 {{ports.web.ip}}:{{ports.web.port}}
    ip: 0.0.0.0                             # 端口绑定的 IP
    port: 80                                # 端口绑定的 端口
    desc: web                               # 描述信息,会在牧云主机助手创建应用时显示

variables:
  password:                                 # 用于在模版中使用的名字 访问该变量的语法 {{variables.password.value}}
    name: 服务密码                           # 描述性的名字,如 XX 密码
    desc: 用于访问服务时用的密码,请注意复杂度  # 提示性的描述信息,如 请注意密码复杂度
    value: wPMihYE                          # 默认的值,可以在创建应用时通过 UI 覆盖

应用生命周期说明

生命周期

collie's People

Contributors

co0ontty avatar dundunha avatar dvkunion avatar honsunrise avatar hurae avatar phxa1 avatar xbingw avatar yokowu avatar yrluke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

collie's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.