Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into probakowski/ironrdp…
Browse files Browse the repository at this point in the history
…-update
  • Loading branch information
probakowski committed Dec 9, 2024
2 parents a732366 + c117df3 commit 282c1ad
Show file tree
Hide file tree
Showing 819 changed files with 51,954 additions and 22,663 deletions.
12 changes: 11 additions & 1 deletion .github/ISSUE_TEMPLATE/testplan.md
Original file line number Diff line number Diff line change
Expand Up @@ -1586,12 +1586,22 @@ Docs: [IP Pinning](https://goteleport.com/docs/access-controls/guides/ip-pinning
- [ ] Verify that users can run custom audit queries.
- [ ] Verify that the Privileged Access Report is generated and periodically refreshed.

- [ ] Access Requests
- [ ] Verify when role.spec.allow.request.reason.mode: "required":
- [ ] CLI fails to create Access Request displaying a message that reason is required.
- [ ] Web UI fails to create Access Request displaying a message that reason is required.
- [ ] Other roles allowing requesting the same resources/roles without reason.mode set or with reason.mode: "optional" don't affect the behaviour.
- [ ] Non-affected resources/roles don't require reason.
- [ ] When there is a role with spec.options.request_access: always it effectively becomes role.spec.options.request_access: reason (i.e.) requires reason:
- [ ] For CLI.
- [ ] For Web UI.

- [ ] Access Lists
- [ ] Verify Access List membership/ownership/expiration date.
- [ ] Verify permissions granted by Access List membership.
- [ ] Verify permissions granted by Access List ownership.
- [ ] Verify Access List Review.
- [ ] verify Access LIst Promotion.
- [ ] Verify Access List Promotion.
- [ ] Verify that owners can only add/remove members and not change other properties.
- [ ] Nested Access Lists
- [ ] Verify that Access Lists can be added as members or owners of other Access Lists.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-ci-service-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ jobs:

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
uses: docker/metadata-action@369eb591f429131d6889c46b94e711f089e6ca96 # v5.6.1
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Build etcd image
id: docker_build
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: ${{ github.workspace }}
file: .github/services/Dockerfile.etcd
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-usage-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
with:
registry-type: public
# Build and publish container image on ECR.
- uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
- uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: "examples/teleport-usage"
tags: public.ecr.aws/gravitational/teleport-usage:${{ steps.version.outputs.version }}
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/dependency-review.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,5 @@ jobs:
pkg:cargo/asn1-rs,
pkg:cargo/asn1-rs-derive,
pkg:cargo/asn1-rs-impl,
pkg:cargo/der-parser
pkg:cargo/der-parser,
pkg:npm/prettier
2 changes: 1 addition & 1 deletion .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ jobs:
- name: Print linter versions
run: |
echo "BUF_VERSION=$BUF_VERSION"
- uses: bufbuild/buf-setup-action@5d38b66514ec5b6b7b753e133245555ea664d0ac # v1.46.0
- uses: bufbuild/buf-setup-action@9672cee01808979ea1249f81d6d321217b9a10f6 # v1.47.2
with:
github_token: ${{ github.token }}
version: ${{ env.BUF_VERSION }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/post-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ jobs:
git config --global user.email "[email protected]"
git config --global user.name "GitHub"
# get Go version from go.mod
GO_VERSION=$(go mod edit -json | jq -r .Go)
# get Go version from go.mod (preferring the toolchain directive if it's present)
GO_VERSION=$(go mod edit -json | jq -r 'if has("Toolchain") then .Toolchain | sub("go"; "") else .Go end')
# update versions in docs/config.json
# for docker images replace version number after <docker image name>:
Expand Down
39 changes: 29 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Changelog

## 18.0.0 (xx/xx/xx)

### Breaking changes

#### TLS Cipher Suites

TLS cipher suites with known security issues can no longer be manually
configured in the Teleport YAML configuration file.
If you do not explicitly configure any of the listed TLS cipher suites, you are
not affected by this change.
Teleport 18 removes support for:
- `tls-rsa-with-aes-128-cbc-sha`
- `tls-rsa-with-aes-256-cbc-sha`
- `tls-rsa-with-aes-128-cbc-sha256`
- `tls-rsa-with-aes-128-gcm-sha256`
- `tls-rsa-with-aes-256-gcm-sha384`
- `tls-ecdhe-ecdsa-with-aes-128-cbc-sha256`
- `tls-ecdhe-rsa-with-aes-128-cbc-sha256`

## 16.0.0 (xx/xx/xx)

### Breaking changes
Expand Down Expand Up @@ -37,10 +56,10 @@ more details.

#### Default keyboard shortcuts in Teleport Connect have been changed

On Windows and Linux, some of the default shortcuts conflicted with the default bash or nano shortcuts
On Windows and Linux, some of the default shortcuts conflicted with the default bash or nano shortcuts
(e.g. Ctrl + E, Ctrl + K).
On those platforms, the default shortcuts have been changed to a combination of Ctrl + Shift + *.
We also updated the shortcut to open a new terminal on macOS to Control + Shift + \`.
We also updated the shortcut to open a new terminal on macOS to Control + Shift + \`.
See [configuration](docs/pages/connect-your-client/teleport-connect.mdx#configuration)
for the current list of shortcuts.

Expand Down Expand Up @@ -152,8 +171,8 @@ or use PAM.

#### Remove restricted sessions for SSH

The restricted session feature for SSH has been deprecated since Teleport 14 and
has been removed in Teleport 15. We recommend implementing network restrictions
The restricted session feature for SSH has been deprecated since Teleport 14 and
has been removed in Teleport 15. We recommend implementing network restrictions
outside of Teleport (iptables, security groups, etc).

#### Packages no longer published to legacy Debian and RPM repos
Expand Down Expand Up @@ -200,7 +219,7 @@ throughout the remainder of these releases' lifecycle.

##### Helm cluster chart FIPS mode changes

The teleport-cluster chart no longer uses versionOverride and extraArgs to set FIPS mode.
The teleport-cluster chart no longer uses versionOverride and extraArgs to set FIPS mode.

Instead, you should use the following values file configuration:
```
Expand Down Expand Up @@ -277,7 +296,7 @@ used with the legacy AMIs has been removed.
Due to the new separate operator deployment, the operator is deployed by a subchart.
This causes the following breaking changes:
- `installCRDs` has been replaced by `operator.installCRDs`
- `teleportVersionOverride` does not set the operator version anymore, you must
- `teleportVersionOverride` does not set the operator version anymore, you must
use `operator.teleportVersionOverride` to override the operator version.

Note: version overrides are dangerous and not recommended. Each chart version
Expand All @@ -290,7 +309,7 @@ The chart configures this for you since v12, unless you disabled `rbac` creation

##### Helm cluster chart FIPS mode changes

The teleport-cluster chart no longer uses versionOverride and extraArgs to set FIPS mode.
The teleport-cluster chart no longer uses versionOverride and extraArgs to set FIPS mode.

Instead, you should use the following values file configuration:

Expand Down Expand Up @@ -340,7 +359,7 @@ Teleport 14 brings the following new major features and improvements:
- Support for TLS routing in Terraform deployment examples
- Discord and ServiceNow hosted plugins
- Limited passwordless access for local Windows users in Teleport Community
Edition
Edition
- Machine ID: Kubernetes Secret destination

In addition, this release includes several changes that affect existing
Expand Down Expand Up @@ -413,7 +432,7 @@ audit logging support.

See documentation on how to configure it in the [Oracle guide](docs/pages/enroll-resources/database-access/enroll-self-hosted-databases/oracle-self-hosted.mdx).

#### Limited passwordless access for local Windows users in Teleport Community Edition
#### Limited passwordless access for local Windows users in Teleport Community Edition

In Teleport 14, access to Windows desktops with local Windows users has been
extended to Community Edition. Teleport will permit users to register and
Expand Down Expand Up @@ -3291,7 +3310,7 @@ auth_service:
# EXPERIMENTAL *-sync modes: proxy and node send logs directly to S3 or other
# storage without storing the records on disk at all. This mode will kill a
# connection if network connectivity is lost.
# NOTE: These experimental modes require all Teleport Auth Service instances,
# NOTE: These experimental modes require all Teleport Auth Service instances,
# Proxy Service instances, and nodes to be running Teleport 4.4.
#
# "node-sync" : sessions recording will be streamed from node -> auth -> storage
Expand Down
51 changes: 37 additions & 14 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,7 @@ build-archive: | $(RELEASE_DIR)
"$(INSTALL_SCRIPT)" \
README.md \
CHANGELOG.md \
build.assets/LICENSE-community \
teleport/
echo $(GITTAG) > teleport/VERSION
tar $(TAR_FLAGS) -c teleport | gzip -n > $(RELEASE).tar.gz
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -403,4 +403,4 @@ The remainder of the source code in this repository is available under the
from source must comply with the terms of this license.
Teleport Community Edition builds distributed on http://goteleport.com/download
are available under a [modified Apache 2.0 license](./LICENSE-community).
are available under a [modified Apache 2.0 license](./build.assets/LICENSE-community).
2 changes: 1 addition & 1 deletion api/accessrequest/access_request.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func GetResourceDetails(ctx context.Context, clusterName string, lister client.L
// We're interested in hostname or friendly name details. These apply to
// nodes, app servers, and user groups.
switch resourceID.Kind {
case types.KindNode, types.KindApp, types.KindUserGroup:
case types.KindNode, types.KindApp, types.KindUserGroup, types.KindIdentityCenterAccount:
resourceIDs = append(resourceIDs, resourceID)
}
}
Expand Down
20 changes: 20 additions & 0 deletions api/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ import (
"github.com/gravitational/teleport/api/client/discoveryconfig"
"github.com/gravitational/teleport/api/client/dynamicwindows"
"github.com/gravitational/teleport/api/client/externalauditstorage"
gitserverclient "github.com/gravitational/teleport/api/client/gitserver"
kubewaitingcontainerclient "github.com/gravitational/teleport/api/client/kubewaitingcontainer"
"github.com/gravitational/teleport/api/client/okta"
"github.com/gravitational/teleport/api/client/proto"
Expand All @@ -77,6 +78,7 @@ import (
discoveryconfigv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/discoveryconfig/v1"
dynamicwindowsv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/dynamicwindows/v1"
externalauditstoragev1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/externalauditstorage/v1"
gitserverpb "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1"
identitycenterv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/identitycenter/v1"
integrationpb "github.com/gravitational/teleport/api/gen/proto/go/teleport/integration/v1"
kubeproto "github.com/gravitational/teleport/api/gen/proto/go/teleport/kube/v1"
Expand Down Expand Up @@ -3806,6 +3808,12 @@ func (c *Client) ListResources(ctx context.Context, req proto.ListResourcesReque
resources[i] = respResource.GetAppServerOrSAMLIdPServiceProvider()
case types.KindSAMLIdPServiceProvider:
resources[i] = respResource.GetSAMLIdPServiceProvider()
case types.KindIdentityCenterAccount:
resources[i] = respResource.GetAppServer()
case types.KindIdentityCenterAccountAssignment:
src := respResource.GetIdentityCenterAccountAssignment()
dst := proto.UnpackICAccountAssignment(src)
resources[i] = dst
default:
return nil, trace.NotImplemented("resource type %s does not support pagination", req.ResourceType)
}
Expand Down Expand Up @@ -3895,6 +3903,8 @@ func convertEnrichedResource(resource *proto.PaginatedResource) (*types.Enriched
return &types.EnrichedResource{ResourceWithLabels: r, Logins: resource.Logins, RequiresRequest: resource.RequiresRequest}, nil
} else if r := resource.GetSAMLIdPServiceProvider(); r != nil {
return &types.EnrichedResource{ResourceWithLabels: r, RequiresRequest: resource.RequiresRequest}, nil
} else if r := resource.GetGitServer(); r != nil {
return &types.EnrichedResource{ResourceWithLabels: r, RequiresRequest: resource.RequiresRequest}, nil
} else {
return nil, trace.BadParameter("received unsupported resource %T", resource.Resource)
}
Expand Down Expand Up @@ -4874,6 +4884,11 @@ func (c *Client) UserTasksServiceClient() *usertaskapi.Client {
return usertaskapi.NewClient(usertaskv1.NewUserTaskServiceClient(c.conn))
}

// GitServerClient returns a client for managing git servers
func (c *Client) GitServerClient() *gitserverclient.Client {
return gitserverclient.NewClient(gitserverpb.NewGitServerServiceClient(c.conn))
}

// GetCertAuthority retrieves a CA by type and domain.
func (c *Client) GetCertAuthority(ctx context.Context, id types.CertAuthID, loadKeys bool) (types.CertAuthority, error) {
ca, err := c.TrustClient().GetCertAuthority(ctx, &trustpb.GetCertAuthorityRequest{
Expand Down Expand Up @@ -5190,3 +5205,8 @@ func (c *Client) IdentityCenterClient() identitycenterv1.IdentityCenterServiceCl
func (c *Client) ProvisioningServiceClient() provisioningv1.ProvisioningServiceClient {
return provisioningv1.NewProvisioningServiceClient(c.conn)
}

// IntegrationsClient returns integrations client.
func (c *Client) IntegrationsClient() integrationpb.IntegrationServiceClient {
return c.integrationsClient()
}
Loading

0 comments on commit 282c1ad

Please sign in to comment.