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
These instructions can be used for AWS:
-
Set you access-key and secret in
~/.aws/credentials
. You can create credentials in the IAM console, as documented here and here. -
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
-
Extract the tarball
tar -zxf bazel-bin/tectonic-dev.tar.gz cd tectonic-dev
-
Add binaries to $PATH
export PATH=$(pwd)/installer:$PATH
-
Edit Tectonic configuration file including the $CLUSTER_NAME
$EDITOR examples/tectonic.aws.yaml
-
Init Tectonic CLI
tectonic init --config=examples/tectonic.aws.yaml
-
Install Tectonic cluster
tectonic install --dir=$CLUSTER_NAME
-
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 intectonic.aws.yaml
. -
Teardown Tectonic cluster
tectonic destroy --dir=$CLUSTER_NAME
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.
See tests/README.md.