fabriciojs / kool

From local development to the cloud: development workflow made easy.

Home Page:https://kool.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kool - cloud native

Go Report Card codecov Docker Hub Golang CI Lint Maintainability Join Slack Kool community

About kool

kool is a CLI tool that helps bringing down to earth the complexities of modern software development environments - making them lightweight, fast and reproduceable. It takes off the complexity and learning curve of Docker and Docker Compose for local environments, as well as offers a highly simplified interface for leveraging Kubernetes cloud deployment for staging and production deployments.

Get your local development environment up and running easy and quickly, put time and effort on making a great application, and then leverage the Kool cloud for deploying and sharing your work with the world! This tool is suitable for single developers or large teams, powering them with a simple start and still provides all flexibility the DevOps team needs to tailor up everything.

Why adopt kool for your development environment?

  • Provides out-of-the-box simple and fast development environments.
  • No problems with running several projects with different versions and dependency needs.
  • Do not install other project specific dependency ever again in your machine.
  • Removes the learning curve of managing Docker and Docker Compose yourself (yet does not remove one inch of flexibity if you know your way around them).
  • Standard tool for different stacks - helps micro-services teams to communicate and navigate amongst projects.

Installation

Requirements: Kool is powered by Docker so you need to have it already installed on your machine. If you haven't already, please get Docker first.

For Linux or MacOS

In order to obtain kool under Linux and MacOS run the following script:

curl -fsSL https://kool.dev/install | bash

For Windows

Download and run the latest installer from our releases artifacts here.

Getting started

It is easy to get started leveraging kool.

To create a new Laravel project you only need to:

$ kool create laravel my-laravel-project
$ cd my-laravel-project/
$ # make sure your `.env` points to the proper database and Redis hosts (`database` and `cache`)
$ kool start

To get started in an existing Laravel project you only need to:

$ cd my-laravel-project/
$ kool preset laravel
$ # make sure your `.env` points to the proper database and Redis hosts (`database` and `cache`)
$ kool start
  • There you go! Now you have a PHP 7.4, Mysql and Redis environment. You are encouraged to take a look and make changes you see fit at docker-compose.yml or kool.yml to better adjust your project specifications.

  • The steps above will create some configuration files in your project folder - all of which you should commit to your version control system.

Documentation

You can check the documentation at https://kool.dev/docs or at docs/.

Frameworks Presets

To help getting you started we've built presets as a starting point for some popular stacks and frameworks. In case you miss one let us know in an issue or feel free to open up a PR for it!

Some or our current presets to get you started in no time:

See it in action (DEMO)

You can check out a couple of sample commands in action at asciinema.org/~kooldev. We will be continuously uploading more samples.

Community, Contributing and Support

You are most welcome to contribute and help in our mission of making software development kool for everyone.

Roadmap

We have been working in a loosely defined but clear roadmap. You can check it out in our blog Roadmap page.

Security

If you find security issue please let us know ahead of making it public like in an issue so we can take action as soon as possible. Please email the concern to contact@kool.dev.

License

The MIT License (MIT). Please see License File for more information.

About

From local development to the cloud: development workflow made easy.

https://kool.dev

License:MIT License


Languages

Language:Go 97.8%Language:Inno Setup 1.0%Language:Shell 0.9%Language:Dockerfile 0.1%Language:JavaScript 0.1%