Tectonic Installer
The Tectonic Installer is an app for creating Tectonic clusters.
See official installation documentation if you'd like to use a published release.
Read on if you'd like to build and run the installer yourself.
Usage
Notable Flags and Environment Variables
flag |
env variable |
example |
-address |
INSTALLER_ADDRESS |
0.0.0.0:8080 |
-platforms |
INSTALLER_PLATFORMS |
bare-metal, aws |
-cookie-signing-secret |
INSTALLER_COOKIE_SIGNING_SECRET |
secret |
-disable-secure-cookie |
INSTALLER_DISABLE_SECURE_COOKIE |
false |
-open-browser |
INSTALLER_OPEN_BROWSER |
false |
-log-level |
INSTALLER_LOG_LEVEL |
debug, warn, error |
-version |
INSTALLER_VERSION |
NA |
-help |
INSTALLER_HELP |
NA |
License
Get a license and follow the guides to create Tectonic clusters end to end.
Build prerequisites
Build / Run
All commands mentioned here must be run from the same working directory as this README file, ./installer/
from the root of this repo.
Build the static binary.
make build
Run the binary for your platform (linux, darwin).
./bin/linux/installer -help
Visit http://127.0.0.1:4444.
Managing Dependencies
Frontend
Dependencies are managed with yarn and browserify. Unlike go
dependencies, yarn dependencies are not vendored directly, because
yarn install
will build native extensions that could break builds on
other platforms/operating systems. To add a dependency, run:
cd $GOPATH/src/github.com/coreos/tectonic-installer/installer/frontend
yarn add $MY_PACKAGE # for a runtime dependency
If you are adding a build dependency, run the following commands instead:
cd $GOPATH/src/github.com/coreos/tectonic-installer/installer/frontend
yarn add --dev $MY_BUILD_PACKAGE # for a development dependency
Both sets of commands will update the package.json
and
yarn.lock
files in the repository - those changes should
then be committed.
Go
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.
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:
make vendor
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, adds any transitive dependencies, and updates its hash.
For the sake of your fellow reviewers, commit vendored code changes as a separate commit from any other changes.
Regenerate or Repair Vendored Code
Should you need to regenerate or repair the vendored code en-mass from their source repositories, you can run:
make vendor