Setup Auth0 & AWS related resources needed to run Targabay.
- Install Pulumi
- Change directory into
libs/pulumi
cd libs/pulumi
- Allow direnv to read the .env file within the directory
direnv allow
- Create a
.env
file similar to.env.example
- Create a new tenant in Auth0.
- Create a machine-to-machine client with all permissions within that tenant
- Copy over the auth0 domain, client_id and client secret into .env file or set them via
pulumi config set ...
- Create an administrative user or user with permissions to manage S3, IAM and SES resources and copy over the access key and secret into the .env file or set them via
pulumi config set ...
- (Optional) Google auth client id and secret needed for Auth0 Login and update the .env file
- To create the resources via Pulumi
pnpm deploy
# or
pulumi up
- Once the resources are created, you will need to head over to aws IAM and Auth0 to retrieve the secrets and access keys needed to run Targabay.
- Assign
Administrator
role for your user via Auth0 console UI. - (Optional) Configure Imagekit with the S3. Head over to AWS IAM to create access key and secret for the Imagekit user created. Use those credentials along with s3 bucket name to create an external storage in Imagekit.
- Start the development server for react email
pnpm email-dev
- After updating the emails, to generate the new templates
pnpm email-export-html && pnpm email-export-text
- Upload the templates to SES
pnpm deploy
# or
pulumi up