Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Studion Platform common infra components.
## Prerequisites

- Working [Pulumi](https://www.pulumi.com/docs/clouds/aws/get-started/begin/#pulumi-aws-before-you-begin) project
- AWS account with neccessary permissions for each studion component
- AWS account with necessary permissions for each Studion component

## Installation

Expand Down Expand Up @@ -48,7 +48,7 @@ const project = new studion.Project('demo-project', {
export const projectName = project.name;
```

- Deploy pulumi stack
- Deploy Pulumi stack

```bash
$ pulumi up
Expand All @@ -71,7 +71,7 @@ $ pulumi up
Project component makes it really easy to spin up project infrastructure,
hiding infrastructure complexity.
<br>
The component creates its own VPC which is used for resources within the project.
The component creates its own VPC used for resources within the project.

```ts
new Project(name: string, args: ProjectArgs, opts?: pulumi.CustomResourceOptions);
Expand Down Expand Up @@ -102,7 +102,7 @@ type ProjectArgs = {
| Argument | Description |
| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------: |
| services \* | Service list. |
| enableSSMConnect | Setup ec2 instance and SSM in order to connect to the database in the private subnet. Please refer to the [SSM Connect](#ssm-connect) section for more info. |
| enableSSMConnect | Set up ec2 instance and SSM in order to connect to the database in the private subnet. Please refer to the [SSM Connect](#ssm-connect) section for more info. |
| numberOfAvailabilityZones | Default is 2 which is recommended. If building a dev server, we can reduce to 1 availability zone to reduce hosting cost. |

```ts
Expand Down Expand Up @@ -257,7 +257,7 @@ type EcsServiceOptions = {

Often, web server depends on other services such as database, Redis, etc.
For that purpose, environment factory can be used. The factory function
recieves services bag as argument.
receives services bag as argument.

```ts
const project = new studion.Project('demo-project', {
Expand Down Expand Up @@ -287,7 +287,7 @@ const project = new studion.Project('demo-project', {
});
```

In order to pass sensitive information to the container use `secrets` instead of `environment`. AWS will fetch values from
In order to pass sensitive information to the container, use `secrets` instead of `environment`. AWS will fetch values from
Secret Manager based on arn that is provided for the `valueFrom` field.

```ts
Expand Down Expand Up @@ -379,7 +379,7 @@ type DatabaseArgs = {
};
```

If the password is not specified it will be autogenerated.
If the password is not specified, it will be autogenerated.
The database password is stored as a secret inside AWS Secret Manager.
The secret will be available on the `Database` resource as `password.secret`.

Expand Down Expand Up @@ -510,7 +510,7 @@ Features:
- creates TLS certificate for the specified domain
- redirects HTTP traffic to HTTPS
- creates CloudWatch log group
- comes with predefined cpu and memory options: `small`, `medium`, `large`, `xlarge`
- comes with predefined CPU and memory options: `small`, `medium`, `large`, `xlarge`

<br>

Expand Down Expand Up @@ -565,7 +565,7 @@ Features:
- creates TLS certificate for the specified domain
- redirects HTTP traffic to HTTPS
- creates CloudWatch log group
- comes with predefined cpu and memory options: `small`, `medium`, `large`, `xlarge`
- comes with predefined CPU and memory options: `small`, `medium`, `large`, `xlarge`
- CDN in front of the application load balancer for static resource caching

<br>
Expand Down Expand Up @@ -616,7 +616,7 @@ Features:
- persistent storage
- service auto-discovery
- creates CloudWatch log group
- comes with predefined cpu and memory options: `small`, `medium`, `large`, `xlarge`
- comes with predefined CPU and memory options: `small`, `medium`, `large`, `xlarge`

<br>

Expand Down Expand Up @@ -648,7 +648,7 @@ export type MongoArgs = {
```

If the password is not specified it will be autogenerated.
The mongo password is stored as a secret inside AWS Secret Manager.
The Mongo password is stored as a secret inside AWS Secret Manager.
The secret will be available on the `Mongo` resource as `password.secret`.

### Ecs Service
Expand All @@ -658,7 +658,7 @@ AWS ECS Fargate.
Features:

- memory and CPU autoscaling
- service auto discovery
- service auto-discovery
- persistent storage
- CloudWatch logs
- comes with predefined cpu and memory options: `small`, `medium`, `large`, `xlarge`
Expand Down Expand Up @@ -739,7 +739,7 @@ Where `CLUSTER_NAME` is the name of the ECS cluster and `TASK_FAMILY_NAME` is th

## SSM Connect

The [Database](#database) component deploys a database instance inside a isolated subnet,
The [Database](#database) component deploys a database instance inside an isolated subnet,
and it's not publicly accessible from outside of VPC.
<br>
In order to connect to the database we need to deploy the ec2 instance which will be used
Expand Down Expand Up @@ -788,7 +788,7 @@ Now you can use your favorite database client to connect to the database.
![RDS connection](/assets/images/rds-connection.png)

It is important that for the host you set `localhost` and for the port you set `5555`
because we are port forwarding traffic from
because we are port-forwarding traffic from
localhost:5555 to DATABASE_ADDRESS:DATABASE_PORT.
For the user, password, and database field, set values which are set in the `Project`.

Expand Down