Skip to content

Commit

Permalink
Merge branch 'main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
TreehouseFalcon authored Jul 30, 2024
2 parents 96b2f40 + f1ef4e6 commit 2ddba33
Show file tree
Hide file tree
Showing 17 changed files with 1,141 additions and 239 deletions.
51 changes: 46 additions & 5 deletions docs/site/pages/docs/authentication.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ import { Callout, Tabs, Tab } from "nextra-theme-docs";

## Resource management

To manage resources, Mantle requires a valid `.ROBLOSECURITY` cookie value to authenticate all its
requests.
For most resource management, Mantle requires a valid `.ROBLOSECURITY` cookie value to authenticate its
requests. Some resources (like Place Files) require a Roblox Open Cloud API key.

If there is a logged-in Roblox Studio installation, Mantle can automatically
extract its `.ROBLOSECURITY` cookie and will authenticate requests as the user
logged in to Roblox Studio.
### ROBLOSECURITY

If there is a logged-in Roblox Studio installation, Mantle can automatically extract its `.ROBLOSECURITY`
cookie and will authenticate requests as the user logged in to Roblox Studio.

Otherwise, you will have to provide the cookie via an environment variable called `ROBLOSECURITY`.

Expand Down Expand Up @@ -93,6 +94,45 @@ To get your `.ROBLOSECURITY` cookie manually, you have a few options:

</Tabs>

### Roblox Open Cloud API key

Follow the [official Roblox guide](https://create.roblox.com/docs/cloud/open-cloud/api-keys) for creating a
Cloud API key. You must grant the key access to the following services:

* Place Publishing for all experiences you want to manage with Mantle

To authenticate with the Cloud API, you must provide the `MANTLE_OPEN_CLOUD_API_KEY` environment variable. You can
set your environment variable in various ways, like the following:

<Tabs items={["dotenv file", "Windows (PowerShell)", "MacOS/Linux (Bash)"]}>
<Tab>
Create a `.env` file with the contents:

```shell
MANTLE_OPEN_CLOUD_API_KEY="{your api key}"
```

[Learn more →](#dotenv-files)
</Tab>
<Tab>
```ps1
$env:MANTLE_OPEN_CLOUD_API_KEY = "{your api key}"
```

Note that this will be temporary and you will have to reset it whenever you start a new terminal
instance.
</Tab>
<Tab>
```bash
export MANTLE_OPEN_CLOUD_API_KEY = "{your api key}"
```

Note that this will be temporary and you will have to reset it whenever you start a new terminal
instance.
</Tab>

</Tabs>

## Remote state management

Mantle supports managing remote state files using AWS S3 storage which requires authentication. You can
Expand Down Expand Up @@ -182,6 +222,7 @@ After cloning the repo, create a `.env` file in the root of the project, and add
```
MANTLE_AWS_ACCESS_KEY_ID="{your access key id}"
MANTLE_AWS_SECRET_ACCESS_KEY="{your secret access key}"
MANTLE_OPEN_CLOUD_API_KEY="{api key}"
```

You can get the secrets by...
Expand Down
2 changes: 2 additions & 0 deletions docs/site/pages/docs/continuous-deployment.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ This guide assumes:
GitHub will need some secrets in order to deploy your Mantle project. The workflow below uses the following secret names:

- `ROBLOSECURITY` - your Roblox cookie used to manage your Roblox resources
- `MANTLE_OPEN_CLOUD_API_KEY` - your Roblox Open Cloud API key to manage your Roblox resources
- `MANTLE_AWS_ACCESS_KEY_ID` - your AWS access key ID used to manage your remote state file
- `MANTLE_AWS_SECRET_ACCESS_KEY` - your AWS secret access key used to manage your remote state file

Expand Down Expand Up @@ -59,6 +60,7 @@ jobs:
run: mantle deploy
env:
ROBLOSECURITY: ${{ secrets.ROBLOSECURITY }}
MANTLE_OPEN_CLOUD_API_KEY: ${{ secrets.MANTLE_OPEN_CLOUD_API_KEY }}
MANTLE_AWS_ACCESS_KEY_ID: ${{ secrets.MANTLE_AWS_ACCESS_KEY_ID }}
MANTLE_AWS_SECRET_ACCESS_KEY: ${{ secrets.MANTLE_AWS_SECRET_ACCESS_KEY }}
```
Expand Down
3 changes: 2 additions & 1 deletion docs/site/pages/docs/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ Now it's time to deploy your first project! Run `mantle deploy projects/getting-
to deploy the getting started project.

<Callout type="warning">
If you are not currently logged in to Roblox Studio, you will need to provide
You will need to provide a `MANTLE_OPEN_CLOUD_API_KEY` environment variable.
If you are not currently logged in to Roblox Studio, you will also need to provide
a `ROBLOSECURITY` environment variable. You can read more about this in the
[Authentication](/docs/authentication) guide.
</Callout>
Expand Down
Loading

0 comments on commit 2ddba33

Please sign in to comment.