Commit graph

100 commits

Author SHA1 Message Date
Russell Jones 6299d349c1 Introduced and migrated to RoleV3. 2017-07-18 11:20:48 -07:00
Russell Jones 7e17b6f9a7 Added --compat=oldssh flag to generate user certificates without roles. 2017-06-20 16:57:56 -07:00
Russell Jones 5f670ef7d9 Moved tests from lib/srv and lib/utils into integrations. 2017-06-01 17:35:09 -07:00
Sasha Klizhentas 8ecfe3acc1 fix and complete tests 2017-05-20 12:52:03 -07:00
Sasha Klizhentas bf211f5764 integration test 2017-05-19 19:03:28 -07:00
Sasha Klizhentas 123a158f2e fix tests 2017-05-19 10:06:48 -07:00
Sasha Klizhentas 3c2570fa35 Sasha High Availability. 2017-04-07 16:54:15 -07:00
Russell Jones fde0ae4178 Added TTL to UpsertRole. Dynamic roles for OIDC users now have TTL. 2017-04-04 17:06:28 -07:00
Sasha Klizhentas 80350d067b fix integration test 2017-03-21 15:16:11 -07:00
Russell Jones 54c7f1cd32 Added dynamic_config and removed seed_config. 2017-03-01 16:44:34 -08:00
Russell Jones 6295213815 Host certificate now presents two principals: hostUUID.clusterName and nodeName.clusterName. 2017-02-08 18:34:29 -08:00
Ev Kontsevoy bd80127fac Fixed tests 2017-01-28 18:06:12 -08:00
Ev Kontsevoy ac205ad530 Finished cleaning up storage back-ends
I hope this closes #688
2017-01-15 23:23:37 -08:00
Ev Kontsevoy 7040331660 Fixed all tests
Also replaced mailgun.FrozenTime with `clockwork` in a few places
(mailgun's frozen time still remains elsewhere)
2017-01-15 16:28:18 -08:00
Sasha Klizhentas 5eedbea1ad fix integration tests 2016-12-30 14:47:52 -08:00
Sasha Klizhentas 5abf6d44d5 continue fixing tests and code 2016-12-18 16:58:53 -08:00
Ev Kontsevoy 7964bfc54e Client profiles for TSH 2016-10-22 12:54:16 -07:00
Ev Kontsevoy 155c53965e Small changes to the "integration" package
This is to support Teleconsole/Telecast features, namely:

- When a user is added programmatically, it's actually returned.
- When a server is being created, it will not create users if
  they exist already, instead it will just sign their public keys
2016-09-11 19:33:52 -07:00
Ev Kontsevoy c7b4934553 Implemented a new Teleport option: "no recording"
Teleport configuration now has a new field: NoAudit (false by default,
which means audit is always on).

When this option is set, Teleport will not record events and will not
record sessions.

It's implemented by adding "DiscardLogger" which implements the same
interface as teh real logger, and it's plugged into the system instead.

NOTE: this option is not exposed in teleport in any way: no config file,
no switch, etc. I quickly needed it for Telecast.
2016-09-05 22:12:57 -07:00
Ev Kontsevoy 2659e4e350 Fixed severe timer leak
Without this leak Teleport CPU utilization is very slowly increasing
over time.
2016-08-28 17:31:57 -07:00
Ev Kontsevoy 853ce11b74 Minor changes
- Improved integration testing
- Added more logging around weird tunnel connectivity issue
2016-08-28 14:01:57 -07:00
Ev Kontsevoy 2646002a51 Improvement to help aid debugging
- Added more trace.Wrap() calls
- Added callback to control shell creation/destruction
2016-08-21 21:49:24 -07:00
Ev Kontsevoy 2f60436d5f Minor bug with integration tests 2016-08-17 17:06:59 -07:00
Ev Kontsevoy 42fceeaa87 Minor change in integration tests 2016-06-28 17:08:03 -07:00
Ev Kontsevoy 4a635ec949 Added "seed_config" configuration flag
Teleport YAML config now has a new configuration variable for internal
use by Gravitational:

```yaml
teleport:
   seed_config: true
```

If set to 'true', Teleport treats YAML configuration simply as a seed
configuration on first start.

If set to 'false' (default for OSS version), Teleport will throw away
its back-end config, treating YAML config as the only source of truth.

Specifically, for now, the following settings are thrown away if not
found in YAML:

- trusted authorities
- reverse tunnels
2016-06-17 11:55:22 -07:00
Ev Kontsevoy 92b30c3c77 Configuration changes
1. data_dir is now a global setting in teleport.yaml (instead of being
   inside of "storage" sub-section)

2. changing data_dir in one place causes all of teleport to use it,
   not just bolt backends.

3. moving auth server to listen on non-default ports properly adjusts
   the global auth_servers setting

4. `tctl` now accepts -c flag just like Teleport, so you can pass
   `teleprot.yaml` to it.

Fixes #432
Fixes #431
Fixes #430
2016-05-31 14:58:55 -07:00
Ev Kontsevoy 49256d1c23 Merge remote-tracking branch 'origin/master' into ev/multi-role
Conflicts:
	lib/auth/tun.go
2016-05-17 10:53:36 -07:00
Ev Kontsevoy 23b3565f3a Started work on self-reconnecting reverse tunnels 2016-05-11 13:17:13 -07:00
Ev Kontsevoy 0b26b7fc47 Teleport Host Certificates support multiple roles now
Teleport CA-signed host certificates used to support only one
server role per cert.

This commit adds the ability to store multiple roles in a
certificate, paving the road for multi-role node support in
a near future.
2016-05-10 20:27:18 -07:00
Ev Kontsevoy bd9ad5782c Merge remote-tracking branch 'origin/master' into ev/log 2016-05-08 11:53:57 -07:00
Ev Kontsevoy b175d92052 PR comments - implemented! 2016-05-07 21:51:35 -07:00
Ev Kontsevoy fc317d781f Integration test for audit log 2016-05-04 16:49:59 -07:00
Ev Kontsevoy e28f21922c Certificate TTL improvements
1. Server now always uses UTC timestamps for certificates it ussues
2. Client doesn't store cert validBefore time in separate files, it
   parses the cert itself.

Fixes #370
2016-04-19 16:09:22 -07:00
Ev Kontsevoy 9e5ea47732 PR code review suggestions 2016-04-19 10:37:46 -07:00
Ev Kontsevoy 9869c5cd01 Fixed integration tests 2016-04-19 02:08:07 -07:00
Ev Kontsevoy 8cb2716373 Refactoring of reverse tunnel agent
- reduced number of goroutines
- reduced number of 'sleep constants', settling on just one:
  `defaults.HeartbeatPeriod`
- increased the interval

Fixes #358
2016-04-17 15:45:24 -07:00
Ev Kontsevoy 0dcdc4c278 Added ability to specify which console to use
...by teleport clients + servers, meaning:

1. Servers do not default to stdout when printing startup messages
2. Clients can use arbitrary input/output instead of stdin/stdout when
   doing SSH/join. This helps with integration testing.
2016-04-14 13:56:53 -07:00
Ev Kontsevoy 7252f223ca Intermediate commit 2016-04-14 13:56:53 -07:00
Ev Kontsevoy 3d42e3d636 Prepared previous commits for merging into master
- Fixed all tests
- Removed "magic constants" in random places
- Improved 'retry connecting to auth server' logic (it used to always
  fail on 1st attempt)
2016-04-11 16:32:38 -07:00
Ev Kontsevoy 31951cb1e4 Incorporated 'testauthority' into integration tests 2016-04-11 16:32:38 -07:00
Ev Kontsevoy c0ba0cffff Dynamic ports for integration testing 2016-04-11 16:32:38 -07:00
Ev Kontsevoy 6ac710f308 Nicer inetgration package 2016-04-11 16:32:37 -07:00
Ev Kontsevoy a9b193222a Added explicit tunnel access to integratin testing 2016-04-11 16:32:37 -07:00
Ev Kontsevoy 4cdaaa46a3 Teleport won't look for web assets
... when executing simple commands like 'status' or 'version'
2016-04-11 16:32:37 -07:00
Ev Kontsevoy 1cc9f9da8a Incorporated GetFreeTCPPorts() into integration testign 2016-04-08 10:38:19 -07:00
Ev Kontsevoy dde41aa123 Added JSON annotations to some structs 2016-04-08 00:42:09 -07:00
Ev Kontsevoy 95f9e2c94d Made integration framework more flexible 2016-04-07 23:57:32 -07:00
Ev Kontsevoy 4587b6e9e9 Added endurance integration test 2016-04-07 19:01:31 -07:00
Ev Kontsevoy 8bbb14d03b Sped up tests 2016-04-07 18:29:07 -07:00
Ev Kontsevoy b7be49bc49 Added new integration test (not turned on yet) 2016-04-07 18:20:38 -07:00