A Cloud Native Application Mesh.
Describe, connect, secure, test and deploy distributed applications with less effort.
Inspr is an agnostic application mesh for simpler, faster, and more secure development of distributed applications (dApps). With it you can coordinate the application lifecycle and how the subparts of a dApp interconnect themselves.
For Insprโs point of view, a dApp is defined as an abstraction on top of the concept of a microservice. We extend the model by adding patterns of composition, communication, security, and adaptability to the application during runtime.
๐ Compose
With Inspr one dApp can be connected to another and those two will become a new application. Consider as an example where weโre creating a online shop called โSammyfyโ. To build this product weโll need a few services such as payment, catalog, and delivery.
Of course, we could create those three services and interconnect them by using Rest API or even something more robust like brokers. But it would still be hard and painful to manage all the dApps together. Thatโs why Inspr exists, so you can manage all three applications as one.
๐ก Comunicate
๐ Secure
๐ฎ Adapt
Table of Contents
๐ Getting Started
Cluster
First of all, it's important to have access to a Kubernetes cluster that is up and running. The cluster can be hosted on a local machine, or via a cloud service like GCloud or AWS (more info about cluster creation here).
The recommended way to install Inspr in a Kubernetes cluster is by using Helm.
Helm is a package manager for Kubernetes, and by using it the installation process is much simpler. Read more about Helm and how to install it here.
After downloading Helm, the first step is to add the Helm chart repository to the cluster:
# add the helm chart repository to the cluster:
helm repo add inspr https://inspr-charts.storage.googleapis.com
# replace inspr_name by the cluster's desired name and install insprd
helm install inspr_name inspr/insprd
Additionally you can check the default values file for the Helm chart.
They are included in the build/helm
folder and can be edited for further refinement and customization of it's properties.
CLI
After installing Insprd in the cluster, the Inspr CLI must be installed so that it is possible to create and manage Inspr structures in the cluster.
To install the CLI get the latest release for your architecture from the releases
page and add it to your PATH.
For Linux / Mac you can install the latest version by running the following command on the terminal:
curl -s https://storage.googleapis.com/inspr-cli/install_cli.sh | bash
You can check if the installation was successful by typing inspr -h
on your terminal.
Before starting to use the CLI, be sure to check that it is referencing your cluster. First check the current config using:
insprctl config list
And if the serverip
is not the hostname currently being used to access the cluster IP, it must be modified:
insprctl config serverip http://<your_domain>.com
And now you're good to go!
To follow a step-by-step tutorial on how to implement your first Inspr application, click here!
Documentation
The full documentation for Inspr can be found on our website.
The source for the Inspr documentation and website is hosted on a separate repo, @inspr/docs.
Architecture
๐ Contributing
The main purpose of this repository is to continue evolving Inspr core. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bug fixes and improvements.
To contribute, please check out our guide.
๐ License
- Inspr is licenced under MIT license.
- Inspr documentation is Creative Commons licensed, as found in the license-docs file.
To contact us, please join our Discord community.
Aditionally we are at Reddit