SST Console
The SST Console is a web based dashboard to manage your SST apps.
With the Console you can view real-time logs, invoke functions, replay invocations, make queries, run migrations, view uploaded files, query your GraphQL APIs, and more!
Quick start
To use the SST Console in local development:
In your project root, start the Live Lambda Dev environment.
npx sst dev
You'll see something like this once your local environment is ready.
➜ Stage: Jay
➜ Console: https://console.sst.dev/acme/JayHead over to the printed URL or — console.sst.dev
It'll connect to the app you are working on locally. You can read more about how this works below.
Explorers
The SST Console has separate tabs or explorers for managing the different parts of your application.
Logs
View real-time logs from your Live Lambda Dev environment.
Stacks
View all the deployed stacks and resources in your app.
Functions
Invoke the functions in your app and replay invocations.
API
The API explorer lets you make HTTP requests to any of the routes in your Api
and ApiGatewayV1Api
constructs.
Set the headers, query params, request body, and view the function logs in the response.
RDS
The RDS explorer allows you to manage the RDS instance created with the RDS
constructs in your app.
You can use the query editor to run queries. You can also use the migrations panel to view all of your migrations and apply them.
Buckets
The Buckets explorer allows you to manage the S3 Buckets created with the Bucket
constructs in your app.
It allows you to upload, delete, and download files. You can also create and delete folders.
GraphQL
The GraphQL explorer lets you query GraphQL endpoints created with the Api
and AppSyncApi
constructs in your app.
Cognito
The Cognito explorer allows you to manage the User Pools created with the Cognito
constructs in your app.
It allows you to create new users and delete existing users.
DynamoDB
The DynamoDB explorer lets you query the DynamoDB tables in the Table
constructs in your app.
You can scan the table, query specific keys, create and edit items.
Deployed environments
By default the Console connects to the app you are running locally with sst dev
. To use the Console with a deployed environment you'll first need to run the sst console
command.
npx sst console
This will start a server locally and use your local AWS credentials to power the Console.
With this, you can use the Console to manage apps that are in production. In this mode, the Console will display CloudWatch logs instead of ones from your Live Lambda environment.
Support
The SST Console works in all browsers and environments. But for certain browsers like Safari or Brave, and Gitpod, it needs some additional configuration.
Safari and Brave
Certain browsers like Safari and Brave require the local connection between the browser and the sst dev
CLI to be running on HTTPS.
SST integrates with mkcert to automatically generate a self-signed certificate. To set this up:
- Follow the mkcert installation steps.
- Run
mkcert -install
in your terminal. - Restart your browser.
- Restart
sst dev
and navigate to console.sst.dev in the browser.
Gitpod
If you are using Gitpod, you can use the Gitpod Local Companion app to connect to the sst dev
or sst console
process running inside your Gitpod workspace.
To get started:
- Install Gitpod Local Companion app.
- Run the Companion app.
- Navigate to console.sst.dev in the browser.
The companion app runs locally and creates a tunnelled connection to your Gitpod workspace.
How it works
The SST Console is a static single-page app hosted at console.sst.dev.
It uses the local credentials from the SST CLI (sst dev
or sst console
) to make calls to your AWS account.
When the Console starts up, it gets the credentials from a local server that is run as a part of the SST CLI. It also gets some metadata from the app that's running locally. The local server only allows access from localhost
and console.sst.dev
.
The Console then uses these credentials to make calls to AWS using the AWS SDK. For some resources (like S3), the Console will proxy calls through your local CLI to get around the CORS restrictions in the browser.
info
The SST Console requires the SST CLI to be running (either sst dev
or sst console
) to work.
When connected to sst dev
, the Console will display real-time logs from the local invocations of your functions. Whereas, when connected to sst console
, it'll show you the CloudWatch logs for them instead.
The source for the Console can be viewed in the SST GitHub repo.