An open API service indexing awesome lists of open source software.

https://github.com/gluestack/bolt-framework

The Universal Project Runner. Run Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.
https://github.com/gluestack/bolt-framework

bolt docker gluestack host local project-runner service-runner virtual-machine

Last synced: about 1 year ago
JSON representation

The Universal Project Runner. Run Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.

Awesome Lists containing this project

README

          


bolt: The Universal Project Runner



Run Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.


Report Bug
·
Request Feature


## :question: What is bolt?

bolt is the Universal Project Runner that runs Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.

Below's brief overview of bolt's architecture -

![Bolt Architecture](https://raw.github.com/gluestack/bolt-framework/main/Bolt.svg)

## :thinking: Why bolt?

Running projects locally requires running system services and using system resources.

For eg: A project may need to run a Postgres instance, an iOS simulator and a Node watcher & bundler.

It can get cumbersome when you set up everything manually because you may need a Docker instance for the Postgres, a child process on the host machine to boot the iOS simulator and another child process for the Node packager. The Node packager can also run as a Docker instance.

And when you run all these, the host machine may slow down and you may have to move things inside a VM. Bolt solves all those problems with a unified API for managing services (boot, kill, restart, fetch logs).

Below's brief overview of how bolt's architecture designed to help in such scenarios -

![Why Bolt?](https://raw.github.com/gluestack/bolt-framework/main/WhyBolt.svg)

## :fire: Features

* Allows you to run multiple services from a single project on different environments
* You can run a service on your host machine locally or within Bolt's prepared virtual machine
* Auto-detection helps you quickly get started with the Bolt file configuration
* Available environments include:
* Host machine's local environment
* Host machine's Docker environment
* Virtual machine's local environment
* Virtual machine's Docker environment
* Includes the log command to monitor and print logs from processes, Docker containers, or virtual machines
* Facilitates access to your project's virtual machine

## :beginner: Getting started

* [Introduction](https://bolt.gluestack.io/docs/getting-started/introduction)
* [Terminologies](https://bolt.gluestack.io/docs/getting-started/terminologies)
* [Installation Guide](https://bolt.gluestack.io/docs/getting-started/installing-the-global-cli)
* [Your First Bolt Project](https://bolt.gluestack.io/docs/getting-started/your-first-bolt-project)
* [Add Bolt to Existing Project](https://bolt.gluestack.io/docs/getting-started/add-bolt-to-existing-project)
* [ENV Management](https://bolt.gluestack.io/docs/getting-started/env-management)
* [Service Management](https://bolt.gluestack.io/docs/getting-started/service-management)

Checkout our [documentation](https://bolt.gluestack.io/docs) to find out more and to go through our Tutorials & API References.

## :see_no_evil: Caveat

We are currently very much an Alpha product. To file an issue if you face any problems or to discuss your use-case, please join our [Discord](https://discord.gg/GEP2gWgd).

## :telephone_receiver: For contributing or connecting with us

Join our [Discord](https://discord.gg/GEP2gWgd)