Giter Site home page Giter Site logo

bastion's Introduction

bastion

the real bastion software

Building

Bastion uses gb and go-build.

Compiling locally

CGO_ENABLED=0 gb build

Binaries will be under bin/

The bastion, of course, requires you to compile the bastion protobuf spec. It's recommended to use the build container for that, as you will not have to deal with dependencies locally.

Building the container

docker pull quay.io/opsee/build-go
docker run -v `pwd`:/build quay.io/opsee/build-go
docker build -t quay.io/opsee/bastion:latest .

Integration Testing

We do all of our integration testing by building a bastion instance and testing against it. This is done with mami. To configure mami and run tests against the bastion, do the following.

Set the following environment variables:

  • CUSTOMER_ID
  • BASTION_ID
  • VPN_PASSWORD

These can be obtained from someone or you can setup your own customer/bastion to use for your local testing. The Vape service handles Bastion authentication, so you would get all of this from it.

Then, build the bastion container, push your version, and build a bastion instance.

# You can version your bastion however you want, for CI builds we do rev hashes.
export BASTION_VERSION=$(git rev-parse HEAD)
docker run -v `pwd`:/build quay.io/opsee/build-go
docker build -t quay.io/opsee/bastion:$BASTION_VERSION .
aws s3 cp s3://opsee-releases/clj/mami/master/mami-0.1.0-SNAPSHOT-standalone.jar mami/mami.jar
java -jar mami/mami.jar build --bastion-version $BASTION_VERSION build/mami.json

# If you wish to keep your bastion alive after mami is finished, pass the
# --no-cleanup flag to the build command.
# java -jar mami/mami.jar build --no-cleanup --bastion-version $BASTION_VERSION build/mami.json

Sometimes I fucking cannot stand CircleCI.

bastion's People

Contributors

grepory avatar moonpolysoft avatar snorecone avatar argv0 avatar mborsuk avatar

Watchers

 avatar James Cloos avatar

Forkers

grepory

bastion's Issues

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.