Skip to content

Commit 0b8951d

Browse files
committed
chatgpt review
1 parent 6813e5a commit 0b8951d

9 files changed

+56
-54
lines changed
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
The [Kool Cloud](https://kool.dev/cloud) supports a wide range of features designed to suit your needs for deploying containerized web applications. It supports features such as **persisting folders** across deployments, running **daemons** as extra containers, scheduling commands like **cron jobs**, adding **hooks to run before or after** deployment, **viewing logs** of running container, accessing the running container **interactively**, and much more.
1+
The [Kool Cloud](https://kool.dev/cloud) supports a wide range of features designed to suit your needs for deploying containerized web applications. It includes features such as **persisting folders** across deployments, running **daemons** as extra containers, scheduling commands like **cron jobs**, adding **hooks to run before or after** deployment, **viewing logs** of running containers, accessing the running container **interactively**, and much more.
22

33
The Kool.dev Cloud API was designed with the best developer experience in mind for deploying containers to the cloud. By leveraging your existing local environment structure in `docker-compose.yml` and adding a sane and intuitive configuration layer that will feel familiar from the first sight, our goal is to provide a best-in-class offering for cloud platform engineering. This platform allows you to leverage Kubernetes and orchestrate your web applications in the cloud without all the hassle.
44

5-
> **Enterprise**: you can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:[email protected]) for the **"Bring your Own Cloud"** offer.
5+
> **Enterprise**: You can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:[email protected]) for the **"Bring your Own Cloud"** offer.
66
7-
**kool cloud** is the CLI suite of commands that allows you to configure, deploy, access, and tail logs from the applications to the cloud via the Kool.dev Cloud API.
7+
**Kool Cloud** is the CLI suite of commands that allows you to configure, deploy, access, and tail logs from the applications to the cloud via the Kool.dev Cloud API.
88

99
## Deploy Docker Compose-based, containerized apps in just a few simple steps
1010

@@ -13,21 +13,21 @@ The Kool.dev Cloud API was designed with the best developer experience in mind f
1313
- `echo "KOOL_API_TOKEN=<my-token>" >> .env`
1414
- Or you can store your token in a real environment variable:
1515
- `export KOOL_API_TOKEN="<my token>"`
16-
1. Configure your deployment with files directly in your application root folder. For that you can use [`kool cloud setup`](TODO:cloud-setup) to help guide you creating the following files:
16+
1. Configure your deployment with files directly in your application root folder. For that, you can use [`kool cloud setup`](/docs/commands-reference/kool-cloud-setup) to help guide you in creating the following files:
1717
- `kool.deploy.yml` - a "mirror" of your `docker-compose.yml` file, with extra pieces of data for customizing your cloud deployment.
1818
- `Dockerfile` - usually, you are going to need to build your app for deployment if you haven't already.
19-
- Make sure you set up the necessary [environment variables](TODO:envs) for your app to run in the cloud.
19+
- Make sure you set up the necessary [environment variables](/docs/kool-cloud/environment-variables) for your app to run in the cloud.
2020
1. Deploy your application
2121
- Run `kool cloud deploy --domain=<your domain>` - this will validate and deploy your application.
2222
- Wait for it to finish and then access the provided deployment URL!
2323
1. Doing more
2424
- **View logs**
2525
- `kool cloud logs` - you can check the logs of your deployed containers.
2626
- **Access running containers (like SSH-ing in)**
27-
- `kool cloud exec` - you can execute commands, including interactive TTY sessions, within your cloud-deployed containers. For example: `kool cloud exec app bash` to open a bash in my running container in the cloud.
27+
- `kool cloud exec` - you can execute commands, including interactive TTY sessions, within your cloud-deployed containers. For example, `kool cloud exec app bash` to open a bash in my running container in the cloud.
2828

2929
---
3030

3131
Reference:
3232

33-
- [`kool.deploy.yml` Reference](/docs/02-Kool-Cloud/20-kool.deploy.yml-Reference.md)
33+
- [`kool.deploy.yml` Reference](/docs/kool-cloud/kool.deploy.yml-reference)

docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
This topic is usually the biggest source or problems and trial and error frustrations when deploying cloud native applications for the first time.
1+
This topic is usually the biggest source of problems and trial-and-error frustrations when deploying cloud-native applications for the first time.
22

