#github #oauth #machines #user #env #set #client

nightly app clowder

管理用户保留的裸金属网络引导机器的软件

4 个版本

使用旧的 Rust 2015

0.3.0 2018 年 8 月 29 日
0.2.9 2017 年 11 月 9 日
0.2.8 2017 年 11 月 8 日
0.2.7 2017 年 11 月 8 日

认证 中排名 #687

Apache-2.0 OR MIT

1.5MB
5K SLoC

Rust 2.5K SLoC // 0.0% comments JavaScript 2.5K SLoC // 0.1% comments SQL 147 SLoC // 0.1% comments

Clowder on crates.io Clowder on travis-ci.org

入门指南

GitHub

Clowder 使用 OAuth 进行身份验证,当前提供商为 GitHub。在您的本地站点上,您需要创建一个具有您自己的客户端 ID 和客户端密钥的 GitHub OAuth 应用程序。设置包含这些值的环境变量,或者将它们放在您的源目录中的 .env 文件中

echo "CLOWDER_GH_CLIENT_ID=aaaaaaaaaa" > .env
echo "CLOWDER_GH_CLIENT_SECRET=aaaaaaaaaa" >> .env

Rust

目前,我们依赖于依赖于 Rust nightly 的 crates(见 SergioBenitez/Rocket#19 以了解我们的主要阻塞器)。您可能希望使用 Rustup 安装 Rust 的 nightly 版本。

数据库

Clowder 需要创建一个数据库,该数据库可供运行服务的用户访问。使用 Postgres(至少在 FreeBSD 上),这看起来像

# service postgresql initdb
# service postgresql start
# su - postgres
$ createuser ${username}    # with a username like, e.g., clowder
$ psql postgres
postgres=# create database clowder;
postgres=# grant all on database clowder to ${username};

您应该在环境变量中设置数据库 URL,或者在您的源目录中的 .env 文件中

$ echo "export DATABASE_URL=postgres://127.0.0.1/clowder" >> .env

一旦创建数据库,我们使用 Diesel ORM 初始化它

$ cargo install diesel_cli
$ cd path/to/clowder/source
$ diesel migration run

Clowder

一旦设置好 Rust 和 Clowder 数据库,您就可以构建和运行 Clowder 了!

$ cargo build
$ cargo run

开发环境

虚假用户帐户

您可以在您的环境(或 .env 文件)中设置 CLOWDER_FAKE_GITHUB_USERNAME 以提供要作为从正常 GitHub OAuth 工作流程中获得的用户名处理的用户名。

重新加载

出于开发目的,我喜欢使用 cargo-watch 来重建,每次我更改源文件时

$ cargo watch --ignore '*.swp' --exec run

这非常适合 LiveReload。

依赖项

~22–32MB
~591K SLoC