-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #25 from Sleitnick/feature/env
Allow env variable for API key
- Loading branch information
Showing
15 changed files
with
152 additions
and
125 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,4 @@ | |
api_key.txt | ||
test.sh | ||
*.ai | ||
*.psd |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,45 @@ | ||
# Roblox Open Cloud CLI   ![Logo](imgs/icon_32_bottom.png) | ||
[![CI](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml/badge.svg)](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml) | ||
[![Release](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml/badge.svg?event=push)](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml) | ||
[![Crate](https://img.shields.io/crates/v/rbxcloud.svg)](https://crates.io/crates/rbxcloud) | ||
[![Docs](https://docs.rs/rbxcloud/badge.svg)](https://docs.rs/rbxcloud) | ||
|
||
The `rbxcloud` CLI lets developers easily communicate with the Roblox Open Cloud APIs. The underlying library can also be used to build tools and applications that utilize the various APIs. | ||
|
||
Possible use-cases: | ||
- Deployment pipelines | ||
- Live-ops | ||
- Custom analytics | ||
- Handling data removal requests (see [GDPR & CCPA info](https://create.roblox.com/docs/production/publishing/about-GDPR-and-CCPA)) | ||
- Debugging DataStores | ||
|
||
## Install CLI | ||
### Aftman | ||
Run the `aftman add` command within your project directory. This will add `rbxcloud` to the project's `aftman.toml` file (or create one if it doesn't yet exist). | ||
```sh | ||
$ aftman add Sleitnick/[email protected] | ||
``` | ||
|
||
### From Release | ||
Download and unzip the tool for your OS from the [releases](https://github.com/Sleitnick/rbxcloud/releases) page. You will then need to put it in your desired location and point your path variable to the executable location. | ||
|
||
## CLI Documentation | ||
Visit the documentation site for information on installation and usage: https://sleitnick.github.io/rbxcloud/ | ||
|
||
## Install Rust Library | ||
### Add Dependency | ||
|
||
To use `rbxcloud` in a Rust project, simply add `rbxcloud` to the `Cargo.toml` dependency list. | ||
```toml | ||
[dependencies] | ||
rbxcloud = "0.2.2" | ||
``` | ||
|
||
Alternatively, use `cargo add`. | ||
```sh | ||
$ cargo add rbxcloud | ||
``` | ||
|
||
See the [docs.rs](https://docs.rs/rbxcloud/latest/rbxcloud/) page for library documentation. | ||
# Roblox Open Cloud CLI   ![Logo](imgs/icon_32_bottom.png) | ||
[![CI](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml/badge.svg)](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml) | ||
[![Release](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml/badge.svg?event=push)](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml) | ||
[![Crate](https://img.shields.io/crates/v/rbxcloud.svg)](https://crates.io/crates/rbxcloud) | ||
[![Docs](https://docs.rs/rbxcloud/badge.svg)](https://docs.rs/rbxcloud) | ||
|
||
The `rbxcloud` CLI lets developers easily communicate with the Roblox Open Cloud APIs. The underlying library can also be used to build tools and applications that utilize the various APIs. | ||
|
||
Possible use-cases: | ||
- Deployment pipelines | ||
- Live-ops | ||
- Custom analytics | ||
- Handling data removal requests (see [GDPR & CCPA info](https://create.roblox.com/docs/production/publishing/about-GDPR-and-CCPA)) | ||
- Debugging DataStores | ||
|
||
## Install CLI | ||
### Aftman | ||
Run the `aftman add` command within your project directory. This will add `rbxcloud` to the project's `aftman.toml` file (or create one if it doesn't yet exist). | ||
```sh | ||
$ aftman add Sleitnick/[email protected] | ||
``` | ||
|
||
### From Release | ||
Download and unzip the tool for your OS from the [releases](https://github.com/Sleitnick/rbxcloud/releases) page. You will then need to put it in your desired location and point your path variable to the executable location. | ||
|
||
## CLI Documentation | ||
Visit the documentation site for information on installation and usage: https://sleitnick.github.io/rbxcloud/ | ||
|
||
## Install Rust Library | ||
The library built for the CLI tool is available to use directly in Rust projects. This is essentially an SDK for the Roblox Open Cloud APIs. | ||
|
||
### Add Dependency | ||
|
||
To use `rbxcloud` in a Rust project, simply add `rbxcloud` to the `Cargo.toml` dependency list. | ||
```toml | ||
[dependencies] | ||
rbxcloud = "0.3.0" | ||
``` | ||
|
||
Alternatively, use `cargo add`. | ||
```sh | ||
$ cargo add rbxcloud | ||
``` | ||
|
||
See the [docs.rs](https://docs.rs/rbxcloud/latest/rbxcloud/) page for library documentation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# API Key | ||
`rbxcloud` requires a Roblox API key to function. These keys can be created and managed on the [Credentials](https://create.roblox.com/credentials) Roblox page. Remember to always keep these keys secret. | ||
|
||
Roblox API keys will auto-expire if not used for over 60 days. Use the Credentials page to regenerate the key if this occurs. | ||
|
||
## Security | ||
As a general rule of practice for any API key: | ||
- Use the least number of permissions as needed | ||
- Keep the key in a secret location (e.g. GitHub Secrets, AWS Secrets Manager, etc.) | ||
- Never commit a key to a source code repository | ||
- Use as strict of a CIDR as possible | ||
- Use an expiration date to force periodic key rollovers (must be manually regenerated) | ||
|
||
### Handling Compromised Keys | ||
If a key is suspected to have been compromised, use the Credentials page to immediately invalidate the key. This can be done by regenerating or deleting the key. Keys can also be disabled, but re-enabling the key will not change the key, thus is not a safe option to protect from a compromised key. If in doubt, regenerate the key. | ||
|
||
### Storing Keys | ||
There are many tools that can be used to securely store a key. GitHub has a Secrets page for each repository, which can then be used by GitHub Actions securely. AWS and GCP have a Secrets Manager service. Azure has the Key Vault service. | ||
|
||
If a key must be located within a local repository's directory, be sure to add it to the `.gitignore` file. This is common in some `.env` file setups. | ||
|
||
## Environment Variable | ||
All CLI commands expect the `--api-key` parameter, but can also be set via the `RBXCLOUD_API_KEY` environment variable. With the environment variable set, the `--api-key` parameter can be left out. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,41 @@ | ||
# Install | ||
|
||
## Install CLI | ||
|
||
There are a few different ways to install the `rbxcloud` CLI. | ||
|
||
### [Aftman](https://github.com/LPGhatguy/aftman) <small>(Preferred)</small> | ||
Run the `aftman add` command within your project directory. This will add `rbxcloud` to the project's `aftman.toml` file (or create one if it doesn't yet exist). | ||
```sh | ||
$ aftman add Sleitnick/rbxcloud@0.2.2 | ||
``` | ||
|
||
Next, run `aftman install` to install `rbxcloud`. | ||
|
||
### [Foreman](https://github.com/Roblox/foreman) | ||
Add `rbxcloud` under the `[tools]` section of your `foreman.toml` file. | ||
```toml | ||
# foreman.toml | ||
[tools] | ||
rbxcloud = { github = "Sleitnick/rbxcloud", version = "0.2.2" } | ||
``` | ||
|
||
Next, run `foreman install` to install `rbxcloud`. | ||
|
||
??? info "Legacy" | ||
Aftman is preferred over Foreman. For more information, see the [Aftman](https://github.com/LPGhatguy/aftman) GitHub repository. | ||
|
||
### [Releases](https://github.com/Sleitnick/rbxcloud/releases) | ||
A few prebuilt binaries are compiled and attached to each release. | ||
|
||
1. Go to the [`releases`](https://github.com/Sleitnick/rbxcloud/releases) page | ||
1. Navigate to the desired version (e.g. the [latest version](https://github.com/Sleitnick/rbxcloud/releases/latest)) | ||
1. Download and unzip the desired executable | ||
1. Relocate the executable to a more permanent place | ||
1. Change your OS path variable to point to the executable | ||
|
||
## Verify | ||
Run the tool with the `--version` flag to verify the installation succeeded. | ||
```sh | ||
$ rbxcloud --version | ||
``` | ||
# Install | ||
|
||
## Install CLI | ||
|
||
There are a few different ways to install the `rbxcloud` CLI. | ||
|
||
### [Aftman](https://github.com/LPGhatguy/aftman) <small>(Preferred)</small> | ||
Run the `aftman add` command within your project directory. This will add `rbxcloud` to the project's `aftman.toml` file (or create one if it doesn't yet exist). | ||
```sh | ||
$ aftman add Sleitnick/rbxcloud@0.3.0 | ||
``` | ||
|
||
Next, run `aftman install` to install `rbxcloud`. | ||
|
||
### [Foreman](https://github.com/Roblox/foreman) | ||
Add `rbxcloud` under the `[tools]` section of your `foreman.toml` file. | ||
```toml | ||
# foreman.toml | ||
[tools] | ||
rbxcloud = { github = "Sleitnick/rbxcloud", version = "0.3.0" } | ||
``` | ||
|
||
Next, run `foreman install` to install `rbxcloud`. | ||
|
||
??? info "Legacy" | ||
Aftman is preferred over Foreman. For more information, see the [Aftman](https://github.com/LPGhatguy/aftman) GitHub repository. | ||
|
||
### [Releases](https://github.com/Sleitnick/rbxcloud/releases) | ||
A few prebuilt binaries are compiled and attached to each release. | ||
|
||
1. Go to the [`releases`](https://github.com/Sleitnick/rbxcloud/releases) page | ||
1. Navigate to the desired version (e.g. the [latest version](https://github.com/Sleitnick/rbxcloud/releases/latest)) | ||
1. Download and unzip the desired executable | ||
1. Relocate the executable to a more permanent place | ||
1. Change your OS path variable to point to the executable | ||
|
||
## Verify | ||
Run the tool with the `--version` flag to verify the installation succeeded. | ||
```sh | ||
$ rbxcloud --version | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,18 @@ | ||
# Rust Library Installation | ||
|
||
## Add Dependency | ||
|
||
To use `rbxcloud` in a Rust project, simply add `rbxcloud` to the `Cargo.toml` dependency list. | ||
```toml | ||
[dependencies] | ||
rbxcloud = "0.2.2" | ||
``` | ||
|
||
Alternatively, use `cargo add`. | ||
```sh | ||
$ cargo add rbxcloud | ||
``` | ||
|
||
## Documentation | ||
|
||
See the [docs.rs](https://docs.rs/rbxcloud/latest/rbxcloud/) page for documentation. | ||
# Rust Library Installation | ||
|
||
## Add Dependency | ||
|
||
To use `rbxcloud` in a Rust project, simply add `rbxcloud` to the `Cargo.toml` dependency list. | ||
```toml | ||
[dependencies] | ||
rbxcloud = "0.3.0" | ||
``` | ||
|
||
Alternatively, use `cargo add`. | ||
```sh | ||
$ cargo add rbxcloud | ||
``` | ||
|
||
## Documentation | ||
|
||
See the [docs.rs](https://docs.rs/rbxcloud/latest/rbxcloud/) page for documentation. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.