3-
As much as the Kool.dev project and the whole community tries to help and facilitate container images building, it is a times ultimately an individual and singular process for your web application.
3+
As much as the Kool.dev project and the whole community try to help and facilitate container image building, it is at times ultimately an individual and singular process for your web application.
44

5-
That being said there's no scape from having some knowledge on how to properly build your images to deploy your app to the cloud - or at least seek such knowledgable hands to assist your in this moment.
5+
That being said, there's no escape from having some knowledge of how to properly build your images to deploy your app to the cloud—or at least seek such knowledgeable hands to assist you in this moment.
6+
7+
For the most basic cases — like if you are using one of our presets — you will have a great starting point by using our utility along with `kool cloud setup`. This command will inquire about basic options for building your container images.
68

7-
For the most basic cases - like if you are using one of our presets - you will have a great start point by using our utility along `kool cloud setup` - this command will inquiry you about basic options on building your container images.
89

910
### `kool cloud deploy` building images
1011

11-
`kool` CLI is going to handle the build of your images locally - in your own host system. That means it's required that the environment where you are going to run `kool cloud deploy` have a working Docker-like engine running that can process successfully a `docker build ...` command.
12+
The `kool` CLI is going to handle the build of your images locallyin your own host system. That means it's required that the environment where you are going to run `kool cloud deploy` has a working Docker-like engine running that can successfully process a `docker build ...` command.
1213

13-
The syntax configuration for building your deploy image for a given service on `kool.cloud.yml` is the very same as you use it locally on `docker-compose.yml`:
14+
The syntax configuration for building your deploy image for a given service in `kool.cloud.yml` is the very same as you use it locally in `docker-compose.yml`:
1415

