Coder Social home page Coder Social logo

hypostasis's Introduction

Hypostasis

Hypostasis

Automatically provision and initialize remote servers through user-defined configuration files.

Notice

I am currently in the process of rewriting the project to add various improvements, features, and utilize what I have learned as time has gone on. I will push the changes and update the documentation when it is ready.

Introduction

Hypostasis signifies a particular substance as it is in its completeness.

-- Saint Thomas Aquinas, Summa Theologica, Tertia pars q.2 a.3 ad 2

Hypostasis allows you to unify a set of remote resources under a single set of configuration files. For each server you would like to provision you can provide firewall rules, environment variables, files to transfer, initialization commands and finally a script to be executed remotely. You can use built-in server provider drivers, i.e. Digital Ocean, or you can write your own to support any third-party server provider.

Usage

Generate an example starting project by using the init command:

java -jar hypostasis*.jar init

You should now have the default structure:

├── hypostasis.jar
├── config.edn
├── app.py
└── main.py

Edit the config.edn file to include the proper settings for each driver. In the default you will need to provide your API tokens and SSH public key information for Vultr and Digital Ocean.

After you have configured your remote servers, use the run command to launch your servers:

java -jar hypostasis*.jar run

Supported Providers

  • Digital Ocean
  • Vultr
  • Linode
  • Hetzner
  • Microsoft Azure
  • Amazon Web Services

License

Copyright © 2023 Adam Mertzenich

hypostasis's People

Contributors

mertzenich avatar

Watchers

 avatar Adam avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.