Skip to content
ReactJS for your infrastructure. Create and deploy full-stack apps to any infrastructure using the power of React.
TypeScript JavaScript Shell Makefile HTML TSQL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
build_support
cli
cloud
config
containit @ 4a7d5f2
core
demo
docs
dom-parser
scripts
systemtest
testutils
utils
verdaccio
.gitattributes
.gitignore
.gitlab-ci.yml
.gitmodules
.nycrc
LICENSE
Makefile
README.md
api-extractor-base.json
default.code-workspace
lerna.json
nyc.json
package.json
tsconfig.json
tslint.json
yarn.lock

README.md

Adapt logo

npm Gitter License

Adapt - ReactJS for your infrastructure.

Adapt is a system to easily, reliably, and repeatably deploy your full-stack applications. Adapt specifications look like React apps, but instead of rendering browser DOM elements like <input>, or <div>, Adapt specifications use elements like AWS <EC2Instance>, Kubernetes <Pod>, or <MongoDB> database.

If you're already familiar with React, you'll feel right at home with Adapt. But if not, don't worry, knowledge of React isn't required to start using Adapt.

Getting Started

For a new project, it's easy to get started with Adapt by using a starter template. The Getting Started Guide will walk through installing Adapt and deploying your first starter app.

Creating and deploying an app

This example creates a new full-stack app from a starter template. It has a React UI, an Nginx web server, a Node.js API server, and a Postgres database, then deploys it to Kubernetes:

# Install adapt
npm install -g @adpt/cli

# Create a new app from a starter template
adapt new hello-react-node-postgres ./myapp
cd myapp/deploy

# Deploy to Kubernetes using "k8s" style sheet
adapt run k8s

The Adapt description for the complete app stack looks like this:

import Adapt from "@adpt/core";
import { NodeService, ReactApp } from "@adpt/cloud/nodejs";
import { Postgres } from "@adpt/cloud/postgres";

function MyApp() {
  const pg = Adapt.handle();

  return (
    <Adapt.Group>
      <ReactApp srcDir="../frontend" />
      <NodeService srcDir="../backend" connectTo={pg} />
      <Postgres handle={pg} />
    </Adapt.Group>
  );
}

Adapt in action

This demo shows using Adapt to create and deploy a simple app called MovieDB that has a React UI, an Nginx web server, an Nginx URL router, a Node.js API server, and a Postgres database, then deploys it to Kubernetes:

Adapt in action

More info

Getting Help

Gitter

We'd love to hear about your experience with Adapt! Join us on our Gitter channel to ask questions or to give us your feedback and suggestions.

If you've found a bug, you can also file an issue.

You can’t perform that action at this time.