-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds support for client-only builds for Mac, plus signing/notarization/stapling #3159
Conversation
…ort for signing and notarization
Don't merge. |
There are some extra steps involved with this:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was trying out our 'unsigned' Mac builds this week and Catalina makes it pretty horrible. I wonder if as a stop gap and to not have to worry for the upstream GoLang packaging issue, if we could just sign and release tsh
and label it MacOS ( tsh client only ) as most team members who have to adopt Teleport will end out using
tsh`
Yeah - I might see if I can backport this stuff to work with our current release process rather than needing to wait for Force. |
Updates package build script to support tsh-only builds on Mac. Also adds support for signing, notarization and stapling.
For now, we will only sign/notarize client-only builds. There is an issue currently which means that we can't sign the
teleport
binary on MacOS (#3158). Once this is fixed, signing/notarization can be expanded to all Teleport packages on Mac.Requirements for the build host to support signing and notarization:
codesign
/productsign
commands must be available (these are installed byxcode-select --install
)security find-identity -v
APPLE_USERNAME
andAPPLE_PASSWORD
must be set to an Apple ID email and password for a developer account that has permission to notarize filesOther notes:
./build-package.sh -t oss -v 4.1.4 -p pkg -m tsh
) - this is because it will pop up password input dialogs on the screen which will make you enter the system password on first run.codesign
andproductsign
to always use both private keys. This part can be tricky to get right.codesign
/productsign
access to the signing certificatesTo make a client-only build, add
-m tsh
to the command line. Omitting this parameter will fall back to the standard behaviour of creating an unsigned full Teleport package.This script should still work for creating unsigned packages on older versions of MacOS/Xcode without errors. Attempting to sign/notarize packages on older versions will fail.