Skip to content

Commit

Permalink
Set TTL on kube_service resources (#5008)
Browse files Browse the repository at this point in the history
Without this, deleted kube_services linger in the backend and show up as
obsolete kubernetes clusters in tsh.

Ideally, this TTL logic should be enforced centrally, but I'd like to
fix the bug first, and do a larger refactoring later.
  • Loading branch information
Andrew Lytvynov authored Dec 3, 2020
1 parent 5841b80 commit 11f5dc6
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
6 changes: 4 additions & 2 deletions lib/kube/proxy/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ func (t *TLSServer) GetServerInfo() (services.Server, error) {
name += "-proxy_service"
}

return &services.ServerV2{
srv := &services.ServerV2{
Kind: services.KindKubeService,
Version: services.V2,
Metadata: services.Metadata{
Expand All @@ -232,5 +232,7 @@ func (t *TLSServer) GetServerInfo() (services.Server, error) {
Version: teleport.Version,
KubernetesClusters: t.fwd.kubeClusters(),
},
}, nil
}
srv.SetTTL(t.Clock, defaults.ServerAnnounceTTL)
return srv, nil
}
3 changes: 3 additions & 0 deletions lib/services/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,9 @@ func LabelsAsString(static map[string]string, dynamic map[string]CommandLabelV2)

// CheckAndSetDefaults checks and set default values for any missing fields.
func (s *ServerV2) CheckAndSetDefaults() error {
// TODO(awly): default s.Metadata.Expiry if not set (use
// defaults.ServerAnnounceTTL).

err := s.Metadata.CheckAndSetDefaults()
if err != nil {
return trace.Wrap(err)
Expand Down

0 comments on commit 11f5dc6

Please sign in to comment.