From 25c9c7d9f867f77524b7267afbc02079c4b57045 Mon Sep 17 00:00:00 2001 From: fabriciojs Date: Sun, 7 Jan 2024 21:59:35 -0300 Subject: [PATCH 1/6] include to exported docs child commands --- docs.go | 91 ++++++++++++------- .../1-Getting-Started.md | 28 +++--- docs/4-Commands/kool-cloud-deploy.md | 30 ++++++ docs/4-Commands/kool-cloud-destroy.md | 27 ++++++ docs/4-Commands/kool-cloud-exec.md | 34 +++++++ docs/4-Commands/kool-cloud-help.md | 32 +++++++ docs/4-Commands/kool-cloud-logs.md | 36 ++++++++ docs/4-Commands/kool-cloud-setup.md | 27 ++++++ 8 files changed, 258 insertions(+), 47 deletions(-) create mode 100644 docs/4-Commands/kool-cloud-deploy.md create mode 100644 docs/4-Commands/kool-cloud-destroy.md create mode 100644 docs/4-Commands/kool-cloud-exec.md create mode 100644 docs/4-Commands/kool-cloud-help.md create mode 100644 docs/4-Commands/kool-cloud-logs.md create mode 100644 docs/4-Commands/kool-cloud-setup.md diff --git a/docs.go b/docs.go index b8cd9563..86d22e32 100644 --- a/docs.go +++ b/docs.go @@ -5,6 +5,7 @@ package main import ( "bytes" + "errors" "fmt" "kool-dev/kool/commands" "kool-dev/kool/core/shell" @@ -14,6 +15,7 @@ import ( "regexp" "strings" + "github.com/spf13/cobra" "github.com/spf13/cobra/doc" ) @@ -21,15 +23,9 @@ func main() { var ( err error koolOutput *bytes.Buffer - cmdFile *os.File koolFile *os.File ) - linkHandler := func(filename string) string { - base := strings.TrimSuffix(filename, filepath.Ext(filename)) - return strings.ToLower(base) - } - fmt.Println("Going to generate cobra docs in markdown...") koolOutput = new(bytes.Buffer) @@ -43,35 +39,12 @@ func main() { koolMarkdown := koolOutput.String() for _, childCmd := range commands.RootCmd().Commands() { - var cmdName string - - if cmdName = strings.Replace(childCmd.CommandPath(), " ", "_", -1); cmdName == "kool_deploy" || cmdName == "kool_help" { - continue - } - - newName := strings.Replace(childCmd.CommandPath(), " ", "-", -1) - koolMarkdown = strings.Replace(koolMarkdown, cmdName, newName, -1) - - cmdOutput := new(bytes.Buffer) - - err = doc.GenMarkdownCustom(childCmd, cmdOutput, linkHandler) - - if err != nil { - log.Fatal(err) - } - - cmdFile, err = CreateFile(newName, "docs/4-Commands") - - if err != nil { - log.Fatal(err) - } - - defer cmdFile.Close() - - _, err = cmdOutput.WriteTo(cmdFile) - - if err != nil { - log.Fatal(err) + if err = exportCmdDocs(childCmd, &koolMarkdown); err != nil { + if strings.HasPrefix(err.Error(), "skip") { + log.Println(err) + } else { + log.Fatal(err) + } } } @@ -106,3 +79,51 @@ func CreateFile(filename string, dir string) (file *os.File, err error) { return } + +func exportCmdDocs(childCmd *cobra.Command, koolMarkdown *string) (err error) { + var ( + cmdName string + cmdFile *os.File + ) + + if cmdName = strings.Replace(childCmd.CommandPath(), " ", "_", -1); cmdName == "kool_help" { + err = errors.New("skip kool_help") + return + } + + newName := strings.Replace(childCmd.CommandPath(), " ", "-", -1) + *koolMarkdown = strings.Replace(*koolMarkdown, cmdName, newName, -1) + + cmdOutput := new(bytes.Buffer) + + if err = doc.GenMarkdownCustom(childCmd, cmdOutput, linkHandler); err != nil { + return + } + + if cmdFile, err = CreateFile(newName, "docs/4-Commands"); err != nil { + return + } + + defer cmdFile.Close() + + if _, err = cmdOutput.WriteTo(cmdFile); err != nil { + return + } + + for _, subCmd := range childCmd.Commands() { + if err = exportCmdDocs(subCmd, koolMarkdown); err != nil { + if strings.HasPrefix(err.Error(), "skip") { + log.Println(err) + } else { + return + } + } + } + + return +} + +func linkHandler(filename string) string { + base := strings.TrimSuffix(filename, filepath.Ext(filename)) + return strings.ToLower(base) +} diff --git a/docs/3-Deploy-to-Kool-Cloud/1-Getting-Started.md b/docs/3-Deploy-to-Kool-Cloud/1-Getting-Started.md index 02fad0d5..8ba10364 100644 --- a/docs/3-Deploy-to-Kool-Cloud/1-Getting-Started.md +++ b/docs/3-Deploy-to-Kool-Cloud/1-Getting-Started.md @@ -1,26 +1,30 @@ -The Kool Cloud supports a wide range of features designed to suit your needs for deploying dockerized web applications. It supports features such as persisting folders across deployments, running daemons as extra containers, scheduling commands like cron jobs, adding hooks for before and after deployment, viewing running container logs, accessing the running container interactively, and much more. +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. -The Deploy 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 contact, 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. +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. -**kool cloud** is a CLI suite of commands that allows you to configure, deploy, access, and tail logs from the applications to Kool Cloud via the Deploy API. +> **Enterprise**: you can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:contact@kool.dev) for **"Bring your Own Cloud"** offer. + +**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. ## Deploy Docker Compose-based, containerized apps in just a few simple steps -1. Sign up for Kool Cloud and get your access token. - - Make sure your `.env` file contains two entries for configuring your deployment: - - `KOOL_API_TOKEN` - the Deploy API access token you get from the kool.dev web panel. -1. Configure your deployment with files straight in your application root folder - - `kool.deploy.yml` - a "mirror" of your `docker-compose.yml` file, with extra pieces of data for your cloud deployment. +1. [Sign up for Kool Cloud](https://kool.dev/register) and get your access token. + - You can store your token in your `.env` file if you are using one: + - `echo "KOOL_API_TOKEN=" >> .env` + - Or you can store your token in a real environment variable: + - `export KOOL_API_TOKEN=""` +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: + - `kool.deploy.yml` - a "mirror" of your `docker-compose.yml` file, with extra pieces of data for customizing your cloud deployment. - `Dockerfile` - usually, you are going to need to build your app for deployment if you haven't already. - - Make sure you set up the necessary environment variables for your app to run in the cloud. + - Make sure you set up the necessary [environment variables](TODO:envs) for your app to run in the cloud. 1. Deploy your application - - Run `kool cloud deploy` - this will validate and deploy your application. + - Run `kool cloud deploy --domain=` - this will validate and deploy your application. - Wait for it to finish and then access the provided deployment URL! 1. Doing more - **View logs** - `kool cloud logs` - you can check the logs of your deployed containers. - - **Access cloud containers** - - `kool cloud exec` - you can execute commands, including interactive TTY sessions, within your cloud-deployed containers. + - **Access running containers (like SSH-ing in)** + - `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. --- diff --git a/docs/4-Commands/kool-cloud-deploy.md b/docs/4-Commands/kool-cloud-deploy.md new file mode 100644 index 00000000..083a5105 --- /dev/null +++ b/docs/4-Commands/kool-cloud-deploy.md @@ -0,0 +1,30 @@ +## kool cloud deploy + +Deploy a local application to a Kool Cloud environment + +``` +kool cloud deploy +``` + +### Options + +``` + --domain-extra stringArray List of extra domain aliases + -h, --help help for deploy + --timeout uint Timeout in minutes for waiting the deployment to finish + --www-redirect Redirect www to non-www domain +``` + +### Options inherited from parent commands + +``` + --domain string Environment domain name to deploy to + --token string Token to authenticate with Kool Cloud API + --verbose Increases output verbosity + -w, --working_dir string Changes the working directory for the command +``` + +### SEE ALSO + +* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. + diff --git a/docs/4-Commands/kool-cloud-destroy.md b/docs/4-Commands/kool-cloud-destroy.md new file mode 100644 index 00000000..c9ae43ce --- /dev/null +++ b/docs/4-Commands/kool-cloud-destroy.md @@ -0,0 +1,27 @@ +## kool cloud destroy + +Destroy an environment deployed to Kool Cloud + +``` +kool cloud destroy +``` + +### Options + +``` + -h, --help help for destroy +``` + +### Options inherited from parent commands + +``` + --domain string Environment domain name to deploy to + --token string Token to authenticate with Kool Cloud API + --verbose Increases output verbosity + -w, --working_dir string Changes the working directory for the command +``` + +### SEE ALSO + +* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. + diff --git a/docs/4-Commands/kool-cloud-exec.md b/docs/4-Commands/kool-cloud-exec.md new file mode 100644 index 00000000..a9cc9a51 --- /dev/null +++ b/docs/4-Commands/kool-cloud-exec.md @@ -0,0 +1,34 @@ +## kool cloud exec + +Execute a command inside a running service container deployed to Kool Cloud + +### Synopsis + +After deploying an application to Kool Cloud using 'kool deploy', +execute a COMMAND inside the specified SERVICE container (similar to an SSH session). +Must use a KOOL_API_TOKEN environment variable for authentication. + +``` +kool cloud exec SERVICE [COMMAND] [--] [ARG...] +``` + +### Options + +``` + -c, --container string Container target. (default "default") + -h, --help help for exec +``` + +### Options inherited from parent commands + +``` + --domain string Environment domain name to deploy to + --token string Token to authenticate with Kool Cloud API + --verbose Increases output verbosity + -w, --working_dir string Changes the working directory for the command +``` + +### SEE ALSO + +* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. + diff --git a/docs/4-Commands/kool-cloud-help.md b/docs/4-Commands/kool-cloud-help.md new file mode 100644 index 00000000..0af29b88 --- /dev/null +++ b/docs/4-Commands/kool-cloud-help.md @@ -0,0 +1,32 @@ +## kool cloud help + +Help about any command + +### Synopsis + +Help provides help for any command in the application. +Simply type cloud help [path to command] for full details. + +``` +kool cloud help [command] [flags] +``` + +### Options + +``` + -h, --help help for help +``` + +### Options inherited from parent commands + +``` + --domain string Environment domain name to deploy to + --token string Token to authenticate with Kool Cloud API + --verbose Increases output verbosity + -w, --working_dir string Changes the working directory for the command +``` + +### SEE ALSO + +* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. + diff --git a/docs/4-Commands/kool-cloud-logs.md b/docs/4-Commands/kool-cloud-logs.md new file mode 100644 index 00000000..65c1aeab --- /dev/null +++ b/docs/4-Commands/kool-cloud-logs.md @@ -0,0 +1,36 @@ +## kool cloud logs + +See the logs of running service container deployed to Kool Cloud + +### Synopsis + +After deploying an application to Kool Cloud using 'kool deploy', +you can see the logs from the specified SERVICE container. +Must use a KOOL_API_TOKEN environment variable for authentication. + +``` +kool cloud logs [OPTIONS] SERVICE +``` + +### Options + +``` + -c, --container string Container target. (default "default") + -f, --follow Follow log output. + -h, --help help for logs + -t, --tail int Number of lines to show from the end of the logs for each container. A value equal to 0 will show all lines. (default 25) +``` + +### Options inherited from parent commands + +``` + --domain string Environment domain name to deploy to + --token string Token to authenticate with Kool Cloud API + --verbose Increases output verbosity + -w, --working_dir string Changes the working directory for the command +``` + +### SEE ALSO + +* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. + diff --git a/docs/4-Commands/kool-cloud-setup.md b/docs/4-Commands/kool-cloud-setup.md new file mode 100644 index 00000000..67f8db6f --- /dev/null +++ b/docs/4-Commands/kool-cloud-setup.md @@ -0,0 +1,27 @@ +## kool cloud setup + +Set up local configuration files for deployment + +``` +kool cloud setup +``` + +### Options + +``` + -h, --help help for setup +``` + +### Options inherited from parent commands + +``` + --domain string Environment domain name to deploy to + --token string Token to authenticate with Kool Cloud API + --verbose Increases output verbosity + -w, --working_dir string Changes the working directory for the command +``` + +### SEE ALSO + +* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. + From 04ff49afaceb6447a8e5f49298a89ebfda4f3330 Mon Sep 17 00:00:00 2001 From: fabriciojs Date: Sun, 7 Jan 2024 22:02:44 -0300 Subject: [PATCH 2/6] update kool cloud hierarch on docs --- README.md | 10 ++++---- docs.go | 4 ++-- .../1-Introduction.md | 0 .../2-Installation.md | 0 .../3-How-it-works.md | 24 +++++++++---------- .../4-Starting-new-project.md | 0 .../1-Getting-Started.md | 2 +- .../2-kool.cloud.yml-Reference.md | 0 .../1-Creating-a-Preset.md | 0 .../2-Monorepo-NestJS-with-NextJS.md | 10 ++++---- docs/{2-Presets => 03-Presets}/AdonisJs.md | 22 ++++++++--------- docs/{2-Presets => 03-Presets}/CodeIgniter.md | 22 ++++++++--------- docs/{2-Presets => 03-Presets}/ExpressJS.md | 22 ++++++++--------- docs/{2-Presets => 03-Presets}/Hugo.md | 22 ++++++++--------- .../Laravel+Octane.md | 22 ++++++++--------- docs/{2-Presets => 03-Presets}/Laravel.md | 22 ++++++++--------- docs/{2-Presets => 03-Presets}/NestJS.md | 20 ++++++++-------- docs/{2-Presets => 03-Presets}/NextJS.md | 20 ++++++++-------- docs/{2-Presets => 03-Presets}/NodeJS.md | 22 ++++++++--------- docs/{2-Presets => 03-Presets}/NuxtJS.md | 20 ++++++++-------- docs/{2-Presets => 03-Presets}/PHP.md | 20 ++++++++-------- docs/{2-Presets => 03-Presets}/Symfony.md | 20 ++++++++-------- docs/{2-Presets => 03-Presets}/WordPress.md | 22 ++++++++--------- .../0-kool.md | 0 .../kool-cloud-deploy.md | 0 .../kool-cloud-destroy.md | 0 .../kool-cloud-exec.md | 0 .../kool-cloud-help.md | 0 .../kool-cloud-logs.md | 0 .../kool-cloud-setup.md | 0 .../kool-cloud.md | 0 .../kool-completion.md | 0 .../kool-create.md | 0 .../kool-docker.md | 0 .../kool-exec.md | 0 .../kool-info.md | 0 .../kool-logs.md | 0 .../kool-preset.md | 0 .../kool-recipe.md | 0 .../kool-restart.md | 0 .../kool-run.md | 0 .../kool-self-update.md | 0 .../kool-share.md | 0 .../kool-start.md | 0 .../kool-status.md | 0 .../kool-stop.md | 0 .../1-Introduction.md | 0 .../Generate-PDFs.md | 0 docs/{5-Snippets => 15-Snippets}/Mailhog.md | 0 .../hmr-eer-empty-response.md | 0 .../intro.md | 0 .../kool-share.md | 0 .../mysql-perm-error.md | 0 kool.yml | 2 +- 54 files changed, 164 insertions(+), 164 deletions(-) rename docs/{1-Getting-Started => 01-Getting-Started}/1-Introduction.md (100%) rename docs/{1-Getting-Started => 01-Getting-Started}/2-Installation.md (100%) rename docs/{1-Getting-Started => 01-Getting-Started}/3-How-it-works.md (96%) rename docs/{1-Getting-Started => 01-Getting-Started}/4-Starting-new-project.md (100%) rename docs/{3-Deploy-to-Kool-Cloud => 02-Kool-Cloud}/1-Getting-Started.md (96%) rename docs/{3-Deploy-to-Kool-Cloud => 02-Kool-Cloud}/2-kool.cloud.yml-Reference.md (100%) rename docs/{2-Presets => 03-Presets}/1-Creating-a-Preset.md (100%) rename docs/{2-Presets => 03-Presets}/2-Monorepo-NestJS-with-NextJS.md (91%) rename docs/{2-Presets => 03-Presets}/AdonisJs.md (94%) rename docs/{2-Presets => 03-Presets}/CodeIgniter.md (94%) rename docs/{2-Presets => 03-Presets}/ExpressJS.md (92%) rename docs/{2-Presets => 03-Presets}/Hugo.md (93%) rename docs/{2-Presets => 03-Presets}/Laravel+Octane.md (93%) rename docs/{2-Presets => 03-Presets}/Laravel.md (94%) rename docs/{2-Presets => 03-Presets}/NestJS.md (94%) rename docs/{2-Presets => 03-Presets}/NextJS.md (93%) rename docs/{2-Presets => 03-Presets}/NodeJS.md (92%) rename docs/{2-Presets => 03-Presets}/NuxtJS.md (94%) rename docs/{2-Presets => 03-Presets}/PHP.md (93%) rename docs/{2-Presets => 03-Presets}/Symfony.md (94%) rename docs/{2-Presets => 03-Presets}/WordPress.md (95%) rename docs/{4-Commands => 05-Commands-Reference}/0-kool.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-cloud-deploy.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-cloud-destroy.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-cloud-exec.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-cloud-help.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-cloud-logs.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-cloud-setup.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-cloud.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-completion.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-create.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-docker.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-exec.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-info.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-logs.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-preset.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-recipe.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-restart.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-run.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-self-update.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-share.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-start.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-status.md (100%) rename docs/{4-Commands => 05-Commands-Reference}/kool-stop.md (100%) rename docs/{3-Docker-Images => 10-Docker-Images}/1-Introduction.md (100%) rename docs/{5-Snippets => 15-Snippets}/Generate-PDFs.md (100%) rename docs/{5-Snippets => 15-Snippets}/Mailhog.md (100%) rename docs/{6-Troubleshooting => 20-Troubleshooting}/hmr-eer-empty-response.md (100%) rename docs/{6-Troubleshooting => 20-Troubleshooting}/intro.md (100%) rename docs/{6-Troubleshooting => 20-Troubleshooting}/kool-share.md (100%) rename docs/{6-Troubleshooting => 20-Troubleshooting}/mysql-perm-error.md (100%) diff --git a/README.md b/README.md index 12a90703..0fa46ee0 100644 --- a/README.md +++ b/README.md @@ -49,10 +49,10 @@ To help you start building real-world applications, we've created Kool Presets a #### Popular stacks and frameworks -- **Node**: [NestJS](docs/2-Presets/NestJS.md), [AdonisJs](docs/2-Presets/AdonisJs.md), [Express.js](/docs/2-Presets/ExpressJS.md) -- **PHP**: [Laravel](docs/2-Presets/Laravel.md), [Laravel Octane](docs/2-Presets/Laravel+Octane.md), [Symfony](docs/2-Presets/Symfony.md), [CodeIgniter](docs/2-Presets/CodeIgniter.md) -- **Javascript**: [Next.js](docs/2-Presets/NextJS.md), [NuxtJS](docs/2-Presets/NuxtJS.md) -- **Others**: [Hugo](docs/2-Presets/Hugo.md), [WordPress](docs/2-Presets/WordPress.md) +- **Node**: [NestJS](docs/03-Presets/NestJS.md), [AdonisJs](docs/03-Presets/AdonisJs.md), [Express.js](/docs/03-Presets/ExpressJS.md) +- **PHP**: [Laravel](docs/03-Presets/Laravel.md), [Laravel Octane](docs/03-Presets/Laravel+Octane.md), [Symfony](docs/03-Presets/Symfony.md), [CodeIgniter](docs/03-Presets/CodeIgniter.md) +- **Javascript**: [Next.js](docs/03-Presets/NextJS.md), [NuxtJS](docs/03-Presets/NuxtJS.md) +- **Others**: [Hugo](docs/03-Presets/Hugo.md), [WordPress](docs/03-Presets/WordPress.md) #### Monorepo structures @@ -60,7 +60,7 @@ It's a common challange mixing up different frameworks for the frontned and a ba Check out our pre-shaped [mono-repo structures](https://monorepo.tools/#what-is-a-monorepo) in a single preset: -- [Monorepo NestJS + Next.js](docs/2-Presets/2-Monorepo-NestJS-with-NextJS.md) with Typescript on both the frontend and the backend. +- [Monorepo NestJS + Next.js](docs/03-Presets/2-Monorepo-NestJS-with-NextJS.md) with Typescript on both the frontend and the backend. > If you don't see your favorite framework in the list above, please let us know by creating a GitHub issue, or, better yet, feel free to submit a PR! diff --git a/docs.go b/docs.go index 86d22e32..fed1595d 100644 --- a/docs.go +++ b/docs.go @@ -51,7 +51,7 @@ func main() { re := regexp.MustCompile("(?m)[\r\n]+^.*kool_deploy.*$") koolMarkdown = re.ReplaceAllString(koolMarkdown, "") - koolFile, err = CreateFile("0-kool", "docs/4-Commands") + koolFile, err = CreateFile("0-kool", "docs/05-Commands-Reference") if err != nil { log.Fatal(err) @@ -100,7 +100,7 @@ func exportCmdDocs(childCmd *cobra.Command, koolMarkdown *string) (err error) { return } - if cmdFile, err = CreateFile(newName, "docs/4-Commands"); err != nil { + if cmdFile, err = CreateFile(newName, "docs/05-Commands-Reference"); err != nil { return } diff --git a/docs/1-Getting-Started/1-Introduction.md b/docs/01-Getting-Started/1-Introduction.md similarity index 100% rename from docs/1-Getting-Started/1-Introduction.md rename to docs/01-Getting-Started/1-Introduction.md diff --git a/docs/1-Getting-Started/2-Installation.md b/docs/01-Getting-Started/2-Installation.md similarity index 100% rename from docs/1-Getting-Started/2-Installation.md rename to docs/01-Getting-Started/2-Installation.md diff --git a/docs/1-Getting-Started/3-How-it-works.md b/docs/01-Getting-Started/3-How-it-works.md similarity index 96% rename from docs/1-Getting-Started/3-How-it-works.md rename to docs/01-Getting-Started/3-How-it-works.md index b004173c..96bd524b 100644 --- a/docs/1-Getting-Started/3-How-it-works.md +++ b/docs/01-Getting-Started/3-How-it-works.md @@ -15,18 +15,18 @@ Out of the box, Kool ships with a collection of Presets that will help you quick > As an example of the Preset developer experience, check out the [Laravel preset](https://kool.dev/docs/presets/laravel). -- [AdonisJs](/docs/2-Presets/AdonisJs.md) -- [CodeIgniter](/docs/2-Presets/CodeIgniter.md) -- [Express.js](/docs/2-Presets/ExpressJS.md) -- [Hugo](/docs/2-Presets/Hugo.md) -- [Laravel](/docs/2-Presets/Laravel.md) -- [NestJS](/docs/2-Presets/NestJS.md) -- [Next.js](/docs/2-Presets/NextJS.md) -- [Node.js](/docs/2-Presets/NodeJS.md) -- [Nuxt.js](/docs/2-Presets/NuxtJS.md) -- [PHP](/docs/2-Presets/PHP.md) -- [Symfony](/docs/2-Presets/Symfony.md) -- [WordPress](/docs/2-Presets/WordPress.md) +- [AdonisJs](/docs/03-Presets/AdonisJs.md) +- [CodeIgniter](/docs/03-Presets/CodeIgniter.md) +- [Express.js](/docs/03-Presets/ExpressJS.md) +- [Hugo](/docs/03-Presets/Hugo.md) +- [Laravel](/docs/03-Presets/Laravel.md) +- [NestJS](/docs/03-Presets/NestJS.md) +- [Next.js](/docs/03-Presets/NextJS.md) +- [Node.js](/docs/03-Presets/NodeJS.md) +- [Nuxt.js](/docs/03-Presets/NuxtJS.md) +- [PHP](/docs/03-Presets/PHP.md) +- [Symfony](/docs/03-Presets/Symfony.md) +- [WordPress](/docs/03-Presets/WordPress.md) ### Docker and Docker Compose diff --git a/docs/1-Getting-Started/4-Starting-new-project.md b/docs/01-Getting-Started/4-Starting-new-project.md similarity index 100% rename from docs/1-Getting-Started/4-Starting-new-project.md rename to docs/01-Getting-Started/4-Starting-new-project.md diff --git a/docs/3-Deploy-to-Kool-Cloud/1-Getting-Started.md b/docs/02-Kool-Cloud/1-Getting-Started.md similarity index 96% rename from docs/3-Deploy-to-Kool-Cloud/1-Getting-Started.md rename to docs/02-Kool-Cloud/1-Getting-Started.md index 8ba10364..6ff1f14c 100644 --- a/docs/3-Deploy-to-Kool-Cloud/1-Getting-Started.md +++ b/docs/02-Kool-Cloud/1-Getting-Started.md @@ -30,4 +30,4 @@ The Kool.dev Cloud API was designed with the best developer experience in mind f Full documentation: -- [`kool.deploy.yml` Reference](/docs/3-Deploy-to-Kool-Cloud/2-kool.deploy.yml-Reference.md) +- [`kool.deploy.yml` Reference](/docs/02-Kool-Cloud/2-kool.deploy.yml-Reference.md) diff --git a/docs/3-Deploy-to-Kool-Cloud/2-kool.cloud.yml-Reference.md b/docs/02-Kool-Cloud/2-kool.cloud.yml-Reference.md similarity index 100% rename from docs/3-Deploy-to-Kool-Cloud/2-kool.cloud.yml-Reference.md rename to docs/02-Kool-Cloud/2-kool.cloud.yml-Reference.md diff --git a/docs/2-Presets/1-Creating-a-Preset.md b/docs/03-Presets/1-Creating-a-Preset.md similarity index 100% rename from docs/2-Presets/1-Creating-a-Preset.md rename to docs/03-Presets/1-Creating-a-Preset.md diff --git a/docs/2-Presets/2-Monorepo-NestJS-with-NextJS.md b/docs/03-Presets/2-Monorepo-NestJS-with-NextJS.md similarity index 91% rename from docs/2-Presets/2-Monorepo-NestJS-with-NextJS.md rename to docs/03-Presets/2-Monorepo-NestJS-with-NextJS.md index 09a6d03d..3f455c93 100644 --- a/docs/2-Presets/2-Monorepo-NestJS-with-NextJS.md +++ b/docs/03-Presets/2-Monorepo-NestJS-with-NextJS.md @@ -16,7 +16,7 @@ The first step may take a couple of minutes for installing all the dependencies ### Extra steps -If you are using Database or Cache services for your NestJS backend you need to setup some environment variables. [Check out our NestJS preset documentation](https://github.com/kool-dev/kool/blob/main/docs/2-Presets/NestJS.md#nestjs-configuration). +If you are using Database or Cache services for your NestJS backend you need to setup some environment variables. [Check out our NestJS preset documentation](https://github.com/kool-dev/kool/blob/main/docs/03-Presets/NestJS.md#nestjs-configuration). ## Requirements @@ -58,7 +58,7 @@ $ kool exec frontend bash # opens a shell on the container running NextJS We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** diff --git a/docs/2-Presets/AdonisJs.md b/docs/03-Presets/AdonisJs.md similarity index 94% rename from docs/2-Presets/AdonisJs.md rename to docs/03-Presets/AdonisJs.md index e0fe7a48..6d002c30 100644 --- a/docs/2-Presets/AdonisJs.md +++ b/docs/03-Presets/AdonisJs.md @@ -246,16 +246,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Node.js](/docs/2-Presets/NodeJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Node.js](/docs/03-Presets/NodeJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/CodeIgniter.md b/docs/03-Presets/CodeIgniter.md similarity index 94% rename from docs/2-Presets/CodeIgniter.md rename to docs/03-Presets/CodeIgniter.md index d4a82443..451d8559 100644 --- a/docs/2-Presets/CodeIgniter.md +++ b/docs/03-Presets/CodeIgniter.md @@ -240,16 +240,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Node.js](/docs/2-Presets/NodeJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Node.js](/docs/03-Presets/NodeJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/ExpressJS.md b/docs/03-Presets/ExpressJS.md similarity index 92% rename from docs/2-Presets/ExpressJS.md rename to docs/03-Presets/ExpressJS.md index 3b5fe6ab..8b15b57f 100644 --- a/docs/2-Presets/ExpressJS.md +++ b/docs/03-Presets/ExpressJS.md @@ -159,16 +159,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Node.js](/docs/2-Presets/NodeJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Node.js](/docs/03-Presets/NodeJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/Hugo.md b/docs/03-Presets/Hugo.md similarity index 93% rename from docs/2-Presets/Hugo.md rename to docs/03-Presets/Hugo.md index d25fd60c..a111c23b 100644 --- a/docs/2-Presets/Hugo.md +++ b/docs/03-Presets/Hugo.md @@ -178,16 +178,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Node.js](/docs/2-Presets/NodeJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Node.js](/docs/03-Presets/NodeJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/Laravel+Octane.md b/docs/03-Presets/Laravel+Octane.md similarity index 93% rename from docs/2-Presets/Laravel+Octane.md rename to docs/03-Presets/Laravel+Octane.md index 3252a5e4..d9f8360b 100644 --- a/docs/2-Presets/Laravel+Octane.md +++ b/docs/03-Presets/Laravel+Octane.md @@ -187,16 +187,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Node.js](/docs/2-Presets/NodeJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Node.js](/docs/03-Presets/NodeJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/Laravel.md b/docs/03-Presets/Laravel.md similarity index 94% rename from docs/2-Presets/Laravel.md rename to docs/03-Presets/Laravel.md index 271577fb..ff17f8ab 100644 --- a/docs/2-Presets/Laravel.md +++ b/docs/03-Presets/Laravel.md @@ -231,16 +231,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Node.js](/docs/2-Presets/NodeJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Node.js](/docs/03-Presets/NodeJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/NestJS.md b/docs/03-Presets/NestJS.md similarity index 94% rename from docs/2-Presets/NestJS.md rename to docs/03-Presets/NestJS.md index fcd719be..b5afabe3 100644 --- a/docs/2-Presets/NestJS.md +++ b/docs/03-Presets/NestJS.md @@ -218,15 +218,15 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/NextJS.md b/docs/03-Presets/NextJS.md similarity index 93% rename from docs/2-Presets/NextJS.md rename to docs/03-Presets/NextJS.md index 08dbc90c..45a708ee 100644 --- a/docs/2-Presets/NextJS.md +++ b/docs/03-Presets/NextJS.md @@ -163,15 +163,15 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/NodeJS.md b/docs/03-Presets/NodeJS.md similarity index 92% rename from docs/2-Presets/NodeJS.md rename to docs/03-Presets/NodeJS.md index 160fb02b..65dc63f9 100644 --- a/docs/2-Presets/NodeJS.md +++ b/docs/03-Presets/NodeJS.md @@ -165,16 +165,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/NuxtJS.md b/docs/03-Presets/NuxtJS.md similarity index 94% rename from docs/2-Presets/NuxtJS.md rename to docs/03-Presets/NuxtJS.md index 38829aa9..dce0314d 100644 --- a/docs/2-Presets/NuxtJS.md +++ b/docs/03-Presets/NuxtJS.md @@ -190,15 +190,15 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/PHP.md b/docs/03-Presets/PHP.md similarity index 93% rename from docs/2-Presets/PHP.md rename to docs/03-Presets/PHP.md index 4da5f0bd..9d46426e 100644 --- a/docs/2-Presets/PHP.md +++ b/docs/03-Presets/PHP.md @@ -172,15 +172,15 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/Symfony.md b/docs/03-Presets/Symfony.md similarity index 94% rename from docs/2-Presets/Symfony.md rename to docs/03-Presets/Symfony.md index 253978bd..afe386bb 100644 --- a/docs/2-Presets/Symfony.md +++ b/docs/03-Presets/Symfony.md @@ -225,15 +225,15 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[WordPress](/docs/2-Presets/WordPress.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[WordPress](/docs/03-Presets/WordPress.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/2-Presets/WordPress.md b/docs/03-Presets/WordPress.md similarity index 95% rename from docs/2-Presets/WordPress.md rename to docs/03-Presets/WordPress.md index eddc8cec..7dbb27ac 100644 --- a/docs/2-Presets/WordPress.md +++ b/docs/03-Presets/WordPress.md @@ -220,16 +220,16 @@ $ kool start We have more presets to help you start projects with **kool** in a standardized way across different frameworks. -- **[AdonisJs](/docs/2-Presets/AdonisJs.md)** -- **[CodeIgniter](/docs/2-Presets/CodeIgniter.md)** -- **[Express.js](/docs/2-Presets/ExpressJS.md)** -- **[Hugo](/docs/2-Presets/Hugo.md)** -- **[Laravel](/docs/2-Presets/Laravel.md)** -- **[NestJS](/docs/2-Presets/NestJS.md)** -- **[Next.js](/docs/2-Presets/NextJS.md)** -- **[Node.js](/docs/2-Presets/NodeJS.md)** -- **[Nuxt.js](/docs/2-Presets/NuxtJS.md)** -- **[PHP](/docs/2-Presets/PHP.md)** -- **[Symfony](/docs/2-Presets/Symfony.md)** +- **[AdonisJs](/docs/03-Presets/AdonisJs.md)** +- **[CodeIgniter](/docs/03-Presets/CodeIgniter.md)** +- **[Express.js](/docs/03-Presets/ExpressJS.md)** +- **[Hugo](/docs/03-Presets/Hugo.md)** +- **[Laravel](/docs/03-Presets/Laravel.md)** +- **[NestJS](/docs/03-Presets/NestJS.md)** +- **[Next.js](/docs/03-Presets/NextJS.md)** +- **[Node.js](/docs/03-Presets/NodeJS.md)** +- **[Nuxt.js](/docs/03-Presets/NuxtJS.md)** +- **[PHP](/docs/03-Presets/PHP.md)** +- **[Symfony](/docs/03-Presets/Symfony.md)** Missing a preset? **[Make a request](https://github.com/kool-dev/kool/issues/new)**, or contribute by opening a Pull Request. Go to [https://github.com/kool-dev/kool/tree/main/presets](https://github.com/kool-dev/kool/tree/main/presets) and browse the code to learn more about how presets work. diff --git a/docs/4-Commands/0-kool.md b/docs/05-Commands-Reference/0-kool.md similarity index 100% rename from docs/4-Commands/0-kool.md rename to docs/05-Commands-Reference/0-kool.md diff --git a/docs/4-Commands/kool-cloud-deploy.md b/docs/05-Commands-Reference/kool-cloud-deploy.md similarity index 100% rename from docs/4-Commands/kool-cloud-deploy.md rename to docs/05-Commands-Reference/kool-cloud-deploy.md diff --git a/docs/4-Commands/kool-cloud-destroy.md b/docs/05-Commands-Reference/kool-cloud-destroy.md similarity index 100% rename from docs/4-Commands/kool-cloud-destroy.md rename to docs/05-Commands-Reference/kool-cloud-destroy.md diff --git a/docs/4-Commands/kool-cloud-exec.md b/docs/05-Commands-Reference/kool-cloud-exec.md similarity index 100% rename from docs/4-Commands/kool-cloud-exec.md rename to docs/05-Commands-Reference/kool-cloud-exec.md diff --git a/docs/4-Commands/kool-cloud-help.md b/docs/05-Commands-Reference/kool-cloud-help.md similarity index 100% rename from docs/4-Commands/kool-cloud-help.md rename to docs/05-Commands-Reference/kool-cloud-help.md diff --git a/docs/4-Commands/kool-cloud-logs.md b/docs/05-Commands-Reference/kool-cloud-logs.md similarity index 100% rename from docs/4-Commands/kool-cloud-logs.md rename to docs/05-Commands-Reference/kool-cloud-logs.md diff --git a/docs/4-Commands/kool-cloud-setup.md b/docs/05-Commands-Reference/kool-cloud-setup.md similarity index 100% rename from docs/4-Commands/kool-cloud-setup.md rename to docs/05-Commands-Reference/kool-cloud-setup.md diff --git a/docs/4-Commands/kool-cloud.md b/docs/05-Commands-Reference/kool-cloud.md similarity index 100% rename from docs/4-Commands/kool-cloud.md rename to docs/05-Commands-Reference/kool-cloud.md diff --git a/docs/4-Commands/kool-completion.md b/docs/05-Commands-Reference/kool-completion.md similarity index 100% rename from docs/4-Commands/kool-completion.md rename to docs/05-Commands-Reference/kool-completion.md diff --git a/docs/4-Commands/kool-create.md b/docs/05-Commands-Reference/kool-create.md similarity index 100% rename from docs/4-Commands/kool-create.md rename to docs/05-Commands-Reference/kool-create.md diff --git a/docs/4-Commands/kool-docker.md b/docs/05-Commands-Reference/kool-docker.md similarity index 100% rename from docs/4-Commands/kool-docker.md rename to docs/05-Commands-Reference/kool-docker.md diff --git a/docs/4-Commands/kool-exec.md b/docs/05-Commands-Reference/kool-exec.md similarity index 100% rename from docs/4-Commands/kool-exec.md rename to docs/05-Commands-Reference/kool-exec.md diff --git a/docs/4-Commands/kool-info.md b/docs/05-Commands-Reference/kool-info.md similarity index 100% rename from docs/4-Commands/kool-info.md rename to docs/05-Commands-Reference/kool-info.md diff --git a/docs/4-Commands/kool-logs.md b/docs/05-Commands-Reference/kool-logs.md similarity index 100% rename from docs/4-Commands/kool-logs.md rename to docs/05-Commands-Reference/kool-logs.md diff --git a/docs/4-Commands/kool-preset.md b/docs/05-Commands-Reference/kool-preset.md similarity index 100% rename from docs/4-Commands/kool-preset.md rename to docs/05-Commands-Reference/kool-preset.md diff --git a/docs/4-Commands/kool-recipe.md b/docs/05-Commands-Reference/kool-recipe.md similarity index 100% rename from docs/4-Commands/kool-recipe.md rename to docs/05-Commands-Reference/kool-recipe.md diff --git a/docs/4-Commands/kool-restart.md b/docs/05-Commands-Reference/kool-restart.md similarity index 100% rename from docs/4-Commands/kool-restart.md rename to docs/05-Commands-Reference/kool-restart.md diff --git a/docs/4-Commands/kool-run.md b/docs/05-Commands-Reference/kool-run.md similarity index 100% rename from docs/4-Commands/kool-run.md rename to docs/05-Commands-Reference/kool-run.md diff --git a/docs/4-Commands/kool-self-update.md b/docs/05-Commands-Reference/kool-self-update.md similarity index 100% rename from docs/4-Commands/kool-self-update.md rename to docs/05-Commands-Reference/kool-self-update.md diff --git a/docs/4-Commands/kool-share.md b/docs/05-Commands-Reference/kool-share.md similarity index 100% rename from docs/4-Commands/kool-share.md rename to docs/05-Commands-Reference/kool-share.md diff --git a/docs/4-Commands/kool-start.md b/docs/05-Commands-Reference/kool-start.md similarity index 100% rename from docs/4-Commands/kool-start.md rename to docs/05-Commands-Reference/kool-start.md diff --git a/docs/4-Commands/kool-status.md b/docs/05-Commands-Reference/kool-status.md similarity index 100% rename from docs/4-Commands/kool-status.md rename to docs/05-Commands-Reference/kool-status.md diff --git a/docs/4-Commands/kool-stop.md b/docs/05-Commands-Reference/kool-stop.md similarity index 100% rename from docs/4-Commands/kool-stop.md rename to docs/05-Commands-Reference/kool-stop.md diff --git a/docs/3-Docker-Images/1-Introduction.md b/docs/10-Docker-Images/1-Introduction.md similarity index 100% rename from docs/3-Docker-Images/1-Introduction.md rename to docs/10-Docker-Images/1-Introduction.md diff --git a/docs/5-Snippets/Generate-PDFs.md b/docs/15-Snippets/Generate-PDFs.md similarity index 100% rename from docs/5-Snippets/Generate-PDFs.md rename to docs/15-Snippets/Generate-PDFs.md diff --git a/docs/5-Snippets/Mailhog.md b/docs/15-Snippets/Mailhog.md similarity index 100% rename from docs/5-Snippets/Mailhog.md rename to docs/15-Snippets/Mailhog.md diff --git a/docs/6-Troubleshooting/hmr-eer-empty-response.md b/docs/20-Troubleshooting/hmr-eer-empty-response.md similarity index 100% rename from docs/6-Troubleshooting/hmr-eer-empty-response.md rename to docs/20-Troubleshooting/hmr-eer-empty-response.md diff --git a/docs/6-Troubleshooting/intro.md b/docs/20-Troubleshooting/intro.md similarity index 100% rename from docs/6-Troubleshooting/intro.md rename to docs/20-Troubleshooting/intro.md diff --git a/docs/6-Troubleshooting/kool-share.md b/docs/20-Troubleshooting/kool-share.md similarity index 100% rename from docs/6-Troubleshooting/kool-share.md rename to docs/20-Troubleshooting/kool-share.md diff --git a/docs/6-Troubleshooting/mysql-perm-error.md b/docs/20-Troubleshooting/mysql-perm-error.md similarity index 100% rename from docs/6-Troubleshooting/mysql-perm-error.md rename to docs/20-Troubleshooting/mysql-perm-error.md diff --git a/kool.yml b/kool.yml index 343ec985..cddce150 100644 --- a/kool.yml +++ b/kool.yml @@ -21,7 +21,7 @@ scripts: test-coverage: kool run go:linux test -v -race -coverprofile=coverage.txt -covermode=atomic ./... # Generate documentation for kool commands make-docs: - - rm -f docs/4-Commands/*.md + - rm -f docs/05-Commands-Reference/*.md - kool run go:linux run docs.go # build docker image locally docker:build:rc: docker build --build-arg BUILD_VERSION=0.0.0-rc --pull -t kooldev/kool:rc . From caa60243ca70ae0c505c69f29263f64f131682c8 Mon Sep 17 00:00:00 2001 From: fabriciojs Date: Sun, 7 Jan 2024 22:09:41 -0300 Subject: [PATCH 3/6] minor cloud doc tweak --- .../{1-Getting-Started.md => 01-Getting-Started.md} | 2 +- ...ol.cloud.yml-Reference.md => 10-kool.cloud.yml-Reference.md} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/02-Kool-Cloud/{1-Getting-Started.md => 01-Getting-Started.md} (97%) rename docs/02-Kool-Cloud/{2-kool.cloud.yml-Reference.md => 10-kool.cloud.yml-Reference.md} (100%) diff --git a/docs/02-Kool-Cloud/1-Getting-Started.md b/docs/02-Kool-Cloud/01-Getting-Started.md similarity index 97% rename from docs/02-Kool-Cloud/1-Getting-Started.md rename to docs/02-Kool-Cloud/01-Getting-Started.md index 6ff1f14c..9bcdd5d6 100644 --- a/docs/02-Kool-Cloud/1-Getting-Started.md +++ b/docs/02-Kool-Cloud/01-Getting-Started.md @@ -30,4 +30,4 @@ The Kool.dev Cloud API was designed with the best developer experience in mind f Full documentation: -- [`kool.deploy.yml` Reference](/docs/02-Kool-Cloud/2-kool.deploy.yml-Reference.md) +- [`kool.deploy.yml` Reference](/docs/02-Kool-Cloud/10-kool.deploy.yml-Reference.md) diff --git a/docs/02-Kool-Cloud/2-kool.cloud.yml-Reference.md b/docs/02-Kool-Cloud/10-kool.cloud.yml-Reference.md similarity index 100% rename from docs/02-Kool-Cloud/2-kool.cloud.yml-Reference.md rename to docs/02-Kool-Cloud/10-kool.cloud.yml-Reference.md From 6813e5a3b8e50e0a5a9243a374e0d97855ba369a Mon Sep 17 00:00:00 2001 From: fabriciojs Date: Mon, 8 Jan 2024 09:31:38 -0300 Subject: [PATCH 4/6] cloud docs --- docs/02-Kool-Cloud/01-Getting-Started.md | 6 +-- .../03-Building-Images-to-Deploy.md | 50 ++++++++++++++++++ .../02-Kool-Cloud/05-Environment-Variables.md | 47 +++++++++++++++++ docs/02-Kool-Cloud/07-Domains-and-HTTPS.md | 24 +++++++++ docs/02-Kool-Cloud/08-Managed-Databases.md | 52 +++++++++++++++++++ docs/02-Kool-Cloud/10-Persistent-Storage.md | 32 ++++++++++++ .../15-Deploy-Lifecycle-Hooks.md | 25 +++++++++ docs/02-Kool-Cloud/17-Custom-Resources.md | 5 ++ ...ence.md => 20-kool.cloud.yml-Reference.md} | 10 ++-- 9 files changed, 245 insertions(+), 6 deletions(-) create mode 100644 docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md create mode 100644 docs/02-Kool-Cloud/05-Environment-Variables.md create mode 100644 docs/02-Kool-Cloud/07-Domains-and-HTTPS.md create mode 100644 docs/02-Kool-Cloud/08-Managed-Databases.md create mode 100644 docs/02-Kool-Cloud/10-Persistent-Storage.md create mode 100644 docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md create mode 100644 docs/02-Kool-Cloud/17-Custom-Resources.md rename docs/02-Kool-Cloud/{10-kool.cloud.yml-Reference.md => 20-kool.cloud.yml-Reference.md} (94%) diff --git a/docs/02-Kool-Cloud/01-Getting-Started.md b/docs/02-Kool-Cloud/01-Getting-Started.md index 9bcdd5d6..8b38ac14 100644 --- a/docs/02-Kool-Cloud/01-Getting-Started.md +++ b/docs/02-Kool-Cloud/01-Getting-Started.md @@ -2,7 +2,7 @@ The [Kool Cloud](https://kool.dev/cloud) supports a wide range of features desig 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. -> **Enterprise**: you can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:contact@kool.dev) for **"Bring your Own Cloud"** offer. +> **Enterprise**: you can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:contact@kool.dev) for the **"Bring your Own Cloud"** offer. **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. @@ -28,6 +28,6 @@ The Kool.dev Cloud API was designed with the best developer experience in mind f --- -Full documentation: +Reference: -- [`kool.deploy.yml` Reference](/docs/02-Kool-Cloud/10-kool.deploy.yml-Reference.md) +- [`kool.deploy.yml` Reference](/docs/02-Kool-Cloud/20-kool.deploy.yml-Reference.md) diff --git a/docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md b/docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md new file mode 100644 index 00000000..495809a1 --- /dev/null +++ b/docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md @@ -0,0 +1,50 @@ +This topic is usually the biggest source or problems and trial and error frustrations when deploying cloud native applications for the first time. + +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. + +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. + +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. + +### `kool cloud deploy` building images + +`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. + +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`: + +Check out the [Docker Compose `build` Documentation](https://docs.docker.com/compose/compose-file/compose-file-v3/#build) for reference. + +```yaml +services: + app: + # ... + build: . # this uses the root folder as context, and expects a Dockerfile to exist on it +``` + +or + +```yaml +services: + app: + # ... + build: + context: ./dir # changes the context folder + dockerfile: Dockerfile-alternate # name a different file than default 'Dockerfile' + args: + buildno: 1 # define values for ARGS used in your Dockerfile +``` + +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. + +### Using a Private Registry + +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: + +```yaml +services: + app: + # ... + image: myrepo-registry/my-built-image +``` + +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 `contact@kool.dev`](contact@kool.dev) to set it up for you. diff --git a/docs/02-Kool-Cloud/05-Environment-Variables.md b/docs/02-Kool-Cloud/05-Environment-Variables.md new file mode 100644 index 00000000..52aaada1 --- /dev/null +++ b/docs/02-Kool-Cloud/05-Environment-Variables.md @@ -0,0 +1,47 @@ +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. + +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. + +### Using `kool.deploy.env` file for deploy + +`kool.deploy.env` should be a `.env` formatted file. You can point to it like this: + +```yaml +services: + app: + # ... + environment: kool.deploy.env +``` + +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**. + +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). + +### Using a plain YAML object for environment variables + +```yaml +services: + app: + # ... + environment: + FOO: bar +``` + +You can simply use a YAML map of values that will become your environment variables in the running deployed container. This is handy sometimes when you have simple and not sensitive variables you want to add to a container for deploy. + +### Build a `.env` file inside the running container + +If you application does rely and requires a `.env` file existing in the running container you may achieve so by using the `env:` entry: + +```yaml +services: + app: + # ... + + # 'env' is a different option that allows you to build a file inside your running container. + env: + source: kool.deploy.env + target: .env +``` + +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. diff --git a/docs/02-Kool-Cloud/07-Domains-and-HTTPS.md b/docs/02-Kool-Cloud/07-Domains-and-HTTPS.md new file mode 100644 index 00000000..d7810327 --- /dev/null +++ b/docs/02-Kool-Cloud/07-Domains-and-HTTPS.md @@ -0,0 +1,24 @@ +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. + +You always need to provide the environment domain when running a deploy. + +```bash +kool cloud --token="" deploy --domain="my-app-domain.com" +``` + +You can provide those values via environment variables as well if that's easier for you: + +- `KOOL_API_TOKEN` for the access token. +- `KOOL_DEPLOY_DOMAIN` for the domain environment you want to deploy to. + +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. + +### Test deployment domains + +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. + +### Production and custom domains + +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. + +HTTPS certificates will only be successfully generated once the DNS is correctly pointing your domain to Kool.dev Cloud. \ No newline at end of file diff --git a/docs/02-Kool-Cloud/08-Managed-Databases.md b/docs/02-Kool-Cloud/08-Managed-Databases.md new file mode 100644 index 00000000..9f045aef --- /dev/null +++ b/docs/02-Kool-Cloud/08-Managed-Databases.md @@ -0,0 +1,52 @@ +Most of time the web applications you are going to deploy will usually have its own companying database. + +Kool.dev Cloud offers two ways for you do deploy your databases. + +1. Deploy databases as regular containers. +1. Use a managed database on a shared structure. +1. Use a dedicated Database Custom Resource (i.e RDS dedicated instance). + +All of this options come with basic daily backup routines for your safety. + +### Deploy Databases as Regular Containers + +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. + +#### Caveats of deploying databases on containers are + +- **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. +- **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. + +### Managed Database in shared structure + +This option is the easiest to get started - but currently only supports MySQL 8 database deployments. + +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. + +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. + +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: + +``` +DB_HOST="{{KOOL_DATABASE_HOST}}" +DB_PORT={{KOOL_DATABASE_PORT}} +DB_DATABASE="{{KOOL_DATABASE_DATABASE}}" +DB_USERNAME="{{KOOL_DATABASE_USERNAME}}" +DB_PASSWORD="{{KOOL_DATABASE_PASSWORD}}" +``` + +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. + +#### Caveats of using managed shared database + +- Currently **only supports MySQL 8** deployments. +- Being a shared resource, top performance is not guarenteed (unless you have it running in your own Cloud vendor account in the Enterprise offer). +- Best suited for development and staging workloads. + +### Dedicated Database Resource + +You can have any sort of custom resource for your application, including dedicated databases (i.e RDS or ElastiCache). + +As this is not yet fully automated you need to [contact our support to set it up](mailto:contact@kool.dev) for you in your account. + +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. diff --git a/docs/02-Kool-Cloud/10-Persistent-Storage.md b/docs/02-Kool-Cloud/10-Persistent-Storage.md new file mode 100644 index 00000000..59a15bc3 --- /dev/null +++ b/docs/02-Kool-Cloud/10-Persistent-Storage.md @@ -0,0 +1,32 @@ +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. + +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. + +Kool.dev Cloud does offer you the ability to create persisted paths within your deployed containers. + +```yaml +services: + app: + # ... + + # Tells your app's root folder so all other paths can be relative (optional). + root: /app + + # Containers are ephemeral, that means their filesystem do not persist across restarts. + # If you want to persist stuff into the disk across deployments, you can do so by defining persistent paths here. + persists: + # Total size of the volume you want to attach to the running container. + # This can be increased later, but it may take a while to apply the change. + size: 10Gi + # Paths to persist - within that single volume, you can have one or more paths + # that are going to be mounted every time your containers are running. Note that + # such mounts will be there for before/after hooks as well as daemon containers. + paths: + # The path within the container. Must be either aboslute or relative to the 'root' config. + - path: /app/some/path/persisted + # Tells the Deploy API to sync the folder from your built image to the persisted storage. + # This is very helpful to start off with a known folder structure. + sync: true + # Tells what user and group should own the persisted folder (only used when sync: true) + chown: user:group +``` \ No newline at end of file diff --git a/docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md b/docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md new file mode 100644 index 00000000..149e8393 --- /dev/null +++ b/docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md @@ -0,0 +1,25 @@ +You have the ability to define hooks to run before or after every deploy you make. + +These hooks will run using the very same image that is being deployed. This is usually needed for common routines, as for example running database migrations, sending alerts of updates to some other service, etc. + +To illustrate the options you have on `kool.cloud.yml` file: + +```yaml +services: + app: + # ... + + # The 'before' hook is a special section where we can define commands to be executed + # right before a new deployment happens. + before: + - [ sh, run-database-migrations.sh, arg1, arg2 ] + + # The 'after' hook is a special section where we can define procedures to be executed + # right after a new deployment finishes. + after: + - [ sh, run-cache-version-update.sh, arg1, arg2 ] +``` + +### Failures on lifecycle hooks + +Please notice that these lifecycle hooks are required in order for the new deploy to be successfull - this mean that **if any of them fail** - either `before` or `after` new deployed contianer versions are running - **the whole deploy is going to be rolledback**. As you can imagine this poses a challange specially on database migrations since they can be problematic and not backwards compatible with previously running container version. diff --git a/docs/02-Kool-Cloud/17-Custom-Resources.md b/docs/02-Kool-Cloud/17-Custom-Resources.md new file mode 100644 index 00000000..64cfc944 --- /dev/null +++ b/docs/02-Kool-Cloud/17-Custom-Resources.md @@ -0,0 +1,5 @@ +Most of 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. + +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 [ping us via email with your needs](mailto:contact@kool.dev) and we will work through your request. + +If you lack the DevOps expertise to determine your needs, we also have consulting services available to best serve you. \ No newline at end of file diff --git a/docs/02-Kool-Cloud/10-kool.cloud.yml-Reference.md b/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md similarity index 94% rename from docs/02-Kool-Cloud/10-kool.cloud.yml-Reference.md rename to docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md index 4c01b968..a996f2e3 100644 --- a/docs/02-Kool-Cloud/10-kool.cloud.yml-Reference.md +++ b/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md @@ -35,10 +35,14 @@ Here's an example of `kool.cloud.yml` file showcasing all the features and confi services: app: # Applications usually will require a special image built for deployment. - build: Dockerfile + # Reference: https://docs.docker.com/compose/compose-file/compose-file-v3/#build + build: . # Tells Kool Cloud that this service is accessible through the deployment URL. # Note: only one service can be set to be public. + public: true # simply defining true is enough to most cases where your `expose` port will be used for routing incoming HTTP requests. + + # Another option is advanced definition: public: # Tells the port that should be used for routing incoming HTTP traffic. - port: 80 @@ -50,7 +54,7 @@ services: path: /ws # Tells what port the app will listen to (optional). - port: 80 + expose: 80 # Tells your app's root folder so all other paths can be relative (optional). root: /app @@ -74,7 +78,7 @@ services: # By default, Kool Cloud will rollout new deployments in a blue-green fashion. # If you want to disable it and make sure the current running container - # stopped before the new one is created, set 'recreate: true'. + # is stopped before the new one is created, set 'recreate: true'. recreate: false # Sometimes you may make changes to your app that wouldn't necessarily trigger From 0b8951decd3427e0e898ff2f324f165d7098a3d2 Mon Sep 17 00:00:00 2001 From: fabriciojs Date: Mon, 8 Jan 2024 22:16:13 -0300 Subject: [PATCH 5/6] chatgpt review --- docs/02-Kool-Cloud/01-Getting-Started.md | 14 ++++---- .../03-Building-Images-to-Deploy.md | 20 ++++++----- .../02-Kool-Cloud/05-Environment-Variables.md | 12 +++---- docs/02-Kool-Cloud/07-Domains-and-HTTPS.md | 6 ++-- docs/02-Kool-Cloud/08-Managed-Databases.md | 36 +++++++++---------- docs/02-Kool-Cloud/10-Persistent-Storage.md | 4 +-- .../15-Deploy-Lifecycle-Hooks.md | 6 ++-- docs/02-Kool-Cloud/17-Custom-Resources.md | 6 ++-- .../20-kool.cloud.yml-Reference.md | 6 ++-- 9 files changed, 56 insertions(+), 54 deletions(-) diff --git a/docs/02-Kool-Cloud/01-Getting-Started.md b/docs/02-Kool-Cloud/01-Getting-Started.md index 8b38ac14..d94cefbb 100644 --- a/docs/02-Kool-Cloud/01-Getting-Started.md +++ b/docs/02-Kool-Cloud/01-Getting-Started.md @@ -1,10 +1,10 @@ -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. +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. 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. -> **Enterprise**: you can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:contact@kool.dev) for the **"Bring your Own Cloud"** offer. +> **Enterprise**: You can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:contact@kool.dev) for the **"Bring your Own Cloud"** offer. -**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. +**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. ## Deploy Docker Compose-based, containerized apps in just a few simple steps @@ -13,10 +13,10 @@ The Kool.dev Cloud API was designed with the best developer experience in mind f - `echo "KOOL_API_TOKEN=" >> .env` - Or you can store your token in a real environment variable: - `export KOOL_API_TOKEN=""` -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: +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: - `kool.deploy.yml` - a "mirror" of your `docker-compose.yml` file, with extra pieces of data for customizing your cloud deployment. - `Dockerfile` - usually, you are going to need to build your app for deployment if you haven't already. - - Make sure you set up the necessary [environment variables](TODO:envs) for your app to run in the cloud. + - Make sure you set up the necessary [environment variables](/docs/kool-cloud/environment-variables) for your app to run in the cloud. 1. Deploy your application - Run `kool cloud deploy --domain=` - this will validate and deploy your application. - Wait for it to finish and then access the provided deployment URL! @@ -24,10 +24,10 @@ The Kool.dev Cloud API was designed with the best developer experience in mind f - **View logs** - `kool cloud logs` - you can check the logs of your deployed containers. - **Access running containers (like SSH-ing in)** - - `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. + - `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. --- Reference: -- [`kool.deploy.yml` Reference](/docs/02-Kool-Cloud/20-kool.deploy.yml-Reference.md) +- [`kool.deploy.yml` Reference](/docs/kool-cloud/kool.deploy.yml-reference) diff --git a/docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md b/docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md index 495809a1..93558cd9 100644 --- a/docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md +++ b/docs/02-Kool-Cloud/03-Building-Images-to-Deploy.md @@ -1,16 +1,17 @@ -This topic is usually the biggest source or problems and trial and error frustrations when deploying cloud native applications for the first time. +This topic is usually the biggest source of problems and trial-and-error frustrations when deploying cloud-native applications for the first time. -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. +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. -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. +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. + +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. -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. ### `kool cloud deploy` building images -`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. +The `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` has a working Docker-like engine running that can successfully process a `docker build ...` command. -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`: +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`: Check out the [Docker Compose `build` Documentation](https://docs.docker.com/compose/compose-file/compose-file-v3/#build) for reference. @@ -34,11 +35,11 @@ services: buildno: 1 # define values for ARGS used in your Dockerfile ``` -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. +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. ### Using a Private Registry -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: +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: ```yaml services: @@ -47,4 +48,5 @@ services: image: myrepo-registry/my-built-image ``` -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 `contact@kool.dev`](contact@kool.dev) to set it up for you. +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 `contact@kool.dev`](contact@kool.dev) to set it up for you. + diff --git a/docs/02-Kool-Cloud/05-Environment-Variables.md b/docs/02-Kool-Cloud/05-Environment-Variables.md index 52aaada1..3d81f7f3 100644 --- a/docs/02-Kool-Cloud/05-Environment-Variables.md +++ b/docs/02-Kool-Cloud/05-Environment-Variables.md @@ -1,6 +1,6 @@ -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. +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. -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. +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. ### Using `kool.deploy.env` file for deploy @@ -13,9 +13,9 @@ services: environment: kool.deploy.env ``` -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**. +Upon 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 variable in the running container**. -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). +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). ### Using a plain YAML object for environment variables @@ -31,7 +31,7 @@ You can simply use a YAML map of values that will become your environment variab ### Build a `.env` file inside the running container -If you application does rely and requires a `.env` file existing in the running container you may achieve so by using the `env:` entry: +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: ```yaml services: @@ -44,4 +44,4 @@ services: target: .env ``` -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. +This is useful for apps that require the .env file, but you do not wish to have that built into your Docker image itself. diff --git a/docs/02-Kool-Cloud/07-Domains-and-HTTPS.md b/docs/02-Kool-Cloud/07-Domains-and-HTTPS.md index d7810327..4162df29 100644 --- a/docs/02-Kool-Cloud/07-Domains-and-HTTPS.md +++ b/docs/02-Kool-Cloud/07-Domains-and-HTTPS.md @@ -1,4 +1,4 @@ -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. +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. You always need to provide the environment domain when running a deploy. @@ -15,10 +15,10 @@ Important to notice: if you deploy to a new domain that doesn't currently exist ### Test deployment domains -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. +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. ### Production and custom domains 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. -HTTPS certificates will only be successfully generated once the DNS is correctly pointing your domain to Kool.dev Cloud. \ No newline at end of file +HTTPS certificates will only be successfully generated once the DNS is correctly pointing your domain to Kool.dev Cloud. diff --git a/docs/02-Kool-Cloud/08-Managed-Databases.md b/docs/02-Kool-Cloud/08-Managed-Databases.md index 9f045aef..b829bc6b 100644 --- a/docs/02-Kool-Cloud/08-Managed-Databases.md +++ b/docs/02-Kool-Cloud/08-Managed-Databases.md @@ -1,29 +1,29 @@ -Most of time the web applications you are going to deploy will usually have its own companying database. +Most of the time, the web applications you are going to deploy will usually have their accompanying database. -Kool.dev Cloud offers two ways for you do deploy your databases. +Kool.dev Cloud offers two ways for you to deploy your databases: 1. Deploy databases as regular containers. -1. Use a managed database on a shared structure. -1. Use a dedicated Database Custom Resource (i.e RDS dedicated instance). +2. Use a managed database on a shared structure. +3. Use a dedicated Database Custom Resource (i.e., RDS dedicated instance). -All of this options come with basic daily backup routines for your safety. +All of these options come with basic daily backup routines for your safety. ### Deploy Databases as Regular Containers -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. +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. #### Caveats of deploying databases on containers are -- **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. -- **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. +- **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. +- **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. -### Managed Database in shared structure +### Managed Database in a Shared Structure -This option is the easiest to get started - but currently only supports MySQL 8 database deployments. +This option is the easiest to get started with but currently only supports MySQL 8 database deployments. -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. +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. -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. +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. 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: @@ -35,18 +35,18 @@ DB_USERNAME="{{KOOL_DATABASE_USERNAME}}" DB_PASSWORD="{{KOOL_DATABASE_PASSWORD}}" ``` -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. +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. #### Caveats of using managed shared database -- Currently **only supports MySQL 8** deployments. -- Being a shared resource, top performance is not guarenteed (unless you have it running in your own Cloud vendor account in the Enterprise offer). +- Currently, **only supports MySQL 8** deployments. +- Being a shared resource, top performance is not guaranteed (unless you have it running in your own Cloud vendor account in the Enterprise offer). - Best suited for development and staging workloads. ### Dedicated Database Resource -You can have any sort of custom resource for your application, including dedicated databases (i.e RDS or ElastiCache). +You can have any sort of custom resource for your application, including dedicated databases (i.e., RDS or ElastiCache). -As this is not yet fully automated you need to [contact our support to set it up](mailto:contact@kool.dev) for you in your account. +As this is not yet fully automated, you need to [contact our support to set it up](mailto:contact@kool.dev) for you in your account. -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. +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. diff --git a/docs/02-Kool-Cloud/10-Persistent-Storage.md b/docs/02-Kool-Cloud/10-Persistent-Storage.md index 59a15bc3..2f90b098 100644 --- a/docs/02-Kool-Cloud/10-Persistent-Storage.md +++ b/docs/02-Kool-Cloud/10-Persistent-Storage.md @@ -1,6 +1,6 @@ -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. +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. -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. +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. Kool.dev Cloud does offer you the ability to create persisted paths within your deployed containers. diff --git a/docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md b/docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md index 149e8393..210668e3 100644 --- a/docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md +++ b/docs/02-Kool-Cloud/15-Deploy-Lifecycle-Hooks.md @@ -1,8 +1,8 @@ You have the ability to define hooks to run before or after every deploy you make. -These hooks will run using the very same image that is being deployed. This is usually needed for common routines, as for example running database migrations, sending alerts of updates to some other service, etc. +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. -To illustrate the options you have on `kool.cloud.yml` file: +To illustrate the options you have in the `kool.cloud.yml` file: ```yaml services: @@ -22,4 +22,4 @@ services: ### Failures on lifecycle hooks -Please notice that these lifecycle hooks are required in order for the new deploy to be successfull - this mean that **if any of them fail** - either `before` or `after` new deployed contianer versions are running - **the whole deploy is going to be rolledback**. As you can imagine this poses a challange specially on database migrations since they can be problematic and not backwards compatible with previously running container version. +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. diff --git a/docs/02-Kool-Cloud/17-Custom-Resources.md b/docs/02-Kool-Cloud/17-Custom-Resources.md index 64cfc944..d928e709 100644 --- a/docs/02-Kool-Cloud/17-Custom-Resources.md +++ b/docs/02-Kool-Cloud/17-Custom-Resources.md @@ -1,5 +1,5 @@ -Most of 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. +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. -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 [ping us via email with your needs](mailto:contact@kool.dev) and we will work through your request. +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:contact@kool.dev), and we will work through your request. -If you lack the DevOps expertise to determine your needs, we also have consulting services available to best serve you. \ No newline at end of file +If you lack the DevOps expertise to determine your needs, we also have consulting services available to best serve you. diff --git a/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md b/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md index a996f2e3..a80c36f8 100644 --- a/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md +++ b/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md @@ -2,7 +2,7 @@ ## The basics -The `kool.cloud.yml` file is an extension to your already familiar `docker-compose.yml`, having the same basic structure but introducing some configuration entries to enable you to fine-tune your deployment container needs. +The `kool.cloud.yml` file is an extension of your already familiar `docker-compose.yml`, having the same basic structure but introducing some configuration entries to enable you to fine-tune your deployment container needs. Suppose you have the following `docker-compose.yml` file: @@ -27,9 +27,9 @@ Provided you have already signed up and obtained your access token for Kool Clou ## Reference -## Full example +### Full example -Here's an example of `kool.cloud.yml` file showcasing all the features and configuration entries available: +Here's an example of a `kool.cloud.yml` file showcasing all the features and configuration entries available: ```yaml services: From c18c3cfe439a8eb2a767a39afab6de0813a33dab Mon Sep 17 00:00:00 2001 From: fabriciojs Date: Mon, 8 Jan 2024 22:28:56 -0300 Subject: [PATCH 6/6] standardize kool.dev cloud naming --- README.md | 2 +- commands/cloud.go | 8 ++++---- commands/cloud_deploy.go | 2 +- commands/cloud_deploy_destroy.go | 2 +- commands/cloud_deploy_exec.go | 4 ++-- commands/cloud_deploy_logs.go | 4 ++-- docs/02-Kool-Cloud/01-Getting-Started.md | 6 +++--- docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md | 6 +++--- docs/05-Commands-Reference/0-kool.md | 2 +- docs/05-Commands-Reference/kool-cloud-deploy.md | 6 +++--- docs/05-Commands-Reference/kool-cloud-destroy.md | 6 +++--- docs/05-Commands-Reference/kool-cloud-exec.md | 8 ++++---- docs/05-Commands-Reference/kool-cloud-help.md | 4 ++-- docs/05-Commands-Reference/kool-cloud-logs.md | 8 ++++---- docs/05-Commands-Reference/kool-cloud-setup.md | 4 ++-- docs/05-Commands-Reference/kool-cloud.md | 14 +++++++------- services/cloud/api/endpoint.go | 4 ++-- services/cloud/deploy_validator.go | 2 +- templates/kool.deploy.yml | 4 ++-- 19 files changed, 48 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 0fa46ee0..fea53502 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ **Kool** is a CLI tool that brings the complexities of modern software development environments down to earth - making these environments lightweight, fast and reproducible. It reduces the complexity and learning curve of _Docker_ containers for local environments, and offers a simplified interface for using _Kubernetes_ to deploy staging and production environments to the cloud. -**Kool** gets your local development environment up and running easily and quickly, so you have more time to build a great application. When the time is right, you can then use Kool Cloud to deploy and share your work with the world! +**Kool** gets your local development environment up and running easily and quickly, so you have more time to build a great application. When the time is right, you can then use Kool.dev Cloud to deploy and share your work with the world! **Kool** is suitable for solo developers and teams of all sizes. It provides a hassle-free way to handle the Docker basics and immediately start using containers for development, while simultaneously guaranteeing no loss of control over more specialized Docker environments. diff --git a/commands/cloud.go b/commands/cloud.go index 665b679f..b135adc4 100644 --- a/commands/cloud.go +++ b/commands/cloud.go @@ -48,8 +48,8 @@ func AddKoolCloud(root *cobra.Command) { func NewCloudCommand(cloud *Cloud) (cloudCmd *cobra.Command) { cloudCmd = &cobra.Command{ Use: "cloud COMMAND [flags]", - Short: "Interact with Kool Cloud and manage your deployments.", - Long: "The cloud subcommand encapsulates a set of APIs to interact with Kool Cloud and deploy, access and tail logs from your deployments.", + Short: "Interact with Kool.dev Cloud and manage your deployments.", + Long: "The cloud subcommand encapsulates a set of APIs to interact with Kool.dev Cloud and deploy, access and tail logs from your deployments.", Example: `kool cloud deploy`, // add cobra usage help content DisableFlagsInUseLine: true, @@ -85,7 +85,7 @@ func NewCloudCommand(cloud *Cloud) (cloudCmd *cobra.Command) { // if no token is set, we try to get it from the environment if cloud.flags.Token == "" && cloud.env.Get("KOOL_API_TOKEN") == "" { if requiredFlags { - err = fmt.Errorf("missing Kool Cloud API token - please set it via --token or KOOL_API_TOKEN environment variable") + err = fmt.Errorf("missing Kool.dev Cloud API token - please set it via --token or KOOL_API_TOKEN environment variable") return } } else if cloud.flags.Token != "" { @@ -96,7 +96,7 @@ func NewCloudCommand(cloud *Cloud) (cloudCmd *cobra.Command) { }, } - cloudCmd.PersistentFlags().StringVarP(&cloud.flags.Token, "token", "", "", "Token to authenticate with Kool Cloud API") + cloudCmd.PersistentFlags().StringVarP(&cloud.flags.Token, "token", "", "", "Token to authenticate with Kool.dev Cloud API") cloudCmd.PersistentFlags().StringVarP(&cloud.flags.DeployDomain, "domain", "", "", "Environment domain name to deploy to") return diff --git a/commands/cloud_deploy.go b/commands/cloud_deploy.go index bb866d5e..c4533464 100644 --- a/commands/cloud_deploy.go +++ b/commands/cloud_deploy.go @@ -47,7 +47,7 @@ type KoolDeploy struct { func NewDeployCommand(deploy *KoolDeploy) (cmd *cobra.Command) { cmd = &cobra.Command{ Use: "deploy", - Short: "Deploy a local application to a Kool Cloud environment", + Short: "Deploy a local application to a Kool.dev Cloud environment", RunE: DefaultCommandRunFunction(deploy), Args: cobra.NoArgs, diff --git a/commands/cloud_deploy_destroy.go b/commands/cloud_deploy_destroy.go index 88b93b14..e61f6609 100644 --- a/commands/cloud_deploy_destroy.go +++ b/commands/cloud_deploy_destroy.go @@ -20,7 +20,7 @@ type KoolDeployDestroy struct { func NewDeployDestroyCommand(destroy *KoolDeployDestroy) *cobra.Command { return &cobra.Command{ Use: "destroy", - Short: "Destroy an environment deployed to Kool Cloud", + Short: "Destroy an environment deployed to Kool.dev Cloud", Args: cobra.NoArgs, RunE: DefaultCommandRunFunction(destroy), diff --git a/commands/cloud_deploy_exec.go b/commands/cloud_deploy_exec.go index abc989ba..c0af68c3 100644 --- a/commands/cloud_deploy_exec.go +++ b/commands/cloud_deploy_exec.go @@ -27,8 +27,8 @@ type KoolDeployExecFlags struct { func NewDeployExecCommand(deployExec *KoolDeployExec) (cmd *cobra.Command) { cmd = &cobra.Command{ Use: "exec SERVICE [COMMAND] [--] [ARG...]", - Short: "Execute a command inside a running service container deployed to Kool Cloud", - Long: `After deploying an application to Kool Cloud using 'kool deploy', + Short: "Execute a command inside a running service container deployed to Kool.dev Cloud", + Long: `After deploying an application to Kool.dev Cloud using 'kool deploy', execute a COMMAND inside the specified SERVICE container (similar to an SSH session). Must use a KOOL_API_TOKEN environment variable for authentication.`, Args: cobra.MinimumNArgs(1), diff --git a/commands/cloud_deploy_logs.go b/commands/cloud_deploy_logs.go index 681638a9..b09edc14 100644 --- a/commands/cloud_deploy_logs.go +++ b/commands/cloud_deploy_logs.go @@ -28,8 +28,8 @@ type KoolDeployLogsFlags struct { func NewDeployLogsCommand(deployLogs *KoolDeployLogs) (cmd *cobra.Command) { cmd = &cobra.Command{ Use: "logs [OPTIONS] SERVICE", - Short: "See the logs of running service container deployed to Kool Cloud", - Long: `After deploying an application to Kool Cloud using 'kool deploy', + Short: "See the logs of running service container deployed to Kool.dev Cloud", + Long: `After deploying an application to Kool.dev Cloud using 'kool deploy', you can see the logs from the specified SERVICE container. Must use a KOOL_API_TOKEN environment variable for authentication.`, Args: cobra.ExactArgs(1), diff --git a/docs/02-Kool-Cloud/01-Getting-Started.md b/docs/02-Kool-Cloud/01-Getting-Started.md index d94cefbb..1fa6f488 100644 --- a/docs/02-Kool-Cloud/01-Getting-Started.md +++ b/docs/02-Kool-Cloud/01-Getting-Started.md @@ -1,14 +1,14 @@ -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. +The [Kool.dev 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. 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. > **Enterprise**: You can use Kool.dev Cloud to deploy workloads to your own cloud vendor to keep things compliant - [contact us](mailto:contact@kool.dev) for the **"Bring your Own Cloud"** offer. -**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. +**Kool.dev 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. ## Deploy Docker Compose-based, containerized apps in just a few simple steps -1. [Sign up for Kool Cloud](https://kool.dev/register) and get your access token. +1. [Sign up for Kool.dev Cloud](https://kool.dev/register) and get your access token. - You can store your token in your `.env` file if you are using one: - `echo "KOOL_API_TOKEN=" >> .env` - Or you can store your token in a real environment variable: diff --git a/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md b/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md index a80c36f8..e5237a24 100644 --- a/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md +++ b/docs/02-Kool-Cloud/20-kool.cloud.yml-Reference.md @@ -23,7 +23,7 @@ services: - port: 80 ``` -Provided you have already signed up and obtained your access token for Kool Cloud in your `.env`, simply by running `kool cloud deploy`, you will get your container with `some/image` deployed to the cloud and a URL with HTTPS that will route incoming traffic to port 80 of that container. +Provided you have already signed up and obtained your access token for Kool.dev Cloud in your `.env`, simply by running `kool cloud deploy`, you will get your container with `some/image` deployed to the cloud and a URL with HTTPS that will route incoming traffic to port 80 of that container. ## Reference @@ -38,7 +38,7 @@ services: # Reference: https://docs.docker.com/compose/compose-file/compose-file-v3/#build build: . - # Tells Kool Cloud that this service is accessible through the deployment URL. + # Tells Kool.dev Cloud that this service is accessible through the deployment URL. # Note: only one service can be set to be public. public: true # simply defining true is enough to most cases where your `expose` port will be used for routing incoming HTTP requests. @@ -76,7 +76,7 @@ services: # Tells what user and group should own the persisted folder (only used along the sync: true) chown: user:group - # By default, Kool Cloud will rollout new deployments in a blue-green fashion. + # By default, Kool.dev Cloud will rollout new deployments in a blue-green fashion. # If you want to disable it and make sure the current running container # is stopped before the new one is created, set 'recreate: true'. recreate: false diff --git a/docs/05-Commands-Reference/0-kool.md b/docs/05-Commands-Reference/0-kool.md index ee1b5956..1c280d34 100644 --- a/docs/05-Commands-Reference/0-kool.md +++ b/docs/05-Commands-Reference/0-kool.md @@ -24,7 +24,7 @@ kool ### SEE ALSO -* [kool cloud](kool-cloud) - Interact with Kool Cloud and manage your deployments. +* [kool cloud](kool-cloud) - Interact with Kool.dev Cloud and manage your deployments. * [kool create](kool-create) - Create a new project using a preset * [kool docker](kool-docker) - Create a new container (a powered up 'docker run') * [kool exec](kool-exec) - Execute a command inside a running service container diff --git a/docs/05-Commands-Reference/kool-cloud-deploy.md b/docs/05-Commands-Reference/kool-cloud-deploy.md index 083a5105..1fc34dd9 100644 --- a/docs/05-Commands-Reference/kool-cloud-deploy.md +++ b/docs/05-Commands-Reference/kool-cloud-deploy.md @@ -1,6 +1,6 @@ ## kool cloud deploy -Deploy a local application to a Kool Cloud environment +Deploy a local application to a Kool.dev Cloud environment ``` kool cloud deploy @@ -19,12 +19,12 @@ kool cloud deploy ``` --domain string Environment domain name to deploy to - --token string Token to authenticate with Kool Cloud API + --token string Token to authenticate with Kool.dev Cloud API --verbose Increases output verbosity -w, --working_dir string Changes the working directory for the command ``` ### SEE ALSO -* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. +* [kool cloud](kool_cloud) - Interact with Kool.dev Cloud and manage your deployments. diff --git a/docs/05-Commands-Reference/kool-cloud-destroy.md b/docs/05-Commands-Reference/kool-cloud-destroy.md index c9ae43ce..73c2f6e4 100644 --- a/docs/05-Commands-Reference/kool-cloud-destroy.md +++ b/docs/05-Commands-Reference/kool-cloud-destroy.md @@ -1,6 +1,6 @@ ## kool cloud destroy -Destroy an environment deployed to Kool Cloud +Destroy an environment deployed to Kool.dev Cloud ``` kool cloud destroy @@ -16,12 +16,12 @@ kool cloud destroy ``` --domain string Environment domain name to deploy to - --token string Token to authenticate with Kool Cloud API + --token string Token to authenticate with Kool.dev Cloud API --verbose Increases output verbosity -w, --working_dir string Changes the working directory for the command ``` ### SEE ALSO -* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. +* [kool cloud](kool_cloud) - Interact with Kool.dev Cloud and manage your deployments. diff --git a/docs/05-Commands-Reference/kool-cloud-exec.md b/docs/05-Commands-Reference/kool-cloud-exec.md index a9cc9a51..f9da3e65 100644 --- a/docs/05-Commands-Reference/kool-cloud-exec.md +++ b/docs/05-Commands-Reference/kool-cloud-exec.md @@ -1,10 +1,10 @@ ## kool cloud exec -Execute a command inside a running service container deployed to Kool Cloud +Execute a command inside a running service container deployed to Kool.dev Cloud ### Synopsis -After deploying an application to Kool Cloud using 'kool deploy', +After deploying an application to Kool.dev Cloud using 'kool deploy', execute a COMMAND inside the specified SERVICE container (similar to an SSH session). Must use a KOOL_API_TOKEN environment variable for authentication. @@ -23,12 +23,12 @@ kool cloud exec SERVICE [COMMAND] [--] [ARG...] ``` --domain string Environment domain name to deploy to - --token string Token to authenticate with Kool Cloud API + --token string Token to authenticate with Kool.dev Cloud API --verbose Increases output verbosity -w, --working_dir string Changes the working directory for the command ``` ### SEE ALSO -* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. +* [kool cloud](kool_cloud) - Interact with Kool.dev Cloud and manage your deployments. diff --git a/docs/05-Commands-Reference/kool-cloud-help.md b/docs/05-Commands-Reference/kool-cloud-help.md index 0af29b88..28fd18a7 100644 --- a/docs/05-Commands-Reference/kool-cloud-help.md +++ b/docs/05-Commands-Reference/kool-cloud-help.md @@ -21,12 +21,12 @@ kool cloud help [command] [flags] ``` --domain string Environment domain name to deploy to - --token string Token to authenticate with Kool Cloud API + --token string Token to authenticate with Kool.dev Cloud API --verbose Increases output verbosity -w, --working_dir string Changes the working directory for the command ``` ### SEE ALSO -* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. +* [kool cloud](kool_cloud) - Interact with Kool.dev Cloud and manage your deployments. diff --git a/docs/05-Commands-Reference/kool-cloud-logs.md b/docs/05-Commands-Reference/kool-cloud-logs.md index 65c1aeab..198a609b 100644 --- a/docs/05-Commands-Reference/kool-cloud-logs.md +++ b/docs/05-Commands-Reference/kool-cloud-logs.md @@ -1,10 +1,10 @@ ## kool cloud logs -See the logs of running service container deployed to Kool Cloud +See the logs of running service container deployed to Kool.dev Cloud ### Synopsis -After deploying an application to Kool Cloud using 'kool deploy', +After deploying an application to Kool.dev Cloud using 'kool deploy', you can see the logs from the specified SERVICE container. Must use a KOOL_API_TOKEN environment variable for authentication. @@ -25,12 +25,12 @@ kool cloud logs [OPTIONS] SERVICE ``` --domain string Environment domain name to deploy to - --token string Token to authenticate with Kool Cloud API + --token string Token to authenticate with Kool.dev Cloud API --verbose Increases output verbosity -w, --working_dir string Changes the working directory for the command ``` ### SEE ALSO -* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. +* [kool cloud](kool_cloud) - Interact with Kool.dev Cloud and manage your deployments. diff --git a/docs/05-Commands-Reference/kool-cloud-setup.md b/docs/05-Commands-Reference/kool-cloud-setup.md index 67f8db6f..654c28b5 100644 --- a/docs/05-Commands-Reference/kool-cloud-setup.md +++ b/docs/05-Commands-Reference/kool-cloud-setup.md @@ -16,12 +16,12 @@ kool cloud setup ``` --domain string Environment domain name to deploy to - --token string Token to authenticate with Kool Cloud API + --token string Token to authenticate with Kool.dev Cloud API --verbose Increases output verbosity -w, --working_dir string Changes the working directory for the command ``` ### SEE ALSO -* [kool cloud](kool_cloud) - Interact with Kool Cloud and manage your deployments. +* [kool cloud](kool_cloud) - Interact with Kool.dev Cloud and manage your deployments. diff --git a/docs/05-Commands-Reference/kool-cloud.md b/docs/05-Commands-Reference/kool-cloud.md index ebd3aef8..7563599d 100644 --- a/docs/05-Commands-Reference/kool-cloud.md +++ b/docs/05-Commands-Reference/kool-cloud.md @@ -1,10 +1,10 @@ ## kool cloud -Interact with Kool Cloud and manage your deployments. +Interact with Kool.dev Cloud and manage your deployments. ### Synopsis -The cloud subcommand encapsulates a set of APIs to interact with Kool Cloud and deploy, access and tail logs from your deployments. +The cloud subcommand encapsulates a set of APIs to interact with Kool.dev Cloud and deploy, access and tail logs from your deployments. ### Examples @@ -17,7 +17,7 @@ kool cloud deploy ``` --domain string Environment domain name to deploy to -h, --help help for cloud - --token string Token to authenticate with Kool Cloud API + --token string Token to authenticate with Kool.dev Cloud API ``` ### Options inherited from parent commands @@ -30,9 +30,9 @@ kool cloud deploy ### SEE ALSO * [kool](kool) - Cloud native environments made easy -* [kool cloud deploy](kool_cloud_deploy) - Deploy a local application to a Kool Cloud environment -* [kool cloud destroy](kool_cloud_destroy) - Destroy an environment deployed to Kool Cloud -* [kool cloud exec](kool_cloud_exec) - Execute a command inside a running service container deployed to Kool Cloud -* [kool cloud logs](kool_cloud_logs) - See the logs of running service container deployed to Kool Cloud +* [kool cloud deploy](kool_cloud_deploy) - Deploy a local application to a Kool.dev Cloud environment +* [kool cloud destroy](kool_cloud_destroy) - Destroy an environment deployed to Kool.dev Cloud +* [kool cloud exec](kool_cloud_exec) - Execute a command inside a running service container deployed to Kool.dev Cloud +* [kool cloud logs](kool_cloud_logs) - See the logs of running service container deployed to Kool.dev Cloud * [kool cloud setup](kool_cloud_setup) - Set up local configuration files for deployment diff --git a/services/cloud/api/endpoint.go b/services/cloud/api/endpoint.go index 885a4804..e4e3ea9a 100644 --- a/services/cloud/api/endpoint.go +++ b/services/cloud/api/endpoint.go @@ -182,7 +182,7 @@ func (e *DefaultEndpoint) DoCall() (err error) { reqURL := fmt.Sprintf("%s/%s?%s", apiBaseURL, e.path, e.query.Encode()) if verbose { - fmt.Fprintf(os.Stderr, "[Kool Cloud] Going to call: %s\n", reqURL) + fmt.Fprintf(os.Stderr, "[Kool.dev Cloud] Going to call: %s\n", reqURL) } if request, err = http.NewRequest(e.method, reqURL, body); err != nil { @@ -207,7 +207,7 @@ func (e *DefaultEndpoint) DoCall() (err error) { } if verbose { - fmt.Fprintf(os.Stderr, "[Kool Cloud] Got: %s\n", string(raw)) + fmt.Fprintf(os.Stderr, "[Kool.dev Cloud] Got: %s\n", string(raw)) } if e.statusCode >= 400 { diff --git a/services/cloud/deploy_validator.go b/services/cloud/deploy_validator.go index 15adbd6b..fb460cf1 100644 --- a/services/cloud/deploy_validator.go +++ b/services/cloud/deploy_validator.go @@ -21,7 +21,7 @@ type DeployConfig struct { // CloudConfig is the configuration for a deploy parsed from kool.cloud.yml type CloudConfig struct { - // version of the Kool Cloud config file + // version of the Kool.dev Cloud config file Version string `yaml:"version"` // services is a map of services to deploy diff --git a/templates/kool.deploy.yml b/templates/kool.deploy.yml index 9f1003da..d8aa78f2 100644 --- a/templates/kool.deploy.yml +++ b/templates/kool.deploy.yml @@ -5,7 +5,7 @@ services: # Applications usually will require a special image built for deployment. build: Dockerfile - # Tells Kool Cloud that this service is accessible through the deployment URL. + # Tells Kool.dev Cloud that this service is accessible through the deployment URL. # Note: only one service can be set to be public. public: # Tells the port that should be used for routing incoming HTTP traffic. @@ -40,7 +40,7 @@ services: # Tells what user and group should own the persisted folder (only used along the sync: true) chown: user:group - # By default, Kool Cloud will rollout new deployments in a blue-green fashion. + # By default, Kool.dev Cloud will rollout new deployments in a blue-green fashion. # If you want to disable it and make sure the current running container # stopped before the new one is created, set 'recreate: true'. recreate: false