mirror of
https://github.com/gravitational/teleport
synced 2024-10-19 16:53:57 +00:00
0d9354a424
- Lint libfido2 (and other) Go build tags - `make test-go` exercises the libfido2 build tag, as long as `libfido2` is present in the system - Install `libfido2` (and dependencies) in the teleport-buildbox image Libraries are installed from source, instead of apt or ppas, so we can guarantee deterministic (and current!) versions. (Binary releases are not available.) At the present moment, `librdp_client` and `libfido2` can't be used together. This is because `librdp_client` embeds openssl/`libcrypto`, which is also a dependency for `libfido2`, causing duplicate symbol errors. In practice both libraries never coexist in the same binary, so it's easy to sidestep the issue (`librdp_client` links to `teleport`, while FIDO2 code is only used by `tsh`). I may be able to make them coexist, but not without changes to how go-libfido2 builds. This change is only for linting/testing libfido2 code, I'll address `tsh` releases in a future PR. #9160 * Install libfido2 in buildbox libfido2 and libcbor are installed from source to make sure we get deterministic versions (apt is outdated and ppas are likely to move forward with time). * Run libfido2 tests on test-go * Lint libfido2 Go build tag * Lint other Go build tags * Comment build tags that break the linter * Tidy modules * Re-enable roletester linter * Pass tags conditionally to golangci-lint * Clarify and improve libfido2 wildcard * Drop `:$LD_LIBRARY_PATH` from variable * Replace LD_LIBRARY_PATH with `ldconfig` * Test for ARM homebrew location too |
||
---|---|---|
.. | ||
charts | ||
gomod | ||
pam | ||
rpm | ||
rpm-sign | ||
tooling | ||
webapps | ||
.bashrc | ||
.gitignore | ||
build-package.sh | ||
Dockerfile | ||
Dockerfile-arm | ||
Dockerfile-arm-fips | ||
Dockerfile-centos7 | ||
Dockerfile-centos7-fips | ||
Dockerfile-cron | ||
Dockerfile-fips | ||
install | ||
locale.gen | ||
Makefile | ||
profile | ||
README.md |
Dockerized Teleport Build
This directory is used to produce a containerized production Teleport build. No need to have Golang. Only Docker is required.
It is a part of Gravitational CI/CD pipeline. To build Teleport type:
make
DynamoDB static binary docker build
The static binary will be built along with all nodejs assets inside the container. From the root directory of the source checkout run:
docker build -f build.assets/Dockerfile.dynamodb -t teleportbuilder .
Then you can upload the result to an S3 bucket for release.
docker run -it -e AWS_ACL=public-read -e S3_BUCKET=my-teleport-releases -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY teleportbuilder
Or simply copy the binary out of the image using a volume (it will be copied to current directory/build/teleport.
docker run -v $(pwd)/build:/builds -it teleportbuilder cp /gopath/src/github.com/gravitational/teleport/teleport.tgz /builds