teleport/lib/reversetunnel
Sasha Klizhentas 3e144cb900 Teleport certificate authority rotation.
This commit implements #1860

During the the rotation procedure issuing TLS and SSH
certificate authorities are re-generated and all internal
components of the cluster re-register to get new
credentials.

The rotation procedure is based on a distributed
state machine algorithm - certificate authorities have
explicit rotation state and all parts of the cluster sync
local state machines by following transitions between phases.

Operator can launch CA rotation in auto or manual modes.

In manual mode operator moves cluster bewtween rotation states
and watches the states of the components to sync.

In auto mode state transitions are happening automatically
on a specified schedule.

The design documentation is embedded in the code:

lib/auth/rotate.go
2018-04-30 12:58:57 -07:00
..
agent.go Removed depreciated code and re-factored tests to use 2018-04-05 23:14:20 +00:00
agentpool.go Add support for remote_cluster, implements #1526 2017-12-28 17:48:30 -08:00
api.go Teleport signal handling and live reload. 2018-02-13 15:18:47 -08:00
cache.go Create single instance of keygen per process. Use cache of precomputed 2018-02-15 21:23:30 +00:00
discovery.go Add ClusterName to discovery request. 2017-10-19 00:36:03 +00:00
doc.go Add ClusterName to discovery request. 2017-10-19 00:36:03 +00:00
localsite.go External events and sessions storage. 2018-03-15 12:42:43 -07:00
peer.go Add support for remote_cluster, implements #1526 2017-12-28 17:48:30 -08:00
remotesite.go Teleport certificate authority rotation. 2018-04-30 12:58:57 -07:00
srv.go Teleport certificate authority rotation. 2018-04-30 12:58:57 -07:00