inspr

module
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2021 License: MIT

README ยถ



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

  • TBD

๐Ÿ‘ 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.

๐Ÿ“ฃ Contact

To contact us, please join our Discord community. Aditionally we are at Reddit

Directories ยถ

Path Synopsis
cmd
docs
cli
examples
pkg
api
auth/jwt
Package jwtauth is responsible for implementing the auth methods specified in the auth folder of the inspr pkg.
Package jwtauth is responsible for implementing the auth methods specified in the auth folder of the inspr pkg.
cmd
ierrors
Package ierrors provides an easy way to wrap context to the error of the standard library, as well as support for multiple errors.
Package ierrors provides an easy way to wrap context to the error of the standard library, as well as support for multiple errors.
rest
Package rest contains the functions that make it easier to manager api handler functions
Package rest contains the functions that make it easier to manager api handler functions
utils
Package utils has a number of useful operations that are used in multiple places of the inspr packages, contains operations such as: - compare_options: "comparators and evaluator for slices and maps" - string_slice: "set of operations of custom string slice"
Package utils has a number of useful operations that are used in multiple places of the inspr packages, contains operations such as: - compare_options: "comparators and evaluator for slices and maps" - string_slice: "set of operations of custom string slice"

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL