Skip to content

enr/runp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Runp

CI Linux Mac CI Windows Documentation Download

Like docker-compose but in addition to containers it also run processes on host and SSH tunnels.

Useful to streamline the full setup of a development environment.

Usage

Define the system in a Runpfile:

name: Example
description: |
  Sample Runpfile to show runp functionalities
units:
  web:
    description: Web app
    # this process is running on host machine
    host:
      command: node app.js
      workdir: backend
      env:
        # inherit PATH from host system to find needed tools (e.g. node)
        PATH: $PATH
      await:
        # wait for the DB being available
        resource: tcp4://localhost:5432/
        timeout: 0h0m10s
  mail:
    description: Test mail server
    # this process is running in a container
    container:
      image: docker.io/mailhog/mailhog
      ports:
        - "8025:8025"
        - "1025:1025"
  db:
    description: Corporate DB
    # This process is reachable through SSH port forwarding
    ssh_tunnel:
      user: user
      auth:
        identity_file: ~/.ssh/id_rsa
      local:
        port: 5432
      jump:
        host: dev.host
        port: 22
      target:
        host: corporate.db
        port: 5432

Run runp:

runp up -f /path/to/Runpfile

For more examples see examples directory, for more info read the documentation.

Develop

Download or clone repository.

Build (binaries will be created in bin/):

./.sdlc/build

or

.sdlc\build.cmd

Check (code quality and tests):

./.sdlc/check

or

.sdlc\check.cmd

License

Apache 2.0 - see LICENSE file.

Copyright 2020-TODAY runp contributors