teleport/build.assets
Alan Parra 7567c5502d
Build tsh with static libfido2 for macOS (#13001)
Add a script to build libfido2 (and its dependencies) on macOS and enable FIDO2
static builds.

I decided to build all dependencies instead of pulling from Homebrew for a few
reasons:

1. There is no libcbor.a in a brew package
2. This captures library versions within the Teleport source code, allowing us
   to build binaries against different versions of libfido2 (and its
   dependencies).

I've also bumped libfido2 to 1.11.0. I've been running it locally and we are
still pre-release, so it seems like a good time to do it.
(See https://developers.yubico.com/libfido2/Release_Notes.html.)

#9160

* Build libfido2 and dependencies for macOS
* Build tsh with static fido2 on Drone
* Bump libfido2 versions in all builds
* Attempt to appease linters
* Use temp dirs inside LIB_CACHE
* Move LIB_CACHE outside of HOME

HOME is reassigned in macOS builders, but we want a "stable" cache
directory. /tmp is used by build-package.sh and build-pkg-tsh.sh.

* Rename script to build-fido2-macos.sh
* Regenerate Drone files
2022-05-31 14:50:56 +00:00
..
charts docker: Add libelf1 as a dependency for building Teleport container images 2021-07-14 15:02:40 -07:00
gomod Update gomod path for beta/alpha pre-releases. (#10866) 2022-03-10 01:44:24 +00:00
macos Build macOS installer for tsh.app (#12751) 2022-05-23 20:56:21 +00:00
pam add PAM environment with interpolation support 2021-03-30 18:23:38 +02:00
pkgconfig Build tsh with static libfido2 for macOS (#13001) 2022-05-31 14:50:56 +00:00
rpm rpm: Don't include build-id artifacts in packages (#7080) 2021-05-31 09:52:30 -07:00
rpm-sign rpm: Don't include build-id artifacts in packages (#7080) 2021-05-31 09:52:30 -07:00
tooling Display elapsed time in render-tests output (#11828) 2022-04-12 14:25:09 +00:00
webapps Update the PR description for auto webassets udpates (#10212) 2022-02-08 19:10:47 +00:00
.bashrc Integrated mkdocs into Teleport builds 2016-03-18 17:32:41 -07:00
.gitignore pam: trigger pam_authenticate on login (#3966) 2020-07-10 20:28:33 +00:00
build-common.sh Build macOS installer for tsh.app (#12751) 2022-05-23 20:56:21 +00:00
build-fido2-macos.sh Build tsh with static libfido2 for macOS (#13001) 2022-05-31 14:50:56 +00:00
build-package.sh Build macOS installer for tsh.app (#12751) 2022-05-23 20:56:21 +00:00
build-pkg-tsh.sh Build macOS installer for tsh.app (#12751) 2022-05-23 20:56:21 +00:00
Dockerfile Build tsh with static libfido2 for macOS (#13001) 2022-05-31 14:50:56 +00:00
Dockerfile-arm Upgrade buildbox to go 1.17.7 & tag as teleport10 (#10611) 2022-03-01 15:31:46 +11:00
Dockerfile-arm-fips Upgrade buildbox to go 1.17.7 & tag as teleport10 (#10611) 2022-03-01 15:31:46 +11:00
Dockerfile-centos7 Build tsh with static libfido2 for macOS (#13001) 2022-05-31 14:50:56 +00:00
Dockerfile-centos7-fips Create separate builds for CentOS7 (+fips) 2021-12-02 10:30:03 -07:00
Dockerfile-cron docker: Add libelf1 as a dependency for building Teleport container images 2021-07-14 15:02:40 -07:00
Dockerfile-fips Reduced shared library dependencies. 2021-08-09 19:17:06 -07:00
Dockerfile-teleterm Add grpc-teleterm Makefile target 2022-04-01 13:02:56 +02:00
install Include tbot binary in Teleport packages and installs (#10646) 2022-03-03 03:25:23 +00:00
locale.gen Jenkins build target 2015-12-23 10:41:51 -08:00
Makefile Update to Go 1.18 (#12578) 2022-05-11 11:23:50 -06:00
profile Jenkins build target 2015-12-23 10:41:51 -08:00
README.md instructions and dockerfile for building dynamodb static binaries 2016-12-14 15:51:55 -08:00
teleterm_linux_arm64.toolchain.cmake Add grpc-teleterm Makefile target 2022-04-01 13:02:56 +02:00

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