Commit Graph
12109 Commits
Author SHA1 Message Date
dependabot[bot] a147d66442 Bump golang.org/x/text from 0.3.7 to 0.3.8 in /examples/go-client (#22165)
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.3.7...v0.3.8)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 10:55:36 +00:00
dependabot[bot] 2e23015cb5 Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.18.3 to 1.18.5 (#22292)
Bumps [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) from 1.18.3 to 1.18.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.3...config/v1.18.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 10:54:02 +00:00
dependabot[bot] 29d49c3e01 Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.13 to 1.13.15 (#22293)
Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.13.13 to 1.13.15.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.13.13...service/mq/v1.13.15)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 10:52:35 +00:00
Steven MartinandZac Bergquist ec25c66cbf Remove windows from teleport start reference roles table (#22318)
* Remove windows from teleport start roles table

* comma sep list

* correct char

* spacing

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>

---------

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>
2023-02-27 23:27:06 +00:00
Roman Tkachenko ae5d010427 [auto] Update AMI IDs for 12.0.4 (#22374) 2023-02-27 22:19:33 +00:00
Yassine Bounekhla 10ca00a1a3 [Web] Refactor serverside filtering and pagination (#20823)
* refactor filtering

* stash

* fix errors

* tweaks

* fixes

* address comments

* fix missing searchAsRoles query param

* temp

* temp

* rename ClientSidePager

* temp

* rename

* update eref

* manually type returntype

* address comments

* type useServersidePagination

* revert default pageSize

* update snapshots

* remove useless act in test

* remove unused import

* address comment

* fixes

* update snapshot

* revert e

* revert e
2023-02-27 22:17:41 +00:00
Steven Martin 7e5ed76223 Bump versions in docker images to 12 (#22345)
* Bump versions in docker images to 12

* Bump versions in docker images to 12

* Bump docker version to 12
2023-02-27 21:44:15 +00:00
Michael WilsonandAndrew Burke 437e93adbf Automatically parse entity ID from SAML SP during CLI creation. (#22101)
* Automatically parse entity ID from SAML SP during CLI creation.

When a SAML IdP service provider is created in the CLI, the entity ID will
be automatically parsed out of the entity descriptor and pushed into the
object before pushing the object to the backend.

Additionally, a small bug was found with the SAML IdP service provider get
logic and fixed.

* Update tool/tctl/common/collection.go

Co-authored-by: Andrew Burke <31974658+atburke@users.noreply.github.com>

* Update tool/tctl/common/resource_command_test.go

Co-authored-by: Andrew Burke <31974658+atburke@users.noreply.github.com>

* Bring back copy loop.

* Remove the SkipCheckAndSetDefault.

* Removing the check for the entity ID in the SP object.

* Restore missing comment.

* Parse entity ID as part of check and set defaults.

* Cleanup api go.mod/go.sum.

---------

Co-authored-by: Andrew Burke <31974658+atburke@users.noreply.github.com>
2023-02-27 20:58:22 +00:00
Joel 59ba7a5ae6 Add github.com/google/go-attestation/attest to e imports (#22336)
* add github.com/google/go-attestation/attest to e imports

* reset

* addp

* tidy

* fix it

* fix path

* fmt
2023-02-27 20:10:53 +00:00
Yassine Bounekhla 6045183bbc update eref (#22330) 2023-02-27 19:18:11 +00:00
Brian Joerger 1dcc997189 Add headless auth preference logic. (#22148) 2023-02-27 18:25:51 +00:00
rosstimothy 93d7831ced Use btree.BTreeG directly in memory backend (#22282)
`btree.BTree` has been a backward compatability wrapper over a
`btree.BTreeG` since `github.com/google/btree@v1.1.0`. This converts
all usages to the new generic variant.
2023-02-27 17:54:44 +00:00
Michael Wilson 14baf098ea Simplify the cache tests. (#22237)
* Simplify the cache tests.

Several of the cache tests had a very similar structure. Where possible, these
have been adjusted such that all tests with similar structures use a generic
testing function that executes the same logic on each resource type.

* Re-add t.Parallel() for namespaces.
2023-02-27 17:43:43 +00:00
Roman Tkachenko 9537bd8d1a Run UI checks in merge queue (#22323) 2023-02-27 17:36:39 +00:00
aa3328464d Docs: Device Trust role and locking support (#21915)
* per-role device trust configuration

* device locking

* resolved review comments related to copy edits. added device trust reference to role-spec, reference and locking

* revert mdx formatting

* updated reference.

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/locking.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* word added in cluster and role-based device enforcement

* Update docs/pages/access-controls/guides/device-trust.mdx

Co-authored-by: Alan Parra <alan.parra@goteleport.com>

* added variable for device_id. Removed trusted from locking header. Placed 'option' before 'required' in device trust mode

* fix build errors

---------

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>
Co-authored-by: Alan Parra <alan.parra@goteleport.com>
2023-02-27 17:21:52 +00:00
Forrest 323b1cb9ea cloud agent upgrades rfd (#20622) 2023-02-27 17:18:37 +00:00
Lisa KimandYassine Bounekhla ff9aa378c4 [web] Move filtering out cloud and tcp apps to the frontend (#22257)
* [be] Remove filtering out cloud/tcp apps

* [web] Add conditional rendering of apps launch btn

* update snapshot

* Address code review with minor refactoring

* add nowrap to page indicator text

* remove hyphen

---------

Co-authored-by: Yassine Bounekhla <yassine@goteleport.com>
2023-02-27 17:04:51 +00:00
Rafał Cieślak 6578af1efd Connect: Remove resource cache (#21964)
* Connect: Remove resource cache

This commit refactors parts of the Electron app which still depend on
the resource cache, that is cluster sync and `tsh ssh` executed from the
command bar.

A number of adjustments has been made to executing `tsh ssh` from the
command bar, namely the logic of resolving the hostname has been moved
from the command launcher to useDocumentTerminal. The UI was also
adjusted to allow the user to reconnect to an SSH server if resolving
the hostname fails. This has a nice benefit of also allowing them to
retry if the PTY couldn't be created for some reason.

---

Before gravitational/webapps#1307, Connect was pulling all resources
from the cluster on app start and cluster login. Then it'd show them to
you in tables if you opened a new tab with cluster resources. There were
at least two problems with this approach:

1. It was slow for big clusters as pagination, filtering and sorting
   were all done client-side and blocked the main thread.
2. It wasn't possible to implement advanced search unless we copied the
   implementation from the backend to tshd.

gravitational/webapps#1307 made it so that instead of depending on that
resource cache to show resource tables, Connect would pull paginated
resources from the backend.

However, the resource tables were not the only part of the app depending
on that cache. Due to time constraints, we weren't able to refactor all
of them. We managed to refactor autocomplete (gravitational/webapps#1406)
and the remaining places are listed in #21800.

This PR refactors those remaining places to not use the cache by either
not depending on resource details or by making a call to the proxy
instead.

* Add missing license
2023-02-27 15:32:19 +00:00
Zac Bergquist 470fba3c8d Fix link to upstart (#22279)
The existing Wikipedia link was pointing to the disambiguation page

Closes #9797
2023-02-27 15:23:13 +00:00
Steven Martin 69d55393cf Remove non-applicable roles from teleport start --roles reference (#22305)
Only proxy, node, auth, db, or app are applicable roles.  Windows desktop and kube are not supported roles with `teleport start --roles=...`.   The default roles if none is specified is proxy, node and auth.

  Previously the tokens add would show the command to include these as a role.  That was incorrect and has been corrected.
2023-02-27 15:10:08 +00:00
Michael Wilson ce9cccf844 Fix SAML IdP service provider CLI bug. (#22256)
The SAML IdP service provider collections object in the CLI was inadvertently
appending to the end of a preallocated array instead of using the array
directly.
2023-02-27 14:02:21 +00:00
rosstimothy c811979157 Export runtime traces from tsh (#22281)
Adds a `--trace-profile` flag to tsh that allows a user to specify
a file to file which a runtime trace profile should be saved to.
2023-02-27 13:57:05 +00:00
Steven MartinandPaul Gottschling 05ee504e71 Add CLI doc changes after new client only parameter for tsh version (#22160)
* Add CLI doc changes after new client only parameter for tsh version

* verbiage change

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
2023-02-25 03:15:21 +00:00
Paul GottschlingandAlex Fornuto da0e53ecdb Reorganize the config reference (#21594)
* Reorganize the config reference

Closes #11253

This change breaks up the config reference by moving each Teleport
service's configuration settings into a separate YAML snippet, and
organizing each YAML snippet into a `TabItem` within a `Tabs` with
`dropdownView` enabled. When Teleport Enterprise Cloud doesn't support a
service, this change adds a `Notice` with a message about Teleport
Enterprise Cloud in the relevant `TabItem`.

I thought this approach would be cleaner than alternatives:

- **Including an H2 for each service:** With this approach, the
  configuration reference would be even longer than it is now. With the
  approach I'm proposing, readers would navigate to "Reference
  configurations", then choose a service from a dropdown menu: much less
  scrolling for slightly more clicking.

- **Including another set of `TabItem`s for Teleport editions:** I
  thought about adding a `Tabs` with a dropdown option for each Teleport
  edition and a horizontal `TabItem` for each service, but this would
  require horizontal scrolling and doesn't scale very well.

- **Including horizontal tabs for each Teleport edition**, with an inner
  dropdown menu for each Teleport service: There is currently no way to
  do this without multiple `Tabs` components, which gets messy quickly.

**Note** that this change does not attempt to copy-edit comments/example
values within the configuration snippets. The scope of this change is
limited only to reorganization.

* Respond to PR feedback

* Update docs/pages/includes/config-reference/instance-wide.yaml

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>

* Respond to PR feedback

Use headings instead of `TabItem`s to split up sections of the config
reference.

---------

Co-authored-by: Alex Fornuto <alex.fornuto@goteleport.com>
2023-02-24 22:12:38 +00:00
Lisa Kim 137c085061 Fix regression for not able to create or reset users (#22264) 2023-02-24 21:37:26 +00:00
Yassine Bounekhla 8d44d15fb8 [Web] Add custom element support to SearchPanel (#22186)
* fix apps totalCount and add support for custom elements in panel

* export kinds function

* revert totalcount change
2023-02-24 21:27:15 +00:00
Isaiah Becker-Mayer e2df4a31ba Fix incorrect login options for Windows Desktops (#22118)
* Removes desktop logins from the ACL and adds them to each Desktop resource
as returned to the frontend. This behavior parallels what's currently being
done with other similar resources such as Nodes, and fixes a bug where
users were able to see all the logins permitted by their roles on every
desktop "connect" dropdown, even if the role permitting that login didn't
apply to a given desktop.

* Extracts common logic out of GetWindowsDesktopLogins (now GetAllowedWindowsDesktopLogins), uses it to create a GetAllowedServerLogins as well, tests both of them together, removing EnumerateServerLogins

* reduce unnecessary looping by using maps

* fixes flakiness by sorting lists

* uses require.ElementsMatch rather than manually sorting lists

* consolidates duplicated logic

* Consolidates separate server and desktop logic into a single GetAllowedLoginsForResource

* fixes tests

* fixes import order and test
2023-02-24 21:06:38 +00:00
Steven Martin b95a7774fb spell fix kubernetes resource doc (#22254) 2023-02-24 20:17:11 +00:00
Tiago Silva 84b2a53952 Fix disconnect_expired_cert and client_idle_timeout description (#22220)
`client_idle_timeout` and `disconnect_expired_cert` works with other
sessions that are not SSH such as Kube (exec, port-forward), Windows...
2023-02-24 19:33:02 +00:00
Mike Jensen c03538adb2 Update teleport.e and OIDC version to fix hanging go routine (#22246)
This updates the teleport.e commit and OIDC version to fix hanging go routine when an invalid configuration is provided.
Previous PR's:
https://github.com/gravitational/go-oidc/pull/14
https://github.com/gravitational/teleport.e/pull/711
2023-02-24 18:55:27 +00:00
Tiago Silva 5f4c4f6884 Fix Kube impersonation header overwrite when dealing with remote clusters (#22240)
* Fix Kube impersonation header overwrite when dealing with remote clusters

When forwarding exec requests to remote clusters I introduced an empty
header that failed the validation in `setupImpersonationHeaders`. This
results in the request being denied.

This problem only affects Teleport 11 and 10, but I am fixing the behaviour
on master as well.

Fixes #22226

* add tests
2023-02-24 18:02:22 +00:00
Jeff Pihach 510b7c3ba9 Ignore all node_module paths when running shellcheck lint. (#22195) 2023-02-24 16:20:47 +00:00
Michael Wilsonandrosstimothy d530f33b5c Create a generic local backend service. (#21078)
* Create a generic local backend service.

Many of the local backend services have a very similar pattern in terms of how
objects are retrieved and stored. This PR introduces a generic backend which
implements backend retrieval and storage of objects and migrates the SAML
IdP service provider service to it. More services could easily be migrated
to this generic service implementation.

* Feedback, add in generic tests.

* Tim's feedback, added in a test for updating a resource that doesn't exist.

* Tim's feedback.

* Apply suggestions from code review

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>

* Edoardo's feedback.

* Added in UpdateAndSwap.

* Edoardo's feedback, Tim's feedback.

* Use a default page size if the page limit is not specified.

* More of Edoardo's feedback.

* Propagate error instead of panic.

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
2023-02-24 15:59:16 +00:00
STeve (Xin) Huang 6e4e0cca9a Fix an issue Redis protocol not handling nil response (#22200)
* Fix an issue Redis protocol not hanlding nil

* move til to top in switch
2023-02-24 14:41:17 +00:00
Jakub Nyckowski 7ccf2f219a Terminate the local shell when a session closes #19817 (#19817)
When a client sends an SSH session before the shell process ends, Teleport sends the SIGKILL signal to the subprocess. This causes the still-leaving shell to be resigned to PID 1 and live forever.
This PR tried to stop the terminal first before killing the subprocess to prevent the terminal from living forever.

Closes #13335
Closes #6245
Closes #4469
2023-02-24 13:56:11 +00:00
Tiago SilvaandPaul Gottschling 2ffbd01944 Adds kubernetes_resources references (#22125)
* Adds `kubernetes_resources` references

This PR adds references to Role `v6` in `Role Versions` and updates the
Terraform docs to include the new Role's field `kubernetes_resources`.

It also fixes a typo in Helm chart guide.

Fixes #21889
Fixes #22117

* Update docs/pages/reference/terraform-provider.mdx

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>

* Update docs/pages/reference/terraform-provider.mdx

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
2023-02-24 09:31:32 +00:00
Forrest da5945e7fc preserve explicit local auth disable (#15454) 2023-02-24 03:23:31 +00:00
rosstimothy 89606e07f0 Add ProxySSH implementation to transportv1.Service (#21728)
Completes the service implementation of the transportv1.Service.
Ensures that both SSH and SSH Agent protocols are multiplexed
correctly over the gRPC stream via TestService_ProxySSH.

Part of #19812
2023-02-23 21:04:23 +00:00
JoelandAlan Parra 073c784b3a Format collected data in the device tctl resource nicely (#22198)
* format collected data nicely

* remove name prefix

* update comment

* Update tool/tctl/common/device/resource.go

Co-authored-by: Alan Parra <alan.parra@goteleport.com>

* fix test

---------

Co-authored-by: Alan Parra <alan.parra@goteleport.com>
2023-02-23 19:10:03 +00:00
matheus 50f2796207 Add isDashboard to web config object (#20830)
* Add isDashboard to web config

* Update config.js with the new field

* Remove debug log

* Remove debug log (2)

* Improve godocs

* Remove debug log(3)

* Improve godoc

* Improve godocs

* Update godoc

* Update comment

* Improve comments/godocs and rename method
2023-02-23 19:03:51 +00:00
Jakub Nyckowski 79683465fd Fix compilation on ARM (#22203) 2023-02-23 18:44:33 +00:00
Edward Dowling 766b8cff3b Add check for non existent roles on upsertUser (#22065)
* Add check on apiserver upserUser to ensure all roles on user exist

* Move role check on upsert user to client side

* Move user role checks on upsert to tctl

* Add check to upsertuser to ensure roles exist

* Add test to ensure upsertUser rejects users with unknown roles

* Change user creation test to use a role that will always exist
2023-02-23 18:04:39 +00:00
JoelandAlan Parra 1866507b01 Add docs for Device Trust tctl commands (#22154)
* add device spec docs

* format specifics of key

* add yaml tag

* add collected data

* cli ref update

* Update docs/pages/includes/device-spec.mdx

Co-authored-by: Alan Parra <alan.parra@goteleport.com>

* update example

---------

Co-authored-by: Alan Parra <alan.parra@goteleport.com>
2023-02-23 17:35:44 +00:00
Jakub Nyckowski eb2fdaaa57 Update e (#22153) 2023-02-23 17:12:48 +00:00
Jakub Nyckowski 1b0b30e447 Create separate build tags for different arch (#21086)
Test ARM64 assets build

Use all available cores when building Clang

Add test trigger

Update assets buildbox name

Build all dependencies on ARM64 including BPF
2023-02-23 17:11:50 +00:00
Tiago Silva 91eb3c6bbc Inherit kubernetes_resources from roles when using access requests to (#22127)
Kube

This PR fixes the inheritance of `kubernetes_resources` from the user's roles when the user has active access requests to a `kube_cluster`.

If the user had an active request to a `kube_cluster`, Teleport ignored the role's `kubernetes_resources` and returned an empty set for the allowed and denied pods. This resulted in the user being unable to see any pods in the cluster.

Fixes #22126
2023-02-23 15:35:28 +00:00
rosstimothy 7f5c185d5b Adds a new credentials.TransportCredentials to auth and refactors (#21850)
`auth.Middleware` to make use of them. This allows for less redundancy
per RPC and provides the ability to perform session control when grpc
connections are established.

The `auth.Middleware.withAuthenticatedUser` function was called from all
interceptors of any gRPC server that leveraged `auth.Middleware`. This
was constructing the identity of the client from the TLS certificate
per RPC. Since the identity of a connection cannot change between RPCs
there is no need to construct the identity in an interceptor. Instead,
the new `auth.TransportCredentials` can build the identity once after the
TLS handshake completes. When interceptors or gRPC handlers need to
acquire the identity they can do so using the same
mechanism via `peer.Peer.AuthInfo` and assert on the new `auth.IdentityInfo`
type:

```go
    peerInfo, ok := peer.FromContext(ctx)
	if !ok {
		return
	}

	connInfo, ok := peerInfo.AuthInfo.(auth.IdentityInfo)
	if !ok {
	    return
	}

	identity := connInfo.IdentityGetter.GetIdentity()
	connState := connInfo.TLSInfo.State
```

The gRPC server that is served on the Proxy ssh port needs to hold the
same invariants as the ssh server available on the same port. This
means that connection limits need to be enforced when new connections
are established. To achieve this the new `auth.TransportCredentials` can
be provided with an `auth.ConnectionEnforcer` and an `auth.Authorizer`
to first build an identity, then ensures that the user is authorized and
finally that the user has not exceeded their connection limits.

Other minor changes include providing the cluster name to the
`auth.Middleware` instead of it looking the value up from the cache every
time an identity is created. Some interceptors were also moved around or
removed to eliminate the chances of having duplicate interceptors end up in
the interceptor chain.

Part of #19812
2023-02-23 14:55:06 +00:00
d89879c2f5 Add gRPC service definition for Plugin resources (#21750)
* Add plugin exchange service

* Add Plugin methods to auth

* Add gRPC-layer methods for Plugin

* Add RBAC presets for Plugin

* Test GetPlugin()/NoSecrets access

* Make error assertions more correct in role test

* Deny setting credentials if user can not read them

* gofmt

* Apply minor suggestions from code review

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
Co-authored-by: Tiago Silva <tiago.silva@goteleport.com>

* Move dependency into an existing block in go.mod

* Improve error messages for failed type assertions

* DRY WithSecrets access checks for Plugins

* Run new tests in parallel

* Improve error assertions in auth_with_roles_test

* TestGetPluginWithSecrets: split cases to subtests

* Clean up test servers and clients

* Add proto for plugin service

* Remove Plugin methods from auth service

Moved to a dedicated service

* Remove plugin-related auth methods

Moved to a dedicated service in Enterprise

* Remove CreatePlugin test from auth_with_roles_test

Moved to a dedicated service in Enterprise

* Pass "backend getter" to local plugins service

This pattern is used in Enterprise to set up secondary services
before auth (and backend) are created.

* Rename InitialCredentials to BootstrapCredentials

* Add plugins service to genproto.sh

* Reformat generated proto

* Remove obsolete PluginExchangeService

The equivalent of this is now in Enterprise

* Add kube service to genproto.sh; regenerate

* Add ListPlugins to plugin backend service

* Reimplement GetPlugins on top of ListPlugins

This is a "convenience" implementation for the backend service layer.

* Replace GetPlugins with ListPlugins in gRPC schema

* Fix ListKubernetesResources unit test

* Simplify plugin pagination key to just the name

* Use existing constant for page size

* Make dummy clients return errors instead of panic

* Remove obsolete field

* Ensure go.mod is valid for corresponding e changes

* Fix passing mutex ref

* Move teleport-plugins import to e_imports

* Revert oauth change in go.mod

* Use limit+1 to look-ahead when paginating plugins

* Test plugin pagination with pageSize > numPlugins

* Add descriptive messages to gRPC dummy clients

* Plugin: add RW for editor; remove secrets from gRPC

* Make message more descriptive for dummy gRPC conn

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
Co-authored-by: Tiago Silva <tiago.silva@goteleport.com>
2023-02-23 14:32:41 +00:00
Hugo Shaka 8cec3828db operator: reconcile Users with standard Teleport reconciler (#21512)
* operator: reconcile Users through Teleport reconciler

* fixup! operator: reconcile Users through Teleport reconciler
2023-02-23 14:15:05 +00:00
Rafał Cieślak 6bd3cbac47 createPtyProcess: Return early on error (#22180)
Without this early return, createPtyProcess of PtyHostService would call
the callback twice on error. This doesn't have much negative implications
since the gRPC implementation will simply ignore the second call, however
it does pose some problems when trying to manually test PTY failures
by making `new PtyProcess` return an error.
2023-02-23 13:55:19 +00:00