Skip to content

Commit

Permalink
Deploy in sydney
Browse files Browse the repository at this point in the history
  • Loading branch information
Pixcell committed Aug 9, 2024
1 parent 6684ba5 commit 2f84f8b
Show file tree
Hide file tree
Showing 21 changed files with 44 additions and 44 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
poetry install
- name: Run Uvicorn
env:
AWS_DEFAULT_REGION: us-east-1
AWS_DEFAULT_REGION: ap-southeast-2
run: |
cd backend
timeout 10s poetry run uvicorn app.main:app --host 0.0.0.0 --port 8000 &
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-redoc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Set Environment Variables
run: |
echo "AWS_DEFAULT_REGION=us-east-1" >> $GITHUB_ENV
echo "AWS_DEFAULT_REGION=ap-southeast-2" >> $GITHUB_ENV
echo "PUBLISHED_API_ID=api_id" >> $GITHUB_ENV
- name: Start FastAPI server
Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Add your own instruction and give external knowledge as URL or files (a.k.a [RAG
![](./docs/imgs/bot_api_publish_screenshot3.png)

> [!Important]
> For governance reasons, only allowed users are able to create customized bots. To allow the creation of customized bots, the user must be a member of group called `CreatingBotAllowed`, which can be set up via the management console > Amazon Cognito User pools or aws cli. Note that the user pool id can be referred by accessing CloudFormation > BedrockChatStack > Outputs > `AuthUserPoolIdxxxx`.
> For governance reasons, only allowed users are able to create customized bots. To allow the creation of customized bots, the user must be a member of group called `CreatingBotAllowed`, which can be set up via the management console > Amazon Cognito User pools or aws cli. Note that the user pool id can be referred by accessing CloudFormation > AishaBedrockChatStack > Outputs > `AuthUserPoolIdxxxx`.
### Administrator dashboard

Expand Down Expand Up @@ -63,7 +63,7 @@ By using the [Agent functionality](./docs/AGENT.md), your chatbot can automatica

## 🚀 Super-easy Deployment

- In the us-east-1 region, open [Bedrock Model access](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess) > `Manage model access` > Check `Anthropic / Claude 3 Haiku`, `Anthropic / Claude 3 Sonnet`, `Anthropic / Claude 3.5 Sonnet` and `Cohere / Embed Multilingual` then `Save changes`.
- In the ap-southeast-2 region, open [Bedrock Model access](https://ap-southeast-2.console.aws.amazon.com/bedrock/home?region=ap-southeast-2#/modelaccess) > `Manage model access` > Check `Anthropic / Claude 3 Haiku`, `Anthropic / Claude 3 Sonnet`, `Anthropic / Claude 3.5 Sonnet` and `Cohere / Embed Multilingual` then `Save changes`.

<details>
<summary>Screenshot</summary>
Expand Down Expand Up @@ -93,7 +93,7 @@ You can specify the following parameters during deployment to enhance security a
- **--ipv6-ranges**: Comma-separated list of allowed IPv6 ranges. (default: allow all ipv6 addresses)
- **--disable-ipv6**: Disable connections over IPv6. (default: enabled)
- **--allowed-signup-email-domains**: Comma-separated list of allowed email domains for sign-up. (default: no domain restriction)
- **--bedrock-region**: Define the region where bedrock is available. (default: us-east-1)
- **--bedrock-region**: Define the region where bedrock is available. (default: ap-southeast-2)
- **--version**: The version of Bedrock Claude Chat to deploy. (default: latest version in development)

#### Example command with parameters:
Expand Down Expand Up @@ -164,10 +164,10 @@ npm ci
npm i -g aws-cdk
```

- Before deploying the CDK, you will need to work with Bootstrap once for the region you are deploying to. In this example, we will deploy to the us-east-1 region. Please replace your account id into `<account id>`.
- Before deploying the CDK, you will need to work with Bootstrap once for the region you are deploying to. In this example, we will deploy to the ap-southeast-2 region. Please replace your account id into `<account id>`.

```
cdk bootstrap aws://<account id>/us-east-1
cdk bootstrap aws://<account id>/ap-southeast-2
```

- If necessary, edit the following entries in [cdk.json](./cdk/cdk.json) if necessary.
Expand All @@ -181,18 +181,18 @@ cdk bootstrap aws://<account id>/us-east-1
cdk deploy --require-approval never --all
```

- You will get output similar to the following. The URL of the web app will be output in `BedrockChatStack.FrontendURL`, so please access it from your browser.
- You will get output similar to the following. The URL of the web app will be output in `AishaBedrockChatStack.FrontendURL`, so please access it from your browser.

```sh
BedrockChatStack
AishaBedrockChatStack

✨ Deployment time: 78.57s

Outputs:
BedrockChatStack.AuthUserPoolClientIdXXXXX = xxxxxxx
BedrockChatStack.AuthUserPoolIdXXXXXX = ap-northeast-1_XXXX
BedrockChatStack.BackendApiBackendApiUrlXXXXX = https://xxxxx.execute-api.ap-northeast-1.amazonaws.com
BedrockChatStack.FrontendURL = https://xxxxx.cloudfront.net
AishaBedrockChatStack.AuthUserPoolClientIdXXXXX = xxxxxxx
AishaBedrockChatStack.AuthUserPoolIdXXXXXX = ap-northeast-1_XXXX
AishaBedrockChatStack.BackendApiBackendApiUrlXXXXX = https://xxxxx.execute-api.ap-northeast-1.amazonaws.com
AishaBedrockChatStack.FrontendURL = https://xxxxx.cloudfront.net
```

## Others
Expand Down Expand Up @@ -225,7 +225,7 @@ DEFAULT_GENERATION_CONFIG = {

### Remove resources

If using cli and CDK, please `cdk destroy`. If not, access [CloudFormation](https://console.aws.amazon.com/cloudformation/home) and then delete `BedrockChatStack` and `FrontendWafStack` manually. Please note that `FrontendWafStack` is in `us-east-1` region.
If using cli and CDK, please `cdk destroy`. If not, access [CloudFormation](https://console.aws.amazon.com/cloudformation/home) and then delete `AishaBedrockChatStack` and `FrontendWafStack` manually. Please note that `FrontendWafStack` is in `ap-southeast-2` region.

### Stopping Vector DB for RAG

Expand Down
2 changes: 1 addition & 1 deletion backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ poetry install
export TABLE_NAME=BedrockChatStack-DatabaseConversationTablexxxx
export ACCOUNT=yyyy
export REGION=ap-northeast-1
export BEDROCK_REGION=us-east-1
export BEDROCK_REGION=ap-southeast-2
export DOCUMENT_BUCKET=bedrockchatstack-documentbucketxxxxxxx
export LARGE_MESSAGE_BUCKET=bedrockchatstack-largemessagebucketxxx
export USER_POOL_ID=xxxxxxxxx
Expand Down
2 changes: 1 addition & 1 deletion backend/app/bedrock.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

logger = logging.getLogger(__name__)

BEDROCK_REGION = os.environ.get("BEDROCK_REGION", "us-east-1")
BEDROCK_REGION = os.environ.get("BEDROCK_REGION", "ap-southeast-2")
ENABLE_MISTRAL = os.environ.get("ENABLE_MISTRAL", "") == "true"
DEFAULT_GENERATION_CONFIG = (
DEFAULT_MISTRAL_GENERATION_CONFIG
Expand Down
2 changes: 1 addition & 1 deletion backend/app/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class EmbeddingConfig(TypedDict):
# NOTE: The following is based on 2024-03-07
# See: https://aws.amazon.com/bedrock/pricing/
BEDROCK_PRICING = {
"us-east-1": {
"ap-southeast-2": {
"claude-instant-v1": {
"input": 0.00080,
"output": 0.00240,
Expand Down
4 changes: 2 additions & 2 deletions backend/app/repositories/usage_analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from app.repositories.custom_bot import find_public_bots_by_ids
from app.repositories.models.usage_analysis import UsagePerBot, UsagePerUser

REGION = os.environ.get("REGION", "us-east-1")
REGION = os.environ.get("REGION", "ap-southeast-2")
USAGE_ANALYSIS_DATABASE = os.environ.get(
"USAGE_ANALYSIS_DATABASE", "bedrockchatstack_usage_analysis"
)
Expand All @@ -21,7 +21,7 @@
USAGE_ANALYSIS_OUTPUT_LOCATION = os.environ.get(
"USAGE_ANALYSIS_OUTPUT_LOCATION", "s3://bedrockchatstack-athena-results"
)
USER_POOL_ID = os.environ.get("USER_POOL_ID", "us-east-1_XXXXXXXXX")
USER_POOL_ID = os.environ.get("USER_POOL_ID", "ap-southeast-2_XXXXXXXXX")
QUERY_LIMIT = 1000


Expand Down
2 changes: 1 addition & 1 deletion backend/app/usecases/publication.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from app.utils import start_codebuild_project

logger = logging.getLogger(__name__)
REGION = os.environ.get("REGION", "us-east-1")
REGION = os.environ.get("REGION", "ap-southeast-2")


def _fetch_bot_with_permission_check(user: User, bot_id: str) -> BotModel:
Expand Down
4 changes: 2 additions & 2 deletions backend/app/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

logger = logging.getLogger(__name__)

REGION = os.environ.get("REGION", "us-east-1")
BEDROCK_REGION = os.environ.get("BEDROCK_REGION", "us-east-1")
REGION = os.environ.get("REGION", "ap-southeast-2")
BEDROCK_REGION = os.environ.get("BEDROCK_REGION", "ap-southeast-2")
PUBLISH_API_CODEBUILD_PROJECT_NAME = os.environ.get(
"PUBLISH_API_CODEBUILD_PROJECT_NAME", ""
)
Expand Down
2 changes: 1 addition & 1 deletion backend/embedding/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

BEDROCK_REGION = os.environ.get("BEDROCK_REGION", "us-east-1")
BEDROCK_REGION = os.environ.get("BEDROCK_REGION", "ap-southeast-2")
RETRIES_TO_INSERT_TO_POSTGRES = 4
RETRY_DELAY_TO_INSERT_TO_POSTGRES = 2
RETRIES_TO_UPDATE_SYNC_STATUS = 4
Expand Down
2 changes: 1 addition & 1 deletion backend/tests/test_usecases/test_chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,7 @@ def test_insert_knowledge(self):
for x in [
{
"bot_id": "bot_bb ",
"content": "73\n\nその他リソース\n\nサービス概要: https://aws.amazon.com/jp/opensearch-service/features/serverless/\n\nよくある質問: https://aws.amazon.com/opensearch-service/faqs/#Serverless\n\n料金: https://aws.amazon.com/opensearch-\n\nservice/pricing/?nc1=h_ls#Amazon_OpenSearch_Serverless\n\nドキュメント: https://docs.aws.amazon.com/opensearch- service/latest/developerguide/serverless.html\n\nOpenSearch Service と OpenSearch Serverless の比較:\n\nhttps://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless- overview.html#serverless-comparison\n\nワークショップ: https://catalog.us-east-1.prod.workshops.aws/workshops/f8d2c175- 634d-4c5d-94cb-d83bbc656c6a\n\n© 2023, Amazon Web Services, Inc. or its affiliates.\n\n74\n\n本資料に関するお問い合わせ・ご感想\n\n技術的な内容に関しましては、有料のAWSサポート窓口へ お問い合わせください\n\nhttps://aws.amazon.com/jp/premiumsupport/\n\n料金面でのお問い合わせに関しましては、カスタマーサポート窓口へ お問い合わせください(マネジメントコンソールへのログインが必要です)\n\nhttps://console.aws.amazon.com/support/home#/case/create?issueType=customer- service\n\n具体的な案件に対する構成相談は、後述する個別相談会をご活用ください",
"content": "73\n\nその他リソース\n\nサービス概要: https://aws.amazon.com/jp/opensearch-service/features/serverless/\n\nよくある質問: https://aws.amazon.com/opensearch-service/faqs/#Serverless\n\n料金: https://aws.amazon.com/opensearch-\n\nservice/pricing/?nc1=h_ls#Amazon_OpenSearch_Serverless\n\nドキュメント: https://docs.aws.amazon.com/opensearch- service/latest/developerguide/serverless.html\n\nOpenSearch Service と OpenSearch Serverless の比較:\n\nhttps://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless- overview.html#serverless-comparison\n\nワークショップ: https://catalog.ap-southeast-2.prod.workshops.aws/workshops/f8d2c175- 634d-4c5d-94cb-d83bbc656c6a\n\n© 2023, Amazon Web Services, Inc. or its affiliates.\n\n74\n\n本資料に関するお問い合わせ・ご感想\n\n技術的な内容に関しましては、有料のAWSサポート窓口へ お問い合わせください\n\nhttps://aws.amazon.com/jp/premiumsupport/\n\n料金面でのお問い合わせに関しましては、カスタマーサポート窓口へ お問い合わせください(マネジメントコンソールへのログインが必要です)\n\nhttps://console.aws.amazon.com/support/home#/case/create?issueType=customer- service\n\n具体的な案件に対する構成相談は、後述する個別相談会をご活用ください",
"source": "https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AmazonOpenSearchServerless_0131_v1.pdf",
"rank": 0,
},
Expand Down
2 changes: 1 addition & 1 deletion backend/tests/test_utils/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_get_bedrock_client_default(self):
LOGGER.debug("Region: ")
LOGGER.debug(reg)

assert reg == "us-east-1"
assert reg == "ap-southeast-2"

def test_get_bedrock_client_alt(self):
from app.utils import get_bedrock_client
Expand Down
2 changes: 1 addition & 1 deletion bin.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ IPV4_RANGES=""
IPV6_RANGES=""
DISABLE_IPV6="false"
ALLOWED_SIGN_UP_EMAIL_DOMAINS=""
BEDROCK_REGION="us-east-1"
BEDROCK_REGION="ap-southeast-2"
VERSION="v1"

# Parse command-line arguments for customization
Expand Down
4 changes: 2 additions & 2 deletions cdk/bin/bedrock-chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ const NATGATEWAY_COUNT: number = app.node.tryGetContext("natgatewayCount");
// WAF for frontend
// 2023/9: Currently, the WAF for CloudFront needs to be created in the North America region (us-east-1), so the stacks are separated
// https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html
const waf = new FrontendWafStack(app, `FrontendWafStack`, {
const waf = new FrontendWafStack(app, `AishaFrontendWafStack`, {
env: {
// account: process.env.CDK_DEFAULT_ACCOUNT,
region: "us-east-1",
Expand All @@ -62,7 +62,7 @@ const waf = new FrontendWafStack(app, `FrontendWafStack`, {
allowedIpV6AddressRanges: ALLOWED_IP_V6_ADDRESS_RANGES,
});

const chat = new BedrockChatStack(app, `BedrockChatStack`, {
const chat = new BedrockChatStack(app, `AishaBedrockChatStack`, {
env: {
// account: process.env.CDK_DEFAULT_ACCOUNT,
region: process.env.CDK_DEFAULT_REGION,
Expand Down
6 changes: 3 additions & 3 deletions cdk/cdk.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,16 @@
"@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
"@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
"enableMistral": false,
"bedrockRegion": "us-east-1",
"bedrockRegion": "ap-southeast-2",
"allowedIpV4AddressRanges": ["0.0.0.0/1", "128.0.0.0/1"],
"allowedIpV6AddressRanges": [
"0000:0000:0000:0000:0000:0000:0000:0000/1",
"8000:0000:0000:0000:0000:0000:0000:0000/1"
],
"identityProviders": [],
"userPoolDomainPrefix": "",
"allowedSignUpEmailDomains": [],
"autoJoinUserGroups": ["CreatingBotAllowed"],
"allowedSignUpEmailDomains": ["dius.com.au"],
"autoJoinUserGroups": [""],
"selfSignUpEnabled": true,
"publishedApiAllowedIpV4AddressRanges": ["0.0.0.0/1", "128.0.0.0/1"],
"publishedApiAllowedIpV6AddressRanges": [
Expand Down
2 changes: 1 addition & 1 deletion cdk/lib/bedrock-chat-stack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export interface BedrockChatStackProps extends StackProps {
export class BedrockChatStack extends cdk.Stack {
constructor(scope: Construct, id: string, props: BedrockChatStackProps) {
super(scope, id, {
description: "Bedrock Chat Stack (uksb-1tupboc46)",
description: "Aisha bedrock stack",
...props,
});
const cronSchedule = createCronSchedule(props.rdsSchedules);
Expand Down
4 changes: 2 additions & 2 deletions cdk/lib/frontend-waf-stack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ export class FrontendWafStack extends Stack {
}

if (rules.length > 0) {
const webAcl = new wafv2.CfnWebACL(this, "WebAcl", {
const webAcl = new wafv2.CfnWebACL(this, "AishaWebAcl", {
defaultAction: { block: {} },
name: "FrontendWebAcl",
name: "AishaFrontendWebAcl",
scope: "CLOUDFRONT",
visibilityConfig: {
cloudWatchMetricsEnabled: true,
Expand Down
10 changes: 5 additions & 5 deletions cdk/test/cdk.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ describe("Bedrock Chat Stack Test", () => {
app,
"IdentityProviderGenerateStack",
{
bedrockRegion: "us-east-1",
bedrockRegion: "ap-southeast-2",
crossRegionReferences: true,
webAclId: "",
identityProviders: [
Expand Down Expand Up @@ -78,7 +78,7 @@ describe("Bedrock Chat Stack Test", () => {
app,
"OidcProviderGenerateStack",
{
bedrockRegion: "us-east-1",
bedrockRegion: "ap-southeast-2",
crossRegionReferences: true,
webAclId: "",
identityProviders: [
Expand Down Expand Up @@ -134,7 +134,7 @@ describe("Bedrock Chat Stack Test", () => {
cdk.Aspects.of(app).add(new AwsPrototypingChecks());

const stack = new BedrockChatStack(app, "MyTestStack", {
bedrockRegion: "us-east-1",
bedrockRegion: "ap-southeast-2",
crossRegionReferences: true,
webAclId: "",
identityProviders: [],
Expand Down Expand Up @@ -171,7 +171,7 @@ describe("Scheduler Test", () => {
const app = new cdk.App();

const hasScheduleStack = new BedrockChatStack(app, "HasSchedulesStack", {
bedrockRegion: "us-east-1",
bedrockRegion: "ap-southeast-2",
crossRegionReferences: true,
webAclId: "",
identityProviders: [],
Expand Down Expand Up @@ -215,7 +215,7 @@ describe("Scheduler Test", () => {
test("has'nt schedules", () => {
const app = new cdk.App();
const defaultStack = new BedrockChatStack(app, "DefaultStack", {
bedrockRegion: "us-east-1",
bedrockRegion: "ap-southeast-2",
crossRegionReferences: true,
webAclId: "",
identityProviders: [],
Expand Down
2 changes: 1 addition & 1 deletion deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Parameters:
Default: "[]"
BedrockRegion:
Type: String
Default: "us-east-1"
Default: "ap-southeast-2"
Version:
Type: String
Default: "v1"
Expand Down
6 changes: 3 additions & 3 deletions docs/README_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

## 🚀 まずはお試し

- us-east-1 リージョンにて、[Bedrock Model access](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess) > `Manage model access` > `Anthropic / Claude 3 Haiku`, `Anthropic / Claude 3 Sonnet`, `Anthropic / Claude 3.5 Sonnet` `Cohere / Embed Multilingual`をチェックし、`Save changes`をクリックします
- ap-southeast-2 リージョンにて、[Bedrock Model access](https://ap-southeast-2.console.aws.amazon.com/bedrock/home?region=ap-southeast-2#/modelaccess) > `Manage model access` > `Anthropic / Claude 3 Haiku`, `Anthropic / Claude 3 Sonnet`, `Anthropic / Claude 3.5 Sonnet` `Cohere / Embed Multilingual`をチェックし、`Save changes`をクリックします

<details>
<summary>スクリーンショット</summary>
Expand Down Expand Up @@ -65,7 +65,7 @@ chmod +x bin.sh
- **--ipv6-ranges**: 許可する IPv6 範囲のカンマ区切りリスト。(デフォルト: 全ての IPv6 アドレスを許可)
- **--disable-ipv6**: IPv6 での接続を無効にします (デフォルト: 有効)
- **--allowed-signup-email-domains**: サインアップ時に許可するメールドメインのカンマ区切りリスト。(デフォルト: ドメイン制限なし)
- **--bedrock-region**: Bedrock が利用可能なリージョンを指定します。(デフォルト: us-east-1
- **--bedrock-region**: Bedrock が利用可能なリージョンを指定します。(デフォルト: ap-southeast-2
- **--version**: デプロイする Bedrock Claude Chat のバージョン。 (デフォルト: 開発中の最新バージョン)

#### パラメータを指定したコマンド例:
Expand Down Expand Up @@ -212,7 +212,7 @@ GENERATION_CONFIG = {

### リソースの削除

cli および CDK を利用されている場合、`cdk destroy`を実行してください。そうでない場合は[CloudFormation](https://console.aws.amazon.com/cloudformation/home)へアクセスし、手動で`BedrockChatStack`および`FrontendWafStack`を削除してください。なお`FrontendWafStack``us-east-1` リージョンにあります。
cli および CDK を利用されている場合、`cdk destroy`を実行してください。そうでない場合は[CloudFormation](https://console.aws.amazon.com/cloudformation/home)へアクセスし、手動で`BedrockChatStack`および`FrontendWafStack`を削除してください。なお`FrontendWafStack``ap-southeast-2` リージョンにあります。

### RAG 用ベクトル DB の停止

Expand Down
2 changes: 1 addition & 1 deletion frontend/.env.template
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ VITE_APP_API_ENDPOINT=""
VITE_APP_WS_ENDPOINT=""
VITE_APP_USER_POOL_ID=""
VITE_APP_USER_POOL_CLIENT_ID=""
VITE_APP_REGION="us-east-1"
VITE_APP_REGION="ap-southeast-2"
VITE_APP_REDIRECT_SIGNIN_URL="http://localhost:5173/"
VITE_APP_REDIRECT_SIGNOUT_URL="http://localhost:5173/"
VITE_APP_COGNITO_DOMAIN=""
Expand Down

0 comments on commit 2f84f8b

Please sign in to comment.