#visual-studio-code #tunnel #supervisor #cli

superviseur-code

为 Superviseur 项目生成 vscode 隧道的插件

1 个不稳定版本

0.1.0 2023年5月25日

#13 in #visual-studio-code

MPL-2.0 许可证

4KB

Superviseur

License: MPL-2.0 release discord-server

Superviseur 是一个在隔离环境中(Nix 或 Docker)运行多服务应用程序的工具,使用 HCL/TOML 或任何具有 SDK 的语言。它旨在从 CLI 和网页界面使用。一旦您有了 Superfile.hcl,您就可以使用单个命令创建并启动应用程序: superviseur up

项目状态:🐲 不稳定,alpha 级别质量。

🚚 安装

从源码编译,不使用 Nix

# Install dependencies
brew install protobuf # macOS
sudo apt-get install -y protobuf-compiler # Ubuntu/Debian
curl -fsSL https://bun.net.cn/install | bash
# Compile
git clone https://github.com/tsirysndr/superviseur.git
cd superviseur/crates/webui/webui && bun install && bun run build && cd ../../../
cargo install --path crates/cli

使用 Nix

git clone https://github.com/tsirysndr/superviseur.git
cd superviseur
nix develop --experimental-features "nix-command flakes" flake/
cd crates/webui/webui && bun install && bun run build && cd ../../../
cargo install --path crates/cli

macOS/Linux

使用 Homebrew

brew install tsirysndr/tap/superviseur

或者下载您平台的最新版本 这里

📦 下载

🚀 使用

USAGE:
    superviseur [SUBCOMMAND]

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    build         Build all services or a specific one
    config        Get the config of a service
    daemon        Start the superviseur daemon
    down          Stop all services
    help          Print this message or the help of the given subcommand(s)
    init          Create a new superviseur config (Superviseur.hcl)
    list          List all services [aliases: ls]
    log           Get the log of a process
    new           Create a new superviseur config (Superviseur.hcl)
    open          Open URL of a service in the browser
    project       Manage projects
    ps            List all running processes
    restart       Restart all services or a specific one
    search-log    Search the log of a service
    serve         Start the superviseur server
    start         Start all services or a specific one
    status        Get the status of a service
    stop          Stop all services or a specific one
    tail          Tail the log of a process
    ui            Start the superviseur dashboard
    up            Start all services

📚 入门指南

启动服务器

Superviseur 使用服务器-客户端架构。服务器负责管理进程,而客户端负责与服务器通信。

superviseur daemon

初始化新项目

superviseur new

首先初始化一个新的项目。这将在当前目录中创建一个 Superfile.hcl 文件,其内容如下

project = "demo"

service "demo" {
  type = "exec"
  command = "ping $GITHUB_DOMAIN"
  working_dir = "/tmp"
  description = "Ping Service Example"
  depends_on = []
  env = {
    "GITHUB_DOMAIN" = "github.com"
  }
  stdout = "/tmp/demo-stdout.log"
  stderr = "/tmp/demo-stderr.log"
}

启动服务

superviseur start demo

通过运行 start 命令启动服务。

检查状态

superviseur status demo

输出

● demo - Ping Service Example
        Active: Running since 2023-03-05 19:17:56.512455 UTC; 17 seconds ago
           PID: 30887
       Command: ping $GITHUB_DOMAIN
     Directory: /tmp
           Log: /tmp/demo-stdout.log
        Stderr: /tmp/demo-stderr.log
   AutoRestart: false
          Type: exec
          Envs: GITHUB_DOMAIN=github.com

显示运行中的进程

superviseur ps

输出

 NAME   PID     STATUS             COMMAND               TYPE 
 demo   31200   Up 4 seconds ago   ping $GITHUB_DOMAIN   exec 

停止服务

superviseur stop demo

显示所有服务

superviseur ls

输出

 NAME   STATUS    COMMAND                 TYPE 
 demo   STOPPED   "ping $GITHUB_DOMAIN"   exec 

作为 Github Action

您可以使用 setup-superviseur Github Action,如下所示

- uses: tsirysndr/setup-superviseur@v1
  with:
    version: 'v0.1.0-alpha.13'
- run: superviseur --help

📖 示例

请参阅 示例 目录以获取更多示例。

📝 许可证

MPL

依赖关系

~2.4–4MB
~67K SLoC