Code Monkey home page Code Monkey logo

eirini-station's Introduction

eirini-station

Common pairing environment for the Eirini Project. You can set up a development VM locally on Virtualbox or on the cloud using GCP.

Common prerequisites

In order to run the eirini-station VM you need to:

  • Install Vagrant:
    brew cask install vagrant
    
  • Install GnuPG:
    brew install gnupg
    
  • Set up your GPG store with your private key and everyone's public keys (see eirini-private-config for more details)
  • Load your SSH key in the ssh agent (even if you are using a key from your ~/.ssh dir you still need to load it):
    ssh-add ~/.ssh/id_rsa
    

Forwarding your GPG agent to a remote station

When you create your station your GPG key will not be copied to it for security reasons. Instead, your gpg-agent socket will be forwarded to the remote station so that the gpg program can access it. If you are the owner of the station you can just vagrant ssh and your socket will be automatically forwarded, but if you are joining a teammate's session you should pass some extra args to ssh in order to do the forwarding. To make this easy there are some aliases defined in the home config. The host can use those to generate the connection command and send it to you. Here is how they work:

  • on a gloud machine the owner should run pssh
  • on a local virtualbox machine the owner should run lsgrok

Running the oneliner that the station owner sent you will log you onto the machine with your gpg agent socket forwarded.

Switching between the GPG sockets of the station owner and a guest

Since both the station owner and their pair have their GPG agent sockets forwarded, there needs to be a way to switch between the two sockets. This can be done using the fix-gpg alias defined in eirini-home. If you are the guest and you want to use gpg while your host is away, you can run fix-gpg guest. If you are the host and want to reacquire control, you can run fix-gpg with no args.

You can check which socket is active at any time by running who-gpg.

eirini-station's People

Contributors

gcapizzi avatar danail-branekov avatar georgethebeatle avatar mnitchev avatar gdankov avatar eirinici avatar davewalter avatar yulianedyalkova 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.