Skip to content

Latest commit

 

History

History
95 lines (70 loc) · 3.26 KB

README.md

File metadata and controls

95 lines (70 loc) · 3.26 KB

Build Status

Openshift Installer

The CoreOS and OpenShift teams are now working together to integrate Tectonic and OpenShift into a converged platform. See the CoreOS blog for any additional details: https://coreos.com/blog/coreos-tech-to-combine-with-red-hat-openshift

Hacking

These instructions can be used for AWS:

  1. Set you access-key and secret in ~/.aws/credentials. You can create credentials in the IAM console, as documented here and here.

  2. Build the project

    bazel build tarball

    Note: the project can optionally be built without installing Bazel, provided Docker is installed:

    docker run --rm -v $PWD:$PWD:Z -w $PWD quay.io/coreos/tectonic-builder:bazel-v0.3 bazel --output_base=.cache build tarball
  3. Extract the tarball

    tar -zxf bazel-bin/tectonic-dev.tar.gz
    cd tectonic-dev
  4. Add binaries to $PATH

    export PATH=$(pwd)/installer:$PATH
  5. Edit Tectonic configuration file including the $CLUSTER_NAME

    $EDITOR examples/tectonic.aws.yaml
  6. Init Tectonic CLI

    tectonic init --config=examples/tectonic.aws.yaml
  7. Install Tectonic cluster

    tectonic install --dir=$CLUSTER_NAME
  8. Visit https://{$CLUSTER_NAME}-api.${BASE_DOMAIN}:6443/console/. You may need to ignore a certificate warning if you did not configure a CA known to your browser. Log in with the admin credentials you configured in tectonic.aws.yaml.

  9. Teardown Tectonic cluster

    tectonic destroy --dir=$CLUSTER_NAME

Managing Dependencies

Go

We follow a hard flattening approach; i.e. direct and inherited dependencies are installed in the base vendor/.

Dependencies are managed with glide but committed directly to the repository. If you don't have glide, install the latest release from https://glide.sh/. We require version 0.12 at a minimum.

The vendor directory is pruned using glide-vc. Follow the installation instructions in the project's README.

To add a new dependency:

  • Edit the glide.yaml file to add your dependency.
  • Ensure you add a version field for the sha or tag you want to pin to.
  • Revendor the dependencies:
rm glide.lock
glide install --strip-vendor
glide-vc --use-lock-file --no-tests --only-code
bazel run //:gazelle

If it worked correctly it should:

  • Clone your new dep to the /vendor dir and check out the ref you specified.
  • Update glide.lock to include your new package, add any transitive dependencies and update its hash.
  • Regenerate BUILD.bazel files.

For the sake of your fellow reviewers, commit vendored code separately from any other changes.

Tests

See tests/README.md.