Commit graph

5702 commits

Author SHA1 Message Date
Roman Tkachenko d11eb19957 Move db access demo to the top of the page 2020-12-28 10:29:30 -08:00
Sasha Klizhentas 6fb590de88 Fix tag manager location 2020-12-28 09:28:45 -08:00
a-palchikov 54ee98f529
Upgrade github.com/gravitataional/trace to v1.1.13 (#5187)
* Upgrade github.com/gravitataional/trace to v1.1.12

We were a few versions behind. In particular this versions lets us use
stdlib's `errors.Is/As` to inspect errors.

* Bump trace to 1.1.13

Co-authored-by: Andrew Lytvynov <andrew@goteleport.com>
2020-12-23 11:30:15 +01:00
Sasha Klizhentas c0bb732545 Adds ACME - auto cert management
This commit fixes #5177

Initial implementation uses dir backend as a cache and is OK
for small clusters, but will be a problem for many proxies.

This implementation uses Go autocert that is quite limited
compared to Caddy's certmagic or lego.

Autocert has no OCSP stapling and no locking for cache for example.
However, it is much simpler and has no dependencies.
It will be easier to extend to use Teleport backend as a cert cache.

```yaml
proxy_service:
  public_addr: ['example.com']
  # ACME - automatic certificate management environment.
  #
  # It provisions certificates for domains and
  # valid subdomains in public_addr section.
  #
  # The sudomains are valid if there is a registered application.
  # For example, app.example.com will get a cert if app is a regsitered
  # application access app. The sudomain cookie.example.com is not.
  #
  # Teleport acme is using TLS-ALPN-01 challenge:
  #
  # https://letsencrypt.org/docs/challenge-types/#tls-alpn-01
  #
  acme:
    # By default acme is disabled.
    enabled: true
    # Use a custom URI, for example staging is
    #
    # https://acme-staging-v02.api.letsencrypt.org/directory
    #
    # Default is letsencrypt.org production URL:
    #
    # https://acme-v02.api.letsencrypt.org/directory
    uri: ''
    # Set email to receive alerts and other correspondence
    # from your certificate authority.
    email: 'alice@example.com'
```
2020-12-22 17:33:20 -08:00
Andrew Lytvynov 96019ce0be
Make k8s errors responses decode-able by kubectl (#5166)
* Make k8s errors responses decode-able by kubectl

`kubectl` expects a k8s `Status` object in error responses.
Intercept generic handler errors and forwarder errors, and wrap them in
a `Status` object.
2020-12-18 15:27:45 -08:00
Alexey Ivanov d05df372ce Fix additional typos based on automatic validation 2020-12-18 14:14:48 -08:00
Andrew Lytvynov 225777cc53
Use strict teleport.yaml validation in warning mode (#5057)
* Use strict teleport.yaml validation in warning mode

Strict YAML validation catches the cases where a valid config key is
placed in the wrong location in the config. These errors were not
caught by the old validation.
The failure is always reported, but only fails startup when both old and
new validations fail. This will let the users fix their configs during
6.0 release and we will start enforcing it in 7.0.

Example:
```yaml
auth_service:
  data_dir: "/foo" # this field must live under "teleport:", not "auth_service:"
```

Output:
```
$ teleport start -c teleport-invalid.yaml
ERRO             "Teleport configuration is invalid: yaml: unmarshal errors:\n  line 6: field data_dir not found in type config.Auth." config/fileconf.go:303
ERRO             This error will be enforced in the next Teleport release. config/fileconf.go:304
[AUTH]         Auth service 5.0.0-dev:v4.4.0-alpha.1-262-g307040886-dirty is starting on 0.0.0.0:3025.
... continues startup ...
```

* Remove newlines from YAML error
2020-12-18 14:11:53 -08:00
Sasha Klizhentas 02dbf6a72e Adds cloud schedule 2020-12-18 09:35:51 -08:00
Alexey Ivanov 103465ed5a Fix typo in video tag 2020-12-17 18:25:20 -08:00
Kevin Nisbet 7947160afa Apply suggestions from code review
Co-authored-by: Andrew Lytvynov <andrew@goteleport.com>
2020-12-17 11:06:05 -08:00
Kevin Nisbet eb386e21f0 add PSP to kube-agent helm chart 2020-12-17 11:06:05 -08:00
Gus Luxton b76e22ca9a
Teleport AMI fixes (#5157) 2020-12-17 14:46:48 -04:00
Andrew Lytvynov 2ac39d622e
Forward-port CHANGELOG entries for 4.3.8, 4.3.9, 4.4.6, 5.0.2 (#5158)
* Forward-port CHANGELOG entries for 4.3.8, 4.3.9, 4.4.6, 5.0.2
2020-12-17 10:13:07 -08:00
Roman Tkachenko 5f6f657660 Update database access docs 2020-12-17 09:14:46 -08:00
Andrej Tokarčík a2ace49f93
[docs] Fix formatting and indentation (#5148)
* [docs] Fix formatting and indentation
* Apply suggestions from code review

Co-authored-by: Gus Luxton <gus@gravitational.com>
2020-12-16 19:18:27 -08:00
Sasha Klizhentas 7ef78a0eff Fixes broken HTML and markup in docs 2020-12-16 19:01:59 -08:00
Andrew Lytvynov 4fc106553f
Upload k8s session recordings regardless of request context (#5145)
The HTTP request context is canceled when the client disconnects. Using
this context in the session recorder prevents it from uploading the
session when it's finished.

Use the server context instead, to prevent lost recordings.
2020-12-16 11:46:59 -08:00
Ben Arent 0646686d27 Removes tabs on tabs 2020-12-16 11:11:43 -08:00
Ben Yitzhaki c0232bfd0e
Use tag as string instead of number in chart values (#5075)
* Use "5.0" as string instead of integer

Otherwise, it won't find the tag as it will look for tag 5, instead of 5.0

* update values for teleport-auto-trustedcluster and teleport-deamonset

Co-authored-by: Gus Luxton <gus@gravitational.com>
Co-authored-by: Andrew Lytvynov <andrew@goteleport.com>
2020-12-16 10:28:27 -08:00
Steven Martin 88878f589d
Migrated email domain references to goteleport.com (#5142)
Update email address domain to goteleport.com
2020-12-16 09:23:55 -08:00
Ben Arent d53b583759
[docs] DynamoDB Autoscaling and Backup Docs (#4978) 2020-12-16 15:53:11 +00:00
Gus Luxton 6178e92e06
Update support matrix in FAQ docs for 5.0 (#5131) 2020-12-16 10:58:53 -04:00
Gus Luxton d61c8fa9a8
[auto] Update AMI IDs for 5.0.2 (#5130) 2020-12-16 09:30:45 -04:00
Andrew Lytvynov e7cfd031e8
RFD 12: Teleport versioning (#5039)
* RFD 12: Teleport versioning

This is a new versioning scheme for teleport releases.
It's similar to the current scheme, and keeps similar compatibility
guarantees.

The new scheme aims to be more intuitive (semver-like) to implicitly
communicate to users what the semantics of different version bumps are.
2020-12-15 18:28:35 -08:00
Andrej Tokarčík 1fe6226803
Improve error message reported when node is offline (#5036) 2020-12-15 16:36:39 +01:00
Andrew Lytvynov 05c73c9372
Upgrade gosaml2 library to v0.6.0 (#5118)
See https://github.com/russellhaering/gosaml2/security/advisories/GHSA-xhqq-x44f-9fgg
2020-12-14 11:34:20 -08:00
Andrew Lytvynov 441cb95a77
kube-agent helm chart: use image tag 5.0 instead of 5.0.0 (#5117)
Automatically picks up the latest patch version.
2020-12-14 13:44:20 -04:00
Gus Luxton ededd7f3b1
Update CHANGELOG for 5.0.1 (#5099) 2020-12-14 10:37:35 -04:00
Andrej Tokarčík 6e312cfeea
[docs] Fix misleading explanation of unavailable node access (#5033) 2020-12-14 14:49:46 +01:00
Gus Luxton c9d107374e
Add correct volumes to DEB publishing step (#5101) 2020-12-11 18:45:06 -04:00
Gus Luxton 11c660936d
[auto] Update AMI IDs for 5.0.1 (#5100) 2020-12-11 17:52:18 -04:00
Sasha Klizhentas 9df6ac688b Fix broken kubernetes-ssh link. 2020-12-11 11:57:48 -08:00
Andrej Tokarčík ee87fce040
Don't log error on tunnel node after its serving agent is stopped (#5042) 2020-12-11 17:39:19 +01:00
a-palchikov ca60c7eb35
Add SetLevel to utils.Logger interface (#5082) 2020-12-11 12:59:09 +01:00
a-palchikov 7809a47356
Fix a flaky test in lib/srv/app (#5079) 2020-12-11 12:36:02 +01:00
Alex Wolfe d28164f3f4
google analytics (#5106) 2020-12-10 19:58:06 -08:00
Steven Martin f0d11b20f7
Update k8s access and migration docs role example to remove extra brackets (#5095)
* Remove extra end square bracket in role example

* remove extra square end bracket from role example
2020-12-10 19:56:44 -08:00
Sasha Klizhentas bed9bb052d Update release schedule for database access. 2020-12-10 15:59:14 -08:00
Steven Martin c0b51bbfc1
Add skip secure option example in app access docs (#5066) 2020-12-10 16:57:22 -04:00
Ben Arent 1ee10646ad
s/Access/Approval (#5074) 2020-12-10 07:32:54 -08:00
Sasha Klizhentas 2e89009606 Removes -ti flag for docker builds of docs 2020-12-09 12:34:43 -08:00
a-palchikov c94e5042c7
Server data race (#4790)
* Add logger attributes to be able to propagate logger from tests for identifying tests
* Add test case for Server's DeepCopy.
* Update test to using the testing package directly. Update dependency after upstream PR.
2020-12-09 16:46:33 +01:00
Steven Martin 8957b67856
Provide enterprise create user instructions for terraform example (#5069) 2020-12-08 19:47:32 -08:00
Andrew Lytvynov 3fa6904377
Multiple fixes for k8s forwarder (#5038)
* kube: emit audit events using process context

Using the request context can prevent audit events from getting emitted,
if client disconnected and request context got closed.
We shouldn't be losing audit events like that.

Also, log all response errors from exec handler.

* kube: cleanup forwarder code

Rename a few config fields to be more descriptive.
Avoid embedding unless necessary, to keep the package API clean.

* kube: cache only user certificates, not the entire session

The expensive part that we need to cache is the client certificate.
Making a new one requires a round-trip to the auth server, plus entropy
for crypto operations.

The rest of clusterSession contains request-specific state, and only
adds problems if cached.
For example: clusterSession stores a reference to a remote teleport
cluster (if needed); caching requires extra logic to invalidate the
session when that cluster disappears (or tunnels drop out). Same problem
happens with kubernetes_service tunnels.

Instead, the forwarder now picks a new target for each request from the
same user, providing a kind of "load-balancing".

* Init session uploader in kubernetes service

It's started in all other services that upload sessions (app/proxy/ssh),
but was missing here. Because of this, the session storage directory for
async uploads wasn't created on disk and caused interactive sessions to
fail.
2020-12-08 11:12:07 -08:00
Sasha Klizhentas 481158d631 Adds upcoming releases preview section.
Updates compatibility guarantee to match latest RFD.
Adds klizhentas as a docs reviewer.
2020-12-08 09:42:01 -08:00
a-palchikov 673c2907f2
Augment session events with cluster name (#4994)
Add cluster name to event metadata
2020-12-08 13:33:44 +01:00
a-palchikov 7c87576a8b
flaky tests: consistent logging (#4849)
* Update logrus package to fix data races
* Introduce a logger that uses the test context to log the messages so they are output if a test fails for improved trouble-shooting.
* Revert introduction of test logger - simply leave logger configuration at debug level outputting to stderr during tests.
* Run integration test for e as well
* Use make with a cap and append to only copy the relevant roles.
* Address review comments
* Update integration test suite to use test-local logger that would only output logs iff a specific test has failed - no logs from other test cases will be output.
* Revert changes to InitLoggerForTests API
* Create a new logger instance when applying defaults or merging with file service configuration
* Introduce a local logger interface to be able to test file configuration merge.
* Fix kube integration tests w.r.t log
* Move goroutine profile dump into a separate func to handle parameters consistently for all invocations
2020-12-07 15:35:15 +01:00
Gus Luxton 561398f4ce
Added --no-use-local-ssh-agent and TELEPORT_USE_LOCAL_SSH_AGENT to tsh login docs (#5015) 2020-12-05 11:34:52 -04:00
Steven Martin 6da796c3c5
Tag ports in table (#5060)
Formatting port numbers as with code syntax
2020-12-04 23:13:15 -05:00
jane (quin) 307040886e
remove threads flag (#5055) 2020-12-04 09:29:05 -08:00