Skip to content

Commit

Permalink
Update min macOS version to 10.15 (#42084)
Browse files Browse the repository at this point in the history
Teleport 16 will be built with Go 1.22, which requires macOS 10.15
(Catalina) or later.
  • Loading branch information
zmb3 authored May 30, 2024
1 parent 9e15f67 commit 836b145
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 38 deletions.
2 changes: 1 addition & 1 deletion build.assets/build-fido2-macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# Written mainly for macOS builders.
set -eu

readonly MACOS_VERSION_MIN=10.13
readonly MACOS_VERSION_MIN=10.15

# Cross-architecture building
# Set C_ARCH to $(uname -m) if unset, and validate supported architecture
Expand Down
2 changes: 1 addition & 1 deletion build.assets/macos/tsh/tsh.app/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<key>DTXcodeBuild</key>
<string>13C100</string>
<key>LSMinimumSystemVersion</key>
<string>10.12.0</string>
<string>10.15.0</string>
<key>NSHumanReadableCopyright</key>
<string/>
<key>NSMainStoryboardFile</key>
Expand Down
2 changes: 1 addition & 1 deletion build.assets/macos/tshdev/tsh.app/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
<key>DTXcodeBuild</key>
<string>13C100</string>
<key>LSMinimumSystemVersion</key>
<string>10.12.0</string>
<string>10.15.0</string>
<key>NSHumanReadableCopyright</key>
<string/>
<key>NSMainStoryboardFile</key>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/access-controls/guides/passwordless.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ standalone version of `tsh`. [Download the macOS tsh installer](
../../installation.mdx#macos).

Touch ID support requires Macs with a Touch ID sensor and Secure Enclave. It also
requires macOS >= 10.13 (macOS High Sierra).
requires macOS >= 10.15 (macOS Catalina).

You can run the `tsh touchid diag` command to verify requirements. A capable
device and `tsh` binary should show an output similar to the one below:
Expand Down
58 changes: 29 additions & 29 deletions docs/pages/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ running Teleport on UNIX variants other than Linux \[1].
| Operating System | `teleport` Daemon | `tctl` Admin Tool | `tsh` and Teleport Connect User Clients [2] | Web UI (via the browser) | `tbot` Daemon |
| - | - | - | - | - | - |
| Linux v2.6.23+ (RHEL/CentOS 7+, Amazon Linux 2+, Amazon Linux 2023+, Ubuntu 16.04+, Debian 9+, SLES 12 SP 5+, and SLES 15 SP 5+) \[3] | yes | yes | yes | yes | yes |
| macOS v10.13+ (High Sierra)| yes | yes | yes | yes | yes |
| macOS v10.15+ (Catalina)| yes | yes | yes | yes | yes |
| Windows 10+ (rev. 1607) \[4] | no | no | yes | yes | no |

\[1] *Teleport is written in Go and many of these system requirements are due to the requirements
Expand Down Expand Up @@ -126,7 +126,7 @@ Download and run the installation script on the server where you want to install
Teleport:

```code
$ curl https://goteleport.com/static/install.sh | bash -s ${TELEPORT_VERSION?} ${TELEPORT_EDITION?}
$ curl https://goteleport.com/static/install.sh | bash -s ${TELEPORT_VERSION?} ${TELEPORT_EDITION?}
```

### Package repositories
Expand All @@ -145,21 +145,21 @@ repositories.

<Tabs>
<TabItem label="Teleport Community Edition">

```code
$ export TELEPORT_PKG=teleport
$ export TELEPORT_VERSION=v(=teleport.major_version=)
$ export TELEPORT_CHANNEL=stable/${TELEPORT_VERSION?}
```

</TabItem>
<TabItem label="Teleport Cloud">

Teleport Cloud installations must include the automatic agent updater. The
following commands show you how to determine the Teleport version to install
by querying your Teleport Cloud account. This way, the Teleport installation
has the same major version as the service that conducts automatic updates:

```code
$ export TELEPORT_DOMAIN=<Var name="example.teleport.com" />
$ export TELEPORT_VERSION="$(curl https://$TELEPORT_DOMAIN/v1/webapi/automaticupgrades/channel/stable/cloud/version | sed 's/v//')"
Expand All @@ -176,19 +176,19 @@ repositories.

</TabItem>
<TabItem label="Teleport Enterprise (Self-Hosted)">

```code
$ export TELEPORT_PKG=teleport-ent
$ export TELEPORT_VERSION=v(=teleport.major_version=)
$ export TELEPORT_CHANNEL=stable/${TELEPORT_VERSION?}
```

For FedRAMP/FIPS-compliant installations, install the `teleport-ent-fips` package instead:

```code
$ export TELEPORT_PKG=teleport-ent-fips
```

</TabItem>
</Tabs>

Expand All @@ -206,9 +206,9 @@ repositories.
distribution variants. When installing Teleport using RPM repositories, you
may need to replace the `ID` variable set in `/etc/os-release` with `ID_LIKE`
to install packages of the closest supported distribution.

Currently supported distributions (and `ID` values) are:

| Distribution | Version | `ID` value in `/etc/os-release` |
|--------------|----------------------|---------------------------------|
| Amazon Linux | 2 and 2023 | `amzn` |
Expand All @@ -217,12 +217,12 @@ repositories.
| RHEL | >= 7 | `rhel` |
| SLES | >= 12 SP5, >= 15 SP5 | `sles` |
| Ubuntu | >= 16.04 | `ubuntu` |

Note that [Enhanced Session
Recording](./server-access/guides/bpf-session-recording.mdx) requires Linux
kernel version 5.8+. This means that it requires more recent OS versions than
other Teleport features:

| Distribution | Version |
|--------------|--------------------------|
| Amazon Linux | 2 (post 11/2021), 2023 |
Expand All @@ -236,7 +236,7 @@ repositories.

<Tabs>
<TabItem label="apt">

```code
# Download the Teleport PGP public key
$ sudo curl https://apt.releases.teleport.dev/gpg \
Expand All @@ -247,15 +247,15 @@ repositories.
https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} \
${TELEPORT_CHANNEL?}" \
| sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install ${TELEPORT_PKG?}
```

</TabItem>

<TabItem label="yum">

```code
# Add the Teleport YUM repository. You'll need to update this file for each
# major release of Teleport.
Expand All @@ -269,11 +269,11 @@ repositories.
# Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs)
# echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path
```

</TabItem>

<TabItem label="zypper">

```code
# Add the Teleport Zypper repository. You'll need to update this file for each
# major release of Teleport.
Expand All @@ -288,11 +288,11 @@ repositories.
# Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs)
# echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path
```

</TabItem>

<TabItem label="dnf">

```code
# Add the Teleport YUM repository for v(=teleport.major_version=). You'll need to update this
# file for each major release of Teleport.
Expand All @@ -303,14 +303,14 @@ repositories.
$ sudo yum install -y yum-utils
# Use the dnf config manager plugin to add the teleport RPM repo
$ sudo dnf config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/${TELEPORT_CHANNEL?}/teleport.repo")"
# Install teleport
$ sudo dnf install ${TELEPORT_PKG}
# Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs)
# echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -349,7 +349,7 @@ script](#one-line-installation-script) or manually install Teleport from a
$ SYSTEM_ARCH=""
```

The following architecture values are available:
The following architecture values are available:

- `amd64`
- `arm64`
Expand Down
2 changes: 1 addition & 1 deletion lib/auth/touchid/api_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

package touchid

// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=10.13
// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=10.15
// #cgo LDFLAGS: -framework CoreFoundation -framework Foundation -framework LocalAuthentication -framework Security
// #include <stdlib.h>
// #include "authenticate.h"
Expand Down
2 changes: 1 addition & 1 deletion lib/devicetrust/native/device_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

package native

// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=10.13
// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=10.15
// #cgo LDFLAGS: -framework CoreFoundation -framework Foundation -framework IOKit -framework Security
// #include <stdint.h>
// #include <stdlib.h>
Expand Down
6 changes: 3 additions & 3 deletions lib/web/scripts/node-join/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ Things it doesn't do (yet):
- Any other distribution
- uses `.tar.gz` tarball package

- MacOS
- macOS
- Architectures
- x86_64
- aarch64 (no Teleport binaries available yet)
- MacOS 10.12+
- aarch64
- MacOS 10.15+
- uses `.tar.gz` tarball package

## Arguments
Expand Down

0 comments on commit 836b145

Please sign in to comment.