Git Product home page Git Product logo

orc-1's Introduction

Orc(hestrator)

This is a script to emulate some of pow's functionality.

For it all to work, it requires:

  1. A functional nginx installation (provided)
  2. A functional dnsmasq installation (provided)
  3. An app that listens on $app_dir/tmp/app.sock or a static site that places it's content under $app_dir/public
  4. Some familiarity with the command line

Installation

  1. Check out orc into ~/.orc.

    $ git clone https://github.com/basecamp/orc.git ~/.orc
  2. Add orc init to your shell to enable shims and autocompletion.

    $ echo 'eval "$(~/.orc/bin/orc init -)"' >> ~/.bash_profile

    Use ~/.bashrc on Ubuntu, or ~/.zshrc for Zsh.

  3. Restart your shell so that PATH changes take effect. (Opening a new terminal tab will usually do it.) Now check if orc was set up:

    $ type orc
    #=> "orc is a aliased to _orc_wrapper"
  4. Start the web and dns processes:

    $ orc install

This will configure our DNS resolver to use our new dns server for the *.devel domain. Here's how we're doing it on OS X:

~~~ sh
$ echo nameserver 127.0.0.1 | \
  sudo tee /etc/resolver/devel /etc/resolver/staging
~~~

For Linux, please install dnsmasq and add the following to your config: ~~~ sh address=/.devel/127.0.0.1 ~~~

Uninstalling

$ orc uninstall

And remove the eval "$(~/.orc/bin/orc init -)" line from your .bashrc/.bash_profile/.zshrc.

Adding apps to orc

$ orc add /path/to/my-cool-app

You can now go to http://my-cool-app.dev/ and see your app running!

Removing apps from orc

$ orc remove my-cool-app

This will remove the link to the app and orc cannot manage it anymore.

Starting and Stopping Apps

This is in flux. More details as this architecture emerges.

Help

Running orc help is your friend.

Nginx and dnsmasq

To handle nginx and dns, we use docker! Go install it. To get them setup and running, it's pretty easy:

$ orc web start

This will create AND TRUST a local CA for local https development and start the docker containers. If you want to watch the nginx logs, run:

$ orc web logs
# or
$ orc web logs -f

General Architecture

Our general request path will look like this: Docker Dev Request Flow

Thanks

Many thanks to @noahhl, @sstephenson, @qrush for their excellent support and encouragement! Thanks to @ernie for the_setup which also influenced the design; more directly in some ways than others!

orc-1's People

Contributors

anoldguy 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.