Skip to content

Commit 97bab02

Browse files
committed
docs tweaks
1 parent 5b8b56c commit 97bab02

File tree

7 files changed

+65
-8
lines changed

7 files changed

+65
-8
lines changed
Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
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.
1+
# Managing domains and HTTPS
22

3-
You always need to provide the environment domain when running a deploy.
3+
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 (via K8S `certmanager`).
4+
5+
## Environment domain
6+
7+
You always need to provide the environment domain when running a deploy. The domain is going to be the key identifier of your environment when accessing it via the Kool CLI.
48

59
```bash
610
kool cloud --token="<my token>" deploy --domain="my-app-domain.com"
@@ -13,12 +17,28 @@ You can provide those values via environment variables as well if that's easier
1317

1418
Important to notice: if you deploy to a new domain that doesn't currently exist in your Kool.dev Cloud panel, that is totally fine and will just create a very new environment for that domain.
1519

16-
### Test deployment domains
20+
## Using multiple domains
21+
22+
Some applications may require serving more than just one domain. This can be easily achieve with Kool.dev Cloud.
23+
24+
When deploying via the CLI, you can specify any number of extra domains that should point to your application:
25+
26+
```bash
27+
kool cloud --token="<my token>" deploy --domain="my-app-domain.com" --domain-extra="another-domain.com"
28+
```
29+
30+
## Using a test deployment domain - `*.kool.cloud`
1731

1832
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.
1933

20-
### Production and custom domains
34+
## Custom domains - DNS records
2135

22-
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.
36+
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 DNS records for that domain.
2337

2438
HTTPS certificates will only be successfully generated once the DNS is correctly pointing your domain to Kool.dev Cloud.
39+
40+
## HTTPS certificates
41+
42+
As stated above for all environments Kool.dev Cloud will trigger LetsEncrypt routines to generate a valid TLS certificate for your environment domain. All that is required for that to succeed is that the used domain points properly to Kool.dev Cloud IP addresses.
43+
44+
That is why it's important to notice that when deploying a custom domain (not a `*.kool.cloud`) your will only work properly after the DNS records point properly to Kool.dev Cloud and the LetsEncrypt process had time to perform the HTTP01 Acme challenge process.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Access cloud containers
2+
3+
You can run new commands on a running container deployed to Kool.dev Cloud.
4+
5+
For that you should use the CLI command:
6+
7+
```bash
8+
kool cloud exec <service> -c <container> -- bash
9+
```
10+
11+
For more details how to use [check out the command documentation]().
File renamed without changes.

docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
# Hooks
2+
13
You have the ability to define hooks to run before or after every deploy you make.
24

35
These hooks will run using the very same image that is being deployed. This is usually needed for common routines, such as running database migrations, sending alerts of updates to some other service, etc.
46

7+
# Before and After
8+
59
To illustrate the options you have in the `kool.cloud.yml` file:
610

711
```yaml
@@ -11,6 +15,7 @@ services:
1115

1216
# The 'before' hook is a special section where we can define commands to be executed
1317
# right before a new deployment happens.
18+
# ATTENTION: current limitation - can only have a 'before' hook after a first deploy has created the environment.
1419
before:
1520
- [ sh, run-database-migrations.sh, arg1, arg2 ]
1621

@@ -20,6 +25,10 @@ services:
2025
- [ sh, run-cache-version-update.sh, arg1, arg2 ]
2126
```
2227
23-
### Failures on lifecycle hooks
28+
## Failures on lifecycle hooks
2429
2530
Please notice that these lifecycle hooks are required for the new deploy to be successful—this means that **if any of them fail**—either `before` or `after` newly deployed container versions are running—**the whole deploy is going to be rolled back**. As you can imagine, this poses a challenge, especially on database migrations since they can be problematic and not backwards compatible with the previously running container version.
31+
32+
## Limitations
33+
34+
The `before` hook can only be used after a first deploy has succeded for your environment - that is a limitation that should be lifted in the future, but currently can halt your first deploy if it includes a `before` hook.
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
Most real-world web applications will go beyond just computing containers with your code—there's a vast myriad of other resources you will eventually need, like dedicated database services (i.e., RDS), replication, object storage (i.e., S3), CDN (i.e., CloudFront), just to name a few.
1+
# Custom Resources
22

3-
The Kool.dev Cloud team is ready to set it up for you when needed—providing you the Infrastructure-as-Code to live close to your application. While this is not built into our panel for self-service usage, you can just [contact us via email with your needs](mailto:[email protected]), and we will work through your request.
3+
Most real-world web applications will go beyond just computing containers with your code — there's a vast myriad of other resources you will eventually need, like dedicated database services (i.e., RDS), replication, object storage (i.e., S3), CDN (i.e., CloudFront), just to name a few.
4+
5+
The Kool.dev Cloud team is ready to set it up for you when needed — providing you the Infrastructure-as-Code to live close to your application. While this is not built into our panel for self-service usage yet, you can just [contact us via email with your needs](mailto:[email protected]), and we will work through your request.
6+
7+
## Bring Your Own Cloud
8+
9+
Important to notice - current cloud scenario is flexible enough where you can use Kool.dev Shared cloud, or hire a dedicated stack fully managed by Kool.dev, or even better - if you want total control and access we can set up the Kool.dev Cloud cluster and resources on your own AWS account. [Contact us](mailto:[email protected]) to learn more about this possibility.
10+
11+
## Consulting
412

513
If you lack the DevOps expertise to determine your needs, we also have consulting services available to best serve you.

docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ services:
110110
#
111111
# The 'before' hook is a special section where we can define commands to be executed
112112
# right before a new deployment happens.
113+
# ATTENTION: this hook can only be used after a first successful deploy happened to
114+
# create the environment in the first place. If used on first deploy, will halt the deploy.
115+
# This limitation should be lifted hopefully soon.
113116
before:
114117
- script_to_run.sh
115118
# The 'after' hook is a special section where we can define procedures to be executed

docs/25-Upgrade-Guide/0-Upgrading-Kool.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,9 @@ Version 3.x introduces two significant changes:
1818

1919
- The YAML syntax for `services.<service>.build` in the `kool.cloud.yml` file must now align with the official Docker Compose reference for the `service.<service>.build` entry.
2020
- Image building now occurs in your local environment—specifically, on the host where you execute `kool cloud deploy`. Therefore, ensure that the environment from which you run this command has a properly configured Docker-image build engine (that means Kool to be able to run `docker build` command).
21+
22+
### Github Action `kool-dev/action`
23+
24+
There's a new version of our official installation GH action `kool-dev/action@v3` - that will always install the latest v3 series release.
25+
26+
The first and now legacy `kool-dev/action@v1` has been updated and froze to its past behavior of installing the latest version regardless of the major version mismatch. That is why `kool-dev/action@v1` will for now on always install the latest v2 series release - currently `2.2.0`.

0 commit comments

Comments
 (0)