Skip to content
Owen Evans edited this page Aug 19, 2015 · 2 revisions

Hoist internal information

Infrastructure and Deployments

Hoist's docker infrastructure is controlled and scripted through Terraform scripts, check out the terraform repository for all the information about updating/modifying the infrastructure

Hoist Terraform Repository

Deployment details are also found in the terraform repository

Docker

We use docker-compose to allow all our applications to be run on developer machines.

This relies on running the set of standard components. Check out the instructions here and then against each project you want to run.

Hoist services repository

Issues

All issues are to be found here, we don't raise/maintain issues against separate projects unless they're for external developers (then they should link to an issue in this repository)

Applications

All applications should be runnable with docker-compose locally as long as you have the standard stack started. Here are the current projects.

  • portal.hoist.io (repository)

    the basic developer portal.

  • bouncer.hoist.io (repository)

    manages user flow through authentication on behalf of applications

  • hoist.io (repository)

    the marketing site.

  • api.hoi.io (repository)

    developer api to subscribe and consume events in Hoist

  • executor (repository)

    The process that runs Hoist code on behalf of users

  • git.hoi.io (repository)

    listens for git pushes and deploys code pushed up

  • broker (repository)

    standard API library for interacting with events and rabbitmq

  • hoist-connect (repository)

    the core JavaScript library that is exposed as the global Hoist variable in executors.

  • pipelines

    these libraries are designed to be consumed by more than one wrapper library (API/hoist-connect/portal for example) and abstract the implementation details, they also rely on the calling library to manage context/session

    raises events using broker

    proxies to individual connector libraries based on keys

    interacts with the applications data store allowing the saving and querying of arbitary data

    interacts with buckets (contexts). Allowing saving or removal of buckets

  • connectors

    each connector project represents a different SaaS API that Hoist can connect to. [TODO:]Base API is described in the base-api-project