1516
Check out the [Docker Compose `build` Documentation](https://docs.docker.com/compose/compose-file/compose-file-v3/#build) for reference.
1617

@@ -34,11 +35,11 @@ services:
3435
buildno: 1 # define values for ARGS used in your Dockerfile
3536
```
3637
37-
Your image will be built locally when running the `kool` CLI for a deploy, and then pushed securely to Kool.dev Cloud registry to a repository dedicated to your app environment.
38+
Your image will be built locally when running the `kool` CLI for a deploy and then pushed securely to the Kool.dev Cloud registry to a repository dedicated to your app environment.
3839

3940
### Using a Private Registry
4041

41-
You may already have or use your own private registry for handling images. You are welcome to hold the build process apart from the `kool cloud deploy` step, and just use the already built images in your `kool.cloud.yml` file:
42+
You may already have or use your own private registry for handling images. You are welcome to hold the build process apart from the `kool cloud deploy` step and just use the already built images in your `kool.cloud.yml` file:
4243

4344
```yaml
4445
services:
@@ -47,4 +48,5 @@ services:
4748
image: myrepo-registry/my-built-image
4849
```
4950

50-
If that registry is private you need to provide Kool.dev Cloud with credentials to read from that repo. As this is not yet fully automated you can [ping us via email to `[email protected]`]([email protected]) to set it up for you.
51+
If that registry is private, you need to provide Kool.dev Cloud with credentials to read from that repo. As this is not yet fully automated, you can [contact us via email at `[email protected]`]([email protected]) to set it up for you.
52+

docs/02-Kool-Cloud/05-Environment-Variables.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Most application and frameworks nowadays will rely on environment variables to configure important aspects of its functions, mainly providing credentials and other secrets your app need to work and access other resources.
1+
Most applications and frameworks nowadays rely on environment variables to configure important aspects of their functions, mainly providing credentials and other secrets your app needs to work and access other resources.
22

3-
Kool.dev Cloud supports a few different ways you can define your environment variables for a given deploying container, so pick the one that best suits you.
3+
Kool.dev Cloud supports a few different ways you can define your environment variables for a deploying container, so pick the one that best suits you.
44

55
### Using `kool.deploy.env` file for deploy
66

@@ -13,9 +13,9 @@ services:
1313
environment: kool.deploy.env
1414
```
1515
16-
Upong deployment, all of the variables within that file will be parsed, placeholders replaced - if you have any - and then **each variable will become a real environment variables in the running container**.
16+
Upon deployment, all of the variables within that file will be parsed, placeholders replacedif you have anyand then **each variable will become a real environment variable in the running container**.
1717
18-
This option is usually best suited for automated CI routines since you work your way to have a different `kool.deploy.env` file for each of your deploying environments (i.e staging and production).
18+
This option is usually best suited for automated CI routines since you work your way to have a different `kool.deploy.env` file for each of your deploying environments (i.e., staging and production).
1919

2020
### Using a plain YAML object for environment variables
2121

@@ -31,7 +31,7 @@ You can simply use a YAML map of values that will become your environment variab
3131

3232
### Build a `.env` file inside the running container
3333

34-
If you application does rely and requires a `.env` file existing in the running container you may achieve so by using the `env:` entry:
34+
If your application does rely on and requires a `.env` file existing in the running container, you may achieve so by using the `env:` entry:
3535

3636
```yaml
3737
services:
@@ -44,4 +44,4 @@ services:
4444
target: .env
4545
```
4646

47-
This is useful for apps that have require the .env file, but you do not wish to have that built into your Docker image itself.
47+
This is useful for apps that require the .env file, but you do not wish to have that built into your Docker image itself.

docs/02-Kool-Cloud/07-Domains-and-HTTPS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
All deployed environments will run under HTTPS. Kool.dev Cloud will automatically generate certificates for your environment the first time it is deployed using Let'sEncrypt engine.
1+
All deployed environments will run under HTTPS. Kool.dev Cloud will automatically generate certificates for your environment the first time it is deployed using the Let'sEncrypt engine.
22

33
You always need to provide the environment domain when running a deploy.
44

@@ -15,10 +15,10 @@ Important to notice: if you deploy to a new domain that doesn't currently exist
1515

1616
### Test deployment domains
1717

18-
You are welcome to use a subdomain like `my-super-app.kool.cloud` on your staging or development environments. By using that you will have HTTPS certificates up and running instantly for that environment after first deploy.
18+
You are welcome to use a subdomain like `my-super-app.kool.cloud` on your staging or development environments. By using that, you will have HTTPS certificates up and running instantly for that environment after the first deploy.
1919

2020
### Production and custom domains
2121

2222
When you create an environment to be deployed using your own custom domain name, you will need to check out in the Kool.dev Cloud panel for that environment the instructions to where to point your A/CNAME for that domain.
2323

24-
HTTPS certificates will only be successfully generated once the DNS is correctly pointing your domain to Kool.dev Cloud.
24+
HTTPS certificates will only be successfully generated once the DNS is correctly pointing your domain to Kool.dev Cloud.
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
Most of time the web applications you are going to deploy will usually have its own companying database.
1+
Most of the time, the web applications you are going to deploy will usually have their accompanying database.
22

3-
Kool.dev Cloud offers two ways for you do deploy your databases.
3+
Kool.dev Cloud offers two ways for you to deploy your databases:
44

55
1. Deploy databases as regular containers.
6-
1. Use a managed database on a shared structure.
7-
1. Use a dedicated Database Custom Resource (i.e RDS dedicated instance).
6+
2. Use a managed database on a shared structure.
7+
3. Use a dedicated Database Custom Resource (i.e., RDS dedicated instance).
88

9-
All of this options come with basic daily backup routines for your safety.
9+
All of these options come with basic daily backup routines for your safety.
1010

1111
### Deploy Databases as Regular Containers
1212

13-
Deploying a container that is going to run your database is pretty straight forward - just like your have it in your local `docker-compose.yml` for your local environment, you can deploy that very same container. The benefit of this is you have full control at your container configuration and can use any type of database.
13+
Deploying a container that is going to run your database is pretty straightforward—just like you have it in your local `docker-compose.yml` for your local environment, you can deploy that very same container. The benefit of this is you have full control over your container configuration and can use any type of database.
1414

1515
#### Caveats of deploying databases on containers are
1616

17-
- **Persistent disk storage**: by default deployed containers are ephemeral and DO NOT have any disk persistent storage. This may cause problems if you deploy a database and upon restart, all your data is lost. **You must make sure to incoude in your container deploy configuration a `persistent` disk storage**, so upon restarts your data is kept safe and is no longer ephemeral.
18-
- **Environment variables**: your database image may require specific environment variables to determine credentials and other settings. You need to make sure you set them correctly, different than your local ones.
17+
- **Persistent disk storage**: by default, deployed containers are ephemeral and DO NOT have any disk persistent storage. This may cause problems if you deploy a database and upon restart, all your data is lost. **You must make sure to include in your container deploy configuration a `persistent` disk storage**, so upon restarts, your data is kept safe and is no longer ephemeral.
18+
- **Environment variables**: your database image may require specific environment variables to determine credentials and other settings. You need to make sure you set them correctly, different from your local ones.
1919

20-
### Managed Database in shared structure
20+
### Managed Database in a Shared Structure
2121

22-
This option is the easiest to get started - but currently only supports MySQL 8 database deployments.
22+
This option is the easiest to get started with but currently only supports MySQL 8 database deployments.
2323

24-
If you have a MySQL database in your `docker-compose.yml`, you can just assign that service the `cloud: true` on your `kool.cloud.yml` and Kool.dev Cloud is going to setup a new database on a running shared RDS instance.
24+
If you have a MySQL database in your `docker-compose.yml`, you can just assign that service the `cloud: true` on your `kool.cloud.yml`, and Kool.dev Cloud is going to set up a new database on a running shared RDS instance.
2525

26-
This managed options will provide you with variables placeholders for you to get a hold of the credentials automatically generated as well as the database name/host.
26+
This managed option will provide you with variable placeholders for you to get a hold of the credentials automatically generated as well as the database name/host.
2727

2828
Here is the list of Kool.dev variables placeholders available and how you would use them in your environment variables definition to use the managed database:
2929

@@ -35,18 +35,18 @@ DB_USERNAME="{{KOOL_DATABASE_USERNAME}}"
3535
DB_PASSWORD="{{KOOL_DATABASE_PASSWORD}}"
3636
```
3737

38-
The placeholders always have the `{{PLACEHOLDER}}` syntax. When used anywhere in your `kool.cloud.yml` configuration they are going to be replaced by their managed values when deploying.
38+
The placeholders always have the `{{PLACEHOLDER}}` syntax. When used anywhere in your `kool.cloud.yml` configuration, they are going to be replaced by their managed values when deploying.
3939

4040
#### Caveats of using managed shared database
4141

42-
- Currently **only supports MySQL 8** deployments.
43-
- Being a shared resource, top performance is not guarenteed (unless you have it running in your own Cloud vendor account in the Enterprise offer).
42+
- Currently, **only supports MySQL 8** deployments.
43+
- Being a shared resource, top performance is not guaranteed (unless you have it running in your own Cloud vendor account in the Enterprise offer).
4444
- Best suited for development and staging workloads.
4545

4646
### Dedicated Database Resource
4747

48-
You can have any sort of custom resource for your application, including dedicated databases (i.e RDS or ElastiCache).
48+
You can have any sort of custom resource for your application, including dedicated databases (i.e., RDS or ElastiCache).
4949

50-
As this is not yet fully automated you need to [contact our support to set it up](mailto:[email protected]) for you in your account.
50+
As this is not yet fully automated, you need to [contact our support to set it up](mailto:[email protected]) for you in your account.
5151

52-
One of the benefits is having total control of your set up not only on disk/computing performance, but as well as tailored backup and replication options.
52+
One of the benefits is having total control of your setup not only on disk/computing performance but as well as tailored backup and replication options.

docs/02-Kool-Cloud/10-Persistent-Storage.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Containers were built to be ephemeral - and that is how we like them and how Kubernetes and all other container orchestrators usually work the best with them as well.
1+
Containers were built to be ephemeraland that is how we like them and how Kubernetes and all other container orchestrators usually work the best with them as well.
22

3-
But at times we know that tradicional web applications may not be ready to switch to network-based object storage instead of local disk storage.
3+
But at times, we know that traditional web applications may not be ready to switch to network-based object storage instead of local disk storage.
44

55
Kool.dev Cloud does offer you the ability to create persisted paths within your deployed containers.
66

0 commit comments

Comments
 (0)