From 98701270987ee3ad5a5ecf121830964a1fda91e2 Mon Sep 17 00:00:00 2001 From: Marco Dinis Date: Tue, 22 Oct 2024 14:30:47 +0100 Subject: [PATCH 1/7] Discover Wizard: drop v13 edge case for Kube Access (#47796) --- .../src/Discover/Kubernetes/HelmChart/HelmChart.tsx | 8 -------- 1 file changed, 8 deletions(-) diff --git a/web/packages/teleport/src/Discover/Kubernetes/HelmChart/HelmChart.tsx b/web/packages/teleport/src/Discover/Kubernetes/HelmChart/HelmChart.tsx index f16b938ba7534..d3dba75b8e1f9 100644 --- a/web/packages/teleport/src/Discover/Kubernetes/HelmChart/HelmChart.tsx +++ b/web/packages/teleport/src/Discover/Kubernetes/HelmChart/HelmChart.tsx @@ -359,14 +359,6 @@ export function generateCmd(data: GenerateCmdProps) { // AutomaticUpgradesTargetVersion contains a v, eg, v13.4.2. // However, helm chart expects no 'v', eg, 13.4.2. deployVersion = data.automaticUpgradesTargetVersion.replace(/^v/, ''); - - // TODO(marco): remove when stable/cloud moves to v14 - // For v13 releases of the helm chart, we must remove the App role. - // We get the following error otherwise: - // Error: INSTALLATION FAILED: execution error at (teleport-kube-agent/templates/statefulset.yaml:26:28): at least one of 'apps' and 'appResources' is required in chart values when app role is enabled, see README - if (deployVersion.startsWith('13.')) { - roles = ['Kube']; - } } const yamlRoles = roles.join(',').toLowerCase(); From 37463f46f3bc17ce87f2c2f9887be53a8fa1e257 Mon Sep 17 00:00:00 2001 From: Gus Luxton Date: Tue, 22 Oct 2024 10:38:40 -0300 Subject: [PATCH 2/7] [v16] docs: Fix username attribute transformation in Azure AD guide (#47802) * docs: Fix username attribute transformation in Azure AD guide * Value -> Transformation --- docs/img/azuread/azuread-8c-usernameclaim.png | Bin 221189 -> 163647 bytes .../access-controls/sso/azuread.mdx | 10 +++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/img/azuread/azuread-8c-usernameclaim.png b/docs/img/azuread/azuread-8c-usernameclaim.png index c4522140a05e5ec6f55e607f03367c8be91d8305..884df14c9eca109e19a225b521da4da480a8c380 100644 GIT binary patch literal 163647 zcmagG1zc2H_diT2EhQ!0N(~{+(B0kLh~yAMgLESyT_Vz5(h}0GbW3*+F~mFG``mn< z|NDc(XZDs3=KeqP;+agM-7Am61?`gL~=?2ls>y?nv7_JL$A zswfHvR~?6bXZi&8ozh%JO%V>xiyjUxAQ%qr7IrIO2M*4S4GwP41P+cr6%LNjDYIEs z5ca^qQb*QGQ4x+2Rz`tCfX9VHgq7f7zi?r;a7e$E;ox8`!G4euLgA2MpSZ9;gIxH( z-pob#&$_HP|P{9qvUZ*TC!%D-*{s40JY#nlc-t)r+y zDemZENy*L1#>z%5ghok8Dd=Kh#jhqI^`GjnZ$N4rS63%~0Kmh;gVlqR)zQToz|P0V z2Vmm>aB#4|-e3WFI=GsGSsXw#zc=znI}(;4a~E4DS6fF1%3tl8nmM|;0;#Egb@b=Y z@8h%t+y2#)1L!}~f=v+c>j{9Jl@0K}s=3-){XeSxdh&a<-{$pucY?nf;}>^)>*%8H zWNL0H#4h+-`+vXn*WiACTg4V^`BqoL)*iM7u!#tUQ zRp_r({7>b-Km2#a-x}8WTc6xqe1GrrZ;$>~_1Bd7m0fIM-I@NP`LEgi*S-I|F9`Ux zAb(q+-&g;)yRhXKLK6i1$x1?KQLU#i))#@3l@Qec!yjZJXHH2FegiO5wp}$}JVVfm zL<|3@R=^r%g7_S#U{>T*T|}}vAU9wV>EL2XUfa1Zc0aOwiS$cFHqy*{NYU};#~<2;%N9~}!d8Q@V*Xdn03@|YxNq4> z)MMuffAs(91%lKnI~n)FQNi38-5-PcCb7Xk-^h!eM$L(owU}?=1_dpP}BX_H2$pY zWQdbH3o=|%GQ#*{L?Q;LL^yqZnS~q&JexY{Zr)98m=%ft9Or+CD&hjGooMjMll(uU zr3}=N{))nH6@l(lxzMP-^yGhbDuOWc1UAo^Z}uCKe=ZL#7ko=mklT5u=OHwqnc{8E z|EB9A(o4vf2&arcp00+{ugZTpts7&#T^wHppZ9?jZ#&}8byh=!Z~SWB zLsqMRIrCNM&o%mUG_Zof3al%Gm8%qO=|5<`8Wf=4U#)#vKV}FRZ-%UY`G2fNge0s# zv-cJPGr+($2EgESK4ArPAL9a{uY#Yo^1Q zxSHLl_-akn6j69|{^Y!tRJ%sr4!_?QBS0L=Do6I|BH^*jJnI&HCpDovr2z1^phI@ z&-cC@sAK6qio$}PjT>Y{&W1`z?ho#j8uvD(Pe466eYC!hith%-J~ePbM|VM(_xCbt zIgG0iYst(H&T=QHKPZ#d(jGT+zLR6!yxnvzzFX6Z;Po*&4jT_TbS_l_m*pgc_za=y+Fa8l|U|hl=2xb|I<2;_eP8{*3cSfieNVG zPxjuh^OTR@j6CSh7a}?seCF6MJ)X`x$0a+m2r>)X3vKSJR6lm$MGA3 --tfHqjGFb{Y6uAbzx2kauB=XTtKbQc* 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
)7a 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

TxD4Al=1@$ZZ>pKGYZX@87RwVPTQ? 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 Date: Tue, 22 Oct 2024 17:28:11 +0000 Subject: [PATCH 3/7] Add metric to expose cluster role count (#47731) (#47812) A new `teleport_roles_total` is added to count the number of roles in the cluster. The metric is intentionally updated infrequently to avoid putting any additional strain on the backend. Additionally, the reads performed when calculating the metric are rate limited to prevent any bursts in reads when the metric timer does fire. The auth periodic tickers have also been consolidated into a single multi-interval instead of a ticker per operation. To prevent the sub-intervals from impacting each other all operations are moved to their own goroutine once their ticker fires. --- integration/hsm/hsm_test.go | 5 +- lib/auth/auth.go | 305 ++++++++++++++++++++----------- lib/inventory/controller.go | 15 +- lib/utils/interval/multi.go | 32 ++-- lib/utils/interval/multi_test.go | 15 +- 5 files changed, 244 insertions(+), 128 deletions(-) diff --git a/integration/hsm/hsm_test.go b/integration/hsm/hsm_test.go index 5c7427b06a148..935a8709e5dfb 100644 --- a/integration/hsm/hsm_test.go +++ b/integration/hsm/hsm_test.go @@ -677,7 +677,10 @@ func TestHSMRevert(t *testing.T) { clock.Advance(2 * defaults.HighResPollingPeriod) assert.EventuallyWithT(t, func(t *assert.CollectT) { alerts, err = auth1.process.GetAuthServer().GetClusterAlerts(ctx, types.GetClusterAlertsRequest{}) - require.NoError(t, err) + assert.NoError(t, err) assert.Empty(t, alerts) + + // Keep advancing the clock to make sure the rotation ticker gets fired + clock.Advance(2 * defaults.HighResPollingPeriod) }, 5*time.Second, 100*time.Millisecond) } diff --git a/lib/auth/auth.go b/lib/auth/auth.go index 09cd9127a3a91..540df63049468 100644 --- a/lib/auth/auth.go +++ b/lib/auth/auth.go @@ -722,6 +722,14 @@ var ( }, ) + roleCount = prometheus.NewGauge( + prometheus.GaugeOpts{ + Namespace: teleport.MetricNamespace, + Name: "roles_total", + Help: "Number of roles that exist in the cluster", + }, + ) + registeredAgents = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: teleport.MetricNamespace, @@ -806,6 +814,7 @@ var ( accessRequestsCreatedMetric, registeredAgentsInstallMethod, userCertificatesGeneratedMetric, + roleCount, } ) @@ -1269,87 +1278,115 @@ func (a *Server) periodicSyncUpgradeWindowStartHour() { } } +// periodicIntervalKey is used to uniquely identify the subintervals registered with +// the interval.MultiInterval instance that we use for managing periodics operations. + +type periodicIntervalKey int + +const ( + heartbeatCheckKey periodicIntervalKey = 1 + iota + rotationCheckKey + metricsKey + releaseCheckKey + localReleaseCheckKey + instancePeriodicsKey + dynamicLabelsCheckKey + desktopCheckKey + upgradeWindowCheckKey + roleCountKey +) + // runPeriodicOperations runs some periodic bookkeeping operations // performed by auth server func (a *Server) runPeriodicOperations() { - ctx := context.TODO() + firstReleaseCheck := utils.FullJitter(time.Hour * 6) + + // this environment variable is "unstable" since it will be deprecated + // by an upcoming tctl command. currently exists for testing purposes only. + if os.Getenv("TELEPORT_UNSTABLE_VC_SYNC_ON_START") == "yes" { + firstReleaseCheck = utils.HalfJitter(time.Second * 10) + } + // run periodic functions with a semi-random period // to avoid contention on the database in case if there are multiple // auth servers running - so they don't compete trying // to update the same resources. r := insecurerand.New(insecurerand.NewSource(a.GetClock().Now().UnixNano())) period := defaults.HighResPollingPeriod + time.Duration(r.Intn(int(defaults.HighResPollingPeriod/time.Second)))*time.Second - log.Debugf("Ticking with period: %v.", period) - a.lock.RLock() - ticker := a.clock.NewTicker(period) - a.lock.RUnlock() - // Create a ticker with jitter - heartbeatCheckTicker := interval.New(interval.Config{ - Duration: apidefaults.ServerKeepAliveTTL() * 2, - Jitter: retryutils.NewSeventhJitter(), - }) - promTicker := interval.New(interval.Config{ - FirstDuration: 5 * time.Second, - Duration: defaults.PrometheusScrapeInterval, - Jitter: retryutils.NewSeventhJitter(), - }) - missedKeepAliveCount := 0 - defer ticker.Stop() - defer heartbeatCheckTicker.Stop() - defer promTicker.Stop() - firstReleaseCheck := utils.FullJitter(time.Hour * 6) + ticker := interval.NewMulti( + a.GetClock(), + interval.SubInterval[periodicIntervalKey]{ + Key: rotationCheckKey, + Duration: period, + }, + interval.SubInterval[periodicIntervalKey]{ + Key: metricsKey, + Duration: defaults.PrometheusScrapeInterval, + FirstDuration: 5 * time.Second, + Jitter: retryutils.NewSeventhJitter(), + }, + interval.SubInterval[periodicIntervalKey]{ + Key: instancePeriodicsKey, + Duration: 9 * time.Minute, + FirstDuration: utils.HalfJitter(time.Minute), + Jitter: retryutils.NewSeventhJitter(), + }, + interval.SubInterval[periodicIntervalKey]{ + Key: roleCountKey, + Duration: 12 * time.Hour, + FirstDuration: utils.FullJitter(time.Minute), + Jitter: retryutils.NewSeventhJitter(), + }, + ) - // this environment variable is "unstable" since it will be deprecated - // by an upcoming tctl command. currently exists for testing purposes only. - if os.Getenv("TELEPORT_UNSTABLE_VC_SYNC_ON_START") == "yes" { - firstReleaseCheck = utils.HalfJitter(time.Second * 10) - } + defer ticker.Stop() - // note the use of FullJitter for the releases check interval. this lets us ensure - // that frequent restarts don't prevent checks from happening despite the infrequent - // effective check rate. - releaseCheck := interval.New(interval.Config{ - Duration: time.Hour * 24, - FirstDuration: firstReleaseCheck, - Jitter: retryutils.NewFullJitter(), - }) - defer releaseCheck.Stop() - - // more frequent release check that just re-calculates alerts based on previously - // pulled versioning info. - localReleaseCheck := interval.New(interval.Config{ - Duration: time.Minute * 10, - FirstDuration: utils.HalfJitter(time.Second * 10), - Jitter: retryutils.NewHalfJitter(), - }) - defer localReleaseCheck.Stop() + missedKeepAliveCount := 0 - instancePeriodics := interval.New(interval.Config{ - Duration: time.Minute * 9, - FirstDuration: utils.HalfJitter(time.Minute), - Jitter: retryutils.NewSeventhJitter(), - }) - defer instancePeriodics.Stop() + // Prevent some periodic operations from running for dashboard tenants. + if !services.IsDashboard(*modules.GetModules().Features().ToProto()) { + ticker.Push(interval.SubInterval[periodicIntervalKey]{ + Key: dynamicLabelsCheckKey, + Duration: dynamicLabelCheckPeriod, + FirstDuration: utils.HalfJitter(10 * time.Second), + Jitter: retryutils.NewSeventhJitter(), + }) + ticker.Push(interval.SubInterval[periodicIntervalKey]{ + Key: heartbeatCheckKey, + Duration: apidefaults.ServerKeepAliveTTL() * 2, + Jitter: retryutils.NewSeventhJitter(), + }) + ticker.Push(interval.SubInterval[periodicIntervalKey]{ + Key: releaseCheckKey, + Duration: 24 * time.Hour, + FirstDuration: firstReleaseCheck, + // note the use of FullJitter for the releases check interval. this lets us ensure + // that frequent restarts don't prevent checks from happening despite the infrequent + // effective check rate. + Jitter: retryutils.NewFullJitter(), + }) + // more frequent release check that just re-calculates alerts based on previously + // pulled versioning info. + ticker.Push(interval.SubInterval[periodicIntervalKey]{ + Key: localReleaseCheckKey, + Duration: 10 * time.Minute, + FirstDuration: utils.HalfJitter(10 * time.Second), + Jitter: retryutils.NewHalfJitter(), + }) + } - var ossDesktopsCheck <-chan time.Time if modules.GetModules().IsOSSBuild() { - ossDesktopsCheck = interval.New(interval.Config{ + ticker.Push(interval.SubInterval[periodicIntervalKey]{ + Key: desktopCheckKey, Duration: OSSDesktopsCheckPeriod, - FirstDuration: utils.HalfJitter(time.Second * 10), + FirstDuration: utils.HalfJitter(10 * time.Second), Jitter: retryutils.NewHalfJitter(), - }).Next() - } else if err := a.DeleteClusterAlert(ctx, OSSDesktopsAlertID); err != nil && !trace.IsNotFound(err) { + }) + } else if err := a.DeleteClusterAlert(a.closeCtx, OSSDesktopsAlertID); err != nil && !trace.IsNotFound(err) { log.Warnf("Can't delete OSS non-AD desktops limit alert: %v", err) } - dynamicLabelsCheck := interval.New(interval.Config{ - Duration: dynamicLabelCheckPeriod, - FirstDuration: utils.HalfJitter(time.Second * 10), - Jitter: retryutils.NewSeventhJitter(), - }) - defer dynamicLabelsCheck.Stop() - // isolate the schedule of potentially long-running refreshRemoteClusters() from other tasks go func() { // reasonably small interval to ensure that users observe clusters as online within 1 minute of adding them. @@ -1364,7 +1401,7 @@ func (a *Server) runPeriodicOperations() { case <-a.closeCtx.Done(): return case <-remoteClustersRefresh.Next(): - a.refreshRemoteClusters(ctx, r) + a.refreshRemoteClusters(a.closeCtx, r) } } }() @@ -1372,60 +1409,118 @@ func (a *Server) runPeriodicOperations() { // cloud auth servers need to periodically sync the upgrade window // from the cloud db. if modules.GetModules().Features().Cloud { - go a.periodicSyncUpgradeWindowStartHour() - } - - // disable periodics that are not required for cloud dashboard tenants - if services.IsDashboard(*modules.GetModules().Features().ToProto()) { - releaseCheck.Stop() - localReleaseCheck.Stop() - heartbeatCheckTicker.Stop() - dynamicLabelsCheck.Stop() + ticker.Push(interval.SubInterval[periodicIntervalKey]{ + Key: upgradeWindowCheckKey, + Duration: 3 * time.Minute, + FirstDuration: utils.FullJitter(30 * time.Second), + Jitter: retryutils.NewSeventhJitter(), + }) } for { select { case <-a.closeCtx.Done(): return - case <-ticker.Chan(): - err := a.autoRotateCertAuthorities(ctx) - if err != nil { - if trace.IsCompareFailed(err) { - log.Debugf("Cert authority has been updated concurrently: %v.", err) - } else { - log.Errorf("Failed to perform cert rotation check: %v.", err) - } - } - case <-heartbeatCheckTicker.Next(): - nodes, err := a.GetNodes(ctx, apidefaults.Namespace) - if err != nil { - log.Errorf("Failed to load nodes for heartbeat metric calculation: %v", err) - } - for _, node := range nodes { - if services.NodeHasMissedKeepAlives(node) { - missedKeepAliveCount++ - } + case tick := <-ticker.Next(): + switch tick.Key { + case rotationCheckKey: + go func() { + if err := a.autoRotateCertAuthorities(a.closeCtx); err != nil { + if trace.IsCompareFailed(err) { + log.Debugf("Cert authority has been updated concurrently: %v.", err) + } else { + log.Errorf("Failed to perform cert rotation check: %v.", err) + } + } + }() + case heartbeatCheckKey: + go func() { + req := &proto.ListUnifiedResourcesRequest{Kinds: []string{types.KindNode}, SortBy: types.SortBy{Field: types.ResourceKind}} + + for { + _, next, err := a.UnifiedResourceCache.IterateUnifiedResources(a.closeCtx, + func(rwl types.ResourceWithLabels) (bool, error) { + srv, ok := rwl.(types.Server) + if !ok { + return false, nil + } + if services.NodeHasMissedKeepAlives(srv) { + missedKeepAliveCount++ + } + return false, nil + }, + req, + ) + if err != nil { + log.Errorf("Failed to load nodes for heartbeat metric calculation: %v", err) + return + } + + req.StartKey = next + if req.StartKey == "" { + break + } + } + + // Update prometheus gauge + heartbeatsMissedByAuth.Set(float64(missedKeepAliveCount)) + }() + case metricsKey: + go a.updateAgentMetrics() + case releaseCheckKey: + go a.syncReleaseAlerts(a.closeCtx, true) + case localReleaseCheckKey: + go a.syncReleaseAlerts(a.closeCtx, false) + case instancePeriodicsKey: + go a.doInstancePeriodics(a.closeCtx) + case desktopCheckKey: + go a.syncDesktopsLimitAlert(a.closeCtx) + case dynamicLabelsCheckKey: + go a.syncDynamicLabelsAlert(a.closeCtx) + case upgradeWindowCheckKey: + go a.periodicSyncUpgradeWindowStartHour() + case roleCountKey: + go a.tallyRoles(a.closeCtx) } - // Update prometheus gauge - heartbeatsMissedByAuth.Set(float64(missedKeepAliveCount)) - case <-promTicker.Next(): - a.updateAgentMetrics() - case <-releaseCheck.Next(): - a.syncReleaseAlerts(ctx, true) - case <-localReleaseCheck.Next(): - a.syncReleaseAlerts(ctx, false) - case <-instancePeriodics.Next(): - // instance periodics are rate-limited and may be time-consuming in large - // clusters, so launch them in the background. - go a.doInstancePeriodics(ctx) - case <-ossDesktopsCheck: - a.syncDesktopsLimitAlert(ctx) - case <-dynamicLabelsCheck.Next(): - a.syncDynamicLabelsAlert(ctx) } } } +func (a *Server) tallyRoles(ctx context.Context) { + var count = 0 + log.Debug("tallying roles") + defer func() { + log.Debugf("tallying roles completed, role_count=%d", count) + }() + + req := &proto.ListRolesRequest{Limit: 20} + + readLimiter := time.NewTicker(20 * time.Millisecond) + defer readLimiter.Stop() + + for { + resp, err := a.Cache.ListRoles(ctx, req) + if err != nil { + return + } + + count += len(resp.Roles) + req.StartKey = resp.NextKey + + if req.StartKey == "" { + break + } + + select { + case <-readLimiter.C: + case <-ctx.Done(): + return + } + } + + roleCount.Set(float64(count)) +} + func (a *Server) doInstancePeriodics(ctx context.Context) { const slowRate = time.Millisecond * 200 // 5 reads per second const fastRate = time.Millisecond * 5 // 200 reads per second diff --git a/lib/inventory/controller.go b/lib/inventory/controller.go index 61d9da851bc16..ae5258cf97630 100644 --- a/lib/inventory/controller.go +++ b/lib/inventory/controller.go @@ -25,6 +25,7 @@ import ( "time" "github.com/gravitational/trace" + "github.com/jonboulle/clockwork" log "github.com/sirupsen/logrus" "github.com/gravitational/teleport/api/client" @@ -262,12 +263,14 @@ func (c *Controller) RegisterControlStream(stream client.UpstreamInventoryContro // as much as possible. this is intended to mitigate load spikes on auth restart, and is reasonably // safe to do since the instance resource is not directly relied upon for use of any particular teleport // service. - ticker := interval.NewMulti(interval.SubInterval[intervalKey]{ - Key: instanceHeartbeatKey, - VariableDuration: c.instanceHBVariableDuration, - FirstDuration: fullJitter(c.instanceHBVariableDuration.Duration()), - Jitter: seventhJitter, - }) + ticker := interval.NewMulti( + clockwork.NewRealClock(), + interval.SubInterval[intervalKey]{ + Key: instanceHeartbeatKey, + VariableDuration: c.instanceHBVariableDuration, + FirstDuration: fullJitter(c.instanceHBVariableDuration.Duration()), + Jitter: seventhJitter, + }) handle := newUpstreamHandle(stream, hello, ticker) c.store.Insert(handle) go c.handleControlStream(handle) diff --git a/lib/utils/interval/multi.go b/lib/utils/interval/multi.go index 9932203ea6076..f3c1fae80d79f 100644 --- a/lib/utils/interval/multi.go +++ b/lib/utils/interval/multi.go @@ -23,6 +23,8 @@ import ( "sync" "time" + "github.com/jonboulle/clockwork" + "github.com/gravitational/teleport/api/utils/retryutils" ) @@ -39,6 +41,7 @@ import ( // but it is still a potential source of bugs/confusion when transitioning to using this type from one // of the single-interval alternatives. type MultiInterval[T comparable] struct { + clock clockwork.Clock subs []subIntervalEntry[T] push chan subIntervalEntry[T] ch chan Tick[T] @@ -125,12 +128,17 @@ func (s *subIntervalEntry[T]) increment() { // NewMulti creates a new multi-interval instance. This function panics on non-positive // interval durations (equivalent to time.NewTicker) or if no sub-intervals are provided. -func NewMulti[T comparable](intervals ...SubInterval[T]) *MultiInterval[T] { +func NewMulti[T comparable](clock clockwork.Clock, intervals ...SubInterval[T]) *MultiInterval[T] { if len(intervals) == 0 { panic(errors.New("empty sub-interval set for interval.NewMulti")) } + if clock == nil { + clock = clockwork.NewRealClock() + } + interval := &MultiInterval[T]{ + clock: clock, subs: make([]subIntervalEntry[T], 0, len(intervals)), push: make(chan subIntervalEntry[T]), ch: make(chan Tick[T], 1), @@ -140,7 +148,7 @@ func NewMulti[T comparable](intervals ...SubInterval[T]) *MultiInterval[T] { } // check and initialize our sub-intervals. - now := time.Now() + now := clock.Now() for _, sub := range intervals { if sub.Duration <= 0 && (sub.VariableDuration == nil || sub.VariableDuration.Duration() <= 0) { panic(errors.New("non-positive sub interval for interval.NewMulti")) @@ -156,7 +164,7 @@ func NewMulti[T comparable](intervals ...SubInterval[T]) *MultiInterval[T] { // start the timer in this goroutine to improve // consistency of first tick. - timer := time.NewTimer(d) + timer := clock.NewTimer(d) go interval.run(timer, key) @@ -173,7 +181,7 @@ func (i *MultiInterval[T]) Push(sub SubInterval[T]) { SubInterval: sub, } // we initialize here in order to improve consistency of start time - entry.init(time.Now()) + entry.init(i.clock.Now()) select { case i.push <- entry: case <-i.done: @@ -257,7 +265,7 @@ func (i *MultiInterval[T]) pushEntry(entry subIntervalEntry[T]) { i.subs = append(i.subs, entry) } -func (i *MultiInterval[T]) run(timer *time.Timer, key T) { +func (i *MultiInterval[T]) run(timer clockwork.Timer, key T) { defer timer.Stop() var pending pendingTicks[T] @@ -276,7 +284,7 @@ func (i *MultiInterval[T]) run(timer *time.Timer, key T) { } select { - case t := <-timer.C: + case t := <-timer.Chan(): // increment the sub-interval for the current key i.increment(key) @@ -292,7 +300,7 @@ func (i *MultiInterval[T]) run(timer *time.Timer, key T) { timer.Reset(d) case resetKey := <-i.reset: - now := time.Now() + now := i.clock.Now() // reset the sub-interval for the target key i.resetEntry(now, resetKey) @@ -307,14 +315,14 @@ func (i *MultiInterval[T]) run(timer *time.Timer, key T) { // stop and drain timer if !timer.Stop() { - <-timer.C + <-timer.Chan() } // apply the new duration timer.Reset(d) case fireKey := <-i.fire: - now := time.Now() + now := i.clock.Now() // reset the sub-interval for the key we are firing i.resetEntry(now, fireKey) @@ -329,13 +337,13 @@ func (i *MultiInterval[T]) run(timer *time.Timer, key T) { // stop and drain timer. if !timer.Stop() { - <-timer.C + <-timer.Chan() } // re-set the timer timer.Reset(d) case entry := <-i.push: - now := time.Now() + now := i.clock.Now() // add the new sub-interval entry i.pushEntry(entry) @@ -351,7 +359,7 @@ func (i *MultiInterval[T]) run(timer *time.Timer, key T) { // stop and drain timer if !timer.Stop() { - <-timer.C + <-timer.Chan() } // apply the new duration diff --git a/lib/utils/interval/multi_test.go b/lib/utils/interval/multi_test.go index 37cf3a10b1614..3ef8b1f17ad56 100644 --- a/lib/utils/interval/multi_test.go +++ b/lib/utils/interval/multi_test.go @@ -24,6 +24,7 @@ import ( "testing" "time" + "github.com/jonboulle/clockwork" "github.com/stretchr/testify/require" ) @@ -47,10 +48,12 @@ func TestMultiIntervalReset(t *testing.T) { resetTimer := time.NewTimer(duration / 3) defer resetTimer.Stop() - interval := NewMulti[string](SubInterval[string]{ - Key: "key", - Duration: duration, - }) + interval := NewMulti[string]( + clockwork.NewRealClock(), + SubInterval[string]{ + Key: "key", + Duration: duration, + }) defer interval.Stop() start := time.Now() @@ -92,6 +95,7 @@ func TestMultiIntervalReset(t *testing.T) { func TestMultiIntervalBasics(t *testing.T) { t.Parallel() interval := NewMulti[string]( + clockwork.NewRealClock(), SubInterval[string]{ Key: "fast", Duration: time.Millisecond * 8, @@ -151,6 +155,7 @@ func TestMultiIntervalVariableDuration(t *testing.T) { bar.counter.Store(1) interval := NewMulti[string]( + clockwork.NewRealClock(), SubInterval[string]{ Key: "foo", VariableDuration: foo, @@ -216,6 +221,7 @@ func TestMultiIntervalVariableDuration(t *testing.T) { func TestMultiIntervalPush(t *testing.T) { t.Parallel() interval := NewMulti[string]( + clockwork.NewRealClock(), SubInterval[string]{ Key: "foo", Duration: time.Millisecond * 6, @@ -289,6 +295,7 @@ func TestMultiIntervalFireNow(t *testing.T) { // set up one sub-interval that fires frequently, and another that will never // fire during this test unless we trigger with FireNow. interval := NewMulti[string]( + clockwork.NewRealClock(), SubInterval[string]{ Key: "slow", Duration: time.Hour, From a84b93310af894f078d301bc161fa434e286b953 Mon Sep 17 00:00:00 2001 From: Gus Rivera Date: Tue, 22 Oct 2024 13:10:22 -0500 Subject: [PATCH 4/7] Release 16.4.4 (#47817) * Release 16.4.4 * Updating changelog to follow linst format * Using 'Automatic device enrollment' wording --- CHANGELOG.md | 27 ++++++++ Makefile | 2 +- api/version.go | 2 +- .../macos/tsh/tsh.app/Contents/Info.plist | 4 +- .../macos/tshdev/tsh.app/Contents/Info.plist | 4 +- examples/chart/access/datadog/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/discord/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/email/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 24 +++---- .../__snapshot__/deployment_test.yaml.snap | 58 ++++++++-------- examples/chart/access/jira/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/mattermost/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 28 ++++---- examples/chart/access/msteams/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/pagerduty/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/slack/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/event-handler/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 6 +- examples/chart/tbot/Chart.yaml | 2 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/teleport-cluster/Chart.yaml | 2 +- .../charts/teleport-operator/Chart.yaml | 2 +- .../auth_clusterrole_test.yaml.snap | 4 +- .../__snapshot__/auth_config_test.yaml.snap | 4 +- .../auth_deployment_test.yaml.snap | 8 +-- .../__snapshot__/proxy_config_test.yaml.snap | 4 +- .../proxy_deployment_test.yaml.snap | 36 +++++----- examples/chart/teleport-kube-agent/Chart.yaml | 2 +- .../__snapshot__/deployment_test.yaml.snap | 60 ++++++++--------- .../tests/__snapshot__/job_test.yaml.snap | 10 +-- .../__snapshot__/statefulset_test.yaml.snap | 66 +++++++++---------- .../updater_deployment_test.yaml.snap | 4 +- 46 files changed, 246 insertions(+), 219 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11c399192637b..b5cef75943651 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # Changelog +## 16.4.4 (10/22/2024) + +* Teleport's Windows Desktop service now filters domain-joined Linux hosts out during LDAP discovery. [#47773](https://github.com/gravitational/teleport/pull/47773) +* The `join_token.create` audit event has been enriched with additional metadata. [#47765](https://github.com/gravitational/teleport/pull/47765) +* Propagate resources configured in teleport-kube-agent chart values to post-install and post-delete hooks. [#47743](https://github.com/gravitational/teleport/pull/47743) +* Add support for the Datadog Incident Management plugin helm chart. [#47727](https://github.com/gravitational/teleport/pull/47727) +* Automatic device enrollment may be locally disabled using the TELEPORT_DEVICE_AUTO_ENROLL_DISABLED=1 environment variable. [#47720](https://github.com/gravitational/teleport/pull/47720) +* Fixed the Machine ID and GitHub Actions wizard. [#47708](https://github.com/gravitational/teleport/pull/47708) +* Added migration to update the old import_all_objects database object import rule to the new preset. [#47707](https://github.com/gravitational/teleport/pull/47707) +* Alter ServiceAccounts in the teleport-cluster Helm chart to automatically disable mounting of service account tokens on newer Kubernetes distributions, helping satisfy security linters. [#47703](https://github.com/gravitational/teleport/pull/47703) +* Avoid tsh auto-enroll escalation in machines without a TPM. [#47695](https://github.com/gravitational/teleport/pull/47695) +* Fixed a bug that prevented users from canceling `tsh scan keys` executions. [#47658](https://github.com/gravitational/teleport/pull/47658) +* Postgres database session start events now include the Postgres backend PID for the session. [#47643](https://github.com/gravitational/teleport/pull/47643) +* Reworked the `teleport-event-handler` integration to significantly improve performance, especially when running with larger `--concurrency` values. [#47633](https://github.com/gravitational/teleport/pull/47633) +* Fixes a bug where Let's Encrypt certificate renewal failed in AMI and HA deployments due to insufficient disk space caused by syncing audit logs. [#47622](https://github.com/gravitational/teleport/pull/47622) +* Adds support for custom SQS consumer lock name and disabling a consumer. [#47614](https://github.com/gravitational/teleport/pull/47614) +* Fixed an issue that prevented RDS Aurora discovery configuration in the AWS OIDC enrollment wizard when any cluster existed without member instances. [#47605](https://github.com/gravitational/teleport/pull/47605) +* Extend the Datadog plugin to support automatic approvals. [#47602](https://github.com/gravitational/teleport/pull/47602) +* Allow using a custom database for Firestore backends. [#47583](https://github.com/gravitational/teleport/pull/47583) +* Include host name instead of host uuid in error messages when SSH connections are prevented due to an invalid login. [#47578](https://github.com/gravitational/teleport/pull/47578) +* Fix the example Terraform code to support the new larger Teleport Enterprise licenses and updates output of web address to use fqdn when ACM is disabled. [#47512](https://github.com/gravitational/teleport/pull/47512) +* Add new `tctl` subcommands to manage bot instances. [#47225](https://github.com/gravitational/teleport/pull/47225) + +Enterprise: +* Device auto-enroll failures are now recorded in the audit log. +* Fixed possible panic when processing Okta assignments. + ## 16.4.3 (10/16/2024) * Extended Teleport Discovery Service to support resource discovery across all projects accessible by the service account. [#47568](https://github.com/gravitational/teleport/pull/47568) diff --git a/Makefile b/Makefile index ea8defde0e24a..1e8c0aac289d0 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ # Stable releases: "1.0.0" # Pre-releases: "1.0.0-alpha.1", "1.0.0-beta.2", "1.0.0-rc.3" # Master/dev branch: "1.0.0-dev" -VERSION=16.4.3 +VERSION=16.4.4 DOCKER_IMAGE ?= teleport diff --git a/api/version.go b/api/version.go index 472d98380c0c9..80cd1190226cc 100644 --- a/api/version.go +++ b/api/version.go @@ -3,6 +3,6 @@ package api import "github.com/coreos/go-semver/semver" -const Version = "16.4.3" +const Version = "16.4.4" var SemVersion = semver.New(Version) diff --git a/build.assets/macos/tsh/tsh.app/Contents/Info.plist b/build.assets/macos/tsh/tsh.app/Contents/Info.plist index af98db0274660..b48c0ae0b95d9 100644 --- a/build.assets/macos/tsh/tsh.app/Contents/Info.plist +++ b/build.assets/macos/tsh/tsh.app/Contents/Info.plist @@ -19,13 +19,13 @@ CFBundlePackageType APPL CFBundleShortVersionString - 16.4.3 + 16.4.4 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 16.4.3 + 16.4.4 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild diff --git a/build.assets/macos/tshdev/tsh.app/Contents/Info.plist b/build.assets/macos/tshdev/tsh.app/Contents/Info.plist index 39c295153fd44..3908c5f470d79 100644 --- a/build.assets/macos/tshdev/tsh.app/Contents/Info.plist +++ b/build.assets/macos/tshdev/tsh.app/Contents/Info.plist @@ -17,13 +17,13 @@ CFBundlePackageType APPL CFBundleShortVersionString - 16.4.3 + 16.4.4 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 16.4.3 + 16.4.4 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild diff --git a/examples/chart/access/datadog/Chart.yaml b/examples/chart/access/datadog/Chart.yaml index 91a197f6e006f..6c7818e5d8746 100644 --- a/examples/chart/access/datadog/Chart.yaml +++ b/examples/chart/access/datadog/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-datadog diff --git a/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap index 884d6dc81aea1..c476668fc394d 100644 --- a/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap @@ -26,6 +26,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-datadog-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-datadog-16.4.4 name: RELEASE-NAME-teleport-plugin-datadog diff --git a/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap index 6208e834ed127..d0bab2797ec57 100644 --- a/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-datadog-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-datadog-16.4.4 name: RELEASE-NAME-teleport-plugin-datadog spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-datadog-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-datadog-16.4.4 spec: containers: - command: diff --git a/examples/chart/access/discord/Chart.yaml b/examples/chart/access/discord/Chart.yaml index c9afe79f4541a..2221c5b6022e5 100644 --- a/examples/chart/access/discord/Chart.yaml +++ b/examples/chart/access/discord/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-discord diff --git a/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap index 34c07fbf60af8..058c0c908e5eb 100644 --- a/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap @@ -24,6 +24,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-discord-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-discord-16.4.4 name: RELEASE-NAME-teleport-plugin-discord diff --git a/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap index a7880317c1b05..4dd0c08c58843 100644 --- a/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-discord-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-discord-16.4.4 name: RELEASE-NAME-teleport-plugin-discord spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-discord-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-discord-16.4.4 spec: containers: - command: diff --git a/examples/chart/access/email/Chart.yaml b/examples/chart/access/email/Chart.yaml index 25ddc808ec9f7..9b22ee76af9b6 100644 --- a/examples/chart/access/email/Chart.yaml +++ b/examples/chart/access/email/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-email diff --git a/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap index 8d004f33db686..be60b7df65fd4 100644 --- a/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap @@ -26,8 +26,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on): 1: | @@ -59,8 +59,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, no starttls): 1: | @@ -92,8 +92,8 @@ should match the snapshot (smtp on, no starttls): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, password file): 1: | @@ -125,8 +125,8 @@ should match the snapshot (smtp on, password file): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, roleToRecipients set): 1: | @@ -161,8 +161,8 @@ should match the snapshot (smtp on, roleToRecipients set): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, starttls disabled): 1: | @@ -194,6 +194,6 @@ should match the snapshot (smtp on, starttls disabled): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email diff --git a/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap index eb294236c0730..9fd677c99bfdb 100644 --- a/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should be possible to override volume name (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -22,8 +22,8 @@ should be possible to override volume name (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 spec: containers: - command: @@ -34,7 +34,7 @@ should be possible to override volume name (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -75,8 +75,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -90,8 +90,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 spec: containers: - command: @@ -136,8 +136,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -151,8 +151,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 spec: containers: - command: @@ -163,7 +163,7 @@ should match the snapshot (mailgun on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -204,8 +204,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -219,8 +219,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 spec: containers: - command: @@ -231,7 +231,7 @@ should match the snapshot (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -272,8 +272,8 @@ should mount external secret (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -287,8 +287,8 @@ should mount external secret (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 spec: containers: - command: @@ -299,7 +299,7 @@ should mount external secret (mailgun on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -340,8 +340,8 @@ should mount external secret (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -355,8 +355,8 @@ should mount external secret (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-email-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-email-16.4.4 spec: containers: - command: @@ -367,7 +367,7 @@ should mount external secret (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: diff --git a/examples/chart/access/jira/Chart.yaml b/examples/chart/access/jira/Chart.yaml index 17611bbce69c7..1b910b83b5613 100644 --- a/examples/chart/access/jira/Chart.yaml +++ b/examples/chart/access/jira/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-jira diff --git a/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap index c56e7307264cd..bde2287b94448 100644 --- a/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap @@ -32,6 +32,6 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-jira-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-jira-16.4.4 name: RELEASE-NAME-teleport-plugin-jira diff --git a/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap index 2656310688132..cc7f3c4dde289 100644 --- a/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-jira-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-jira-16.4.4 name: RELEASE-NAME-teleport-plugin-jira spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-jira-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-jira-16.4.4 spec: containers: - command: diff --git a/examples/chart/access/mattermost/Chart.yaml b/examples/chart/access/mattermost/Chart.yaml index c3ea6427e0bbb..b9e1727516745 100644 --- a/examples/chart/access/mattermost/Chart.yaml +++ b/examples/chart/access/mattermost/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-mattermost diff --git a/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap index 7a5b648dfe0a5..ce136746f10e9 100644 --- a/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap @@ -22,6 +22,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-mattermost-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-mattermost-16.4.4 name: RELEASE-NAME-teleport-plugin-mattermost diff --git a/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap index ea6b16870de11..1549a43120c23 100644 --- a/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-mattermost-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-mattermost-16.4.4 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-mattermost-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-mattermost-16.4.4 spec: containers: - command: @@ -75,8 +75,8 @@ should mount external secret: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-mattermost-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-mattermost-16.4.4 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -90,8 +90,8 @@ should mount external secret: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-mattermost-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-mattermost-16.4.4 spec: containers: - command: @@ -102,7 +102,7 @@ should mount external secret: env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-mattermost ports: @@ -143,8 +143,8 @@ should override volume name: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-mattermost-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-mattermost-16.4.4 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -158,8 +158,8 @@ should override volume name: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-mattermost-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-mattermost-16.4.4 spec: containers: - command: @@ -170,7 +170,7 @@ should override volume name: env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-mattermost ports: diff --git a/examples/chart/access/msteams/Chart.yaml b/examples/chart/access/msteams/Chart.yaml index 2a55c45f46fdb..3e6df19615748 100644 --- a/examples/chart/access/msteams/Chart.yaml +++ b/examples/chart/access/msteams/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-msteams diff --git a/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap index 76047e0ff35ed..91b64a13d0621 100644 --- a/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap @@ -29,6 +29,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-msteams-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-msteams-16.4.4 name: RELEASE-NAME-teleport-plugin-msteams diff --git a/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap index d4102ed81fc77..0433c2ec5e5b4 100644 --- a/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-msteams-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-msteams-16.4.4 name: RELEASE-NAME-teleport-plugin-msteams spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-msteams-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-msteams-16.4.4 spec: containers: - command: diff --git a/examples/chart/access/pagerduty/Chart.yaml b/examples/chart/access/pagerduty/Chart.yaml index f6ba37cad4b81..c7fdf8a32acfc 100644 --- a/examples/chart/access/pagerduty/Chart.yaml +++ b/examples/chart/access/pagerduty/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-pagerduty diff --git a/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap index d26dc91cf243e..b8ca1c546994d 100644 --- a/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap @@ -21,6 +21,6 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-pagerduty-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-pagerduty-16.4.4 name: RELEASE-NAME-teleport-plugin-pagerduty diff --git a/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap index 968c57e63550b..1337292185c63 100644 --- a/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-pagerduty-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-pagerduty-16.4.4 name: RELEASE-NAME-teleport-plugin-pagerduty spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-pagerduty-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-pagerduty-16.4.4 spec: containers: - command: diff --git a/examples/chart/access/slack/Chart.yaml b/examples/chart/access/slack/Chart.yaml index 70716ada9064c..e5b1d93ba6a11 100644 --- a/examples/chart/access/slack/Chart.yaml +++ b/examples/chart/access/slack/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-slack diff --git a/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap index ca9f7f3727e76..82c973f6801c4 100644 --- a/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap @@ -24,6 +24,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-slack-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-slack-16.4.4 name: RELEASE-NAME-teleport-plugin-slack diff --git a/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap index 07dc3182e2031..32e236dbe92d9 100644 --- a/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-slack-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-slack-16.4.4 name: RELEASE-NAME-teleport-plugin-slack spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-slack-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-slack-16.4.4 spec: containers: - command: diff --git a/examples/chart/event-handler/Chart.yaml b/examples/chart/event-handler/Chart.yaml index c04351a858ece..bda993286bdc3 100644 --- a/examples/chart/event-handler/Chart.yaml +++ b/examples/chart/event-handler/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" apiVersion: v2 name: teleport-plugin-event-handler diff --git a/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap index ac91f20648234..5554d9ab2f37a 100644 --- a/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap @@ -26,6 +26,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-event-handler - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-event-handler-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-event-handler-16.4.4 name: RELEASE-NAME-teleport-plugin-event-handler diff --git a/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap index 37de99ef0dd8d..19283fde8d4f0 100644 --- a/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-event-handler - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-plugin-event-handler-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-plugin-event-handler-16.4.4 name: RELEASE-NAME-teleport-plugin-event-handler spec: replicas: 1 @@ -82,7 +82,7 @@ should mount tls.existingCASecretName and set environment when set in values: value: "true" - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-plugin-event-handler:16.4.3 + image: public.ecr.aws/gravitational/teleport-plugin-event-handler:16.4.4 imagePullPolicy: IfNotPresent name: teleport-plugin-event-handler ports: diff --git a/examples/chart/tbot/Chart.yaml b/examples/chart/tbot/Chart.yaml index 1002c44587b11..9e1c3acc56698 100644 --- a/examples/chart/tbot/Chart.yaml +++ b/examples/chart/tbot/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" name: tbot apiVersion: v2 diff --git a/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap index 6b8c933afb951..daa6ffc69bb5e 100644 --- a/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap @@ -29,7 +29,7 @@ should match the snapshot (full): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: tbot - helm.sh/chart: tbot-16.4.3 + helm.sh/chart: tbot-16.4.4 test-key: test-label-pod spec: affinity: @@ -68,7 +68,7 @@ should match the snapshot (full): value: "1" - name: TEST_ENV value: test-value - image: public.ecr.aws/gravitational/tbot-distroless:16.4.3 + image: public.ecr.aws/gravitational/tbot-distroless:16.4.4 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -154,7 +154,7 @@ should match the snapshot (simple): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: tbot - helm.sh/chart: tbot-16.4.3 + helm.sh/chart: tbot-16.4.4 spec: containers: - args: @@ -176,7 +176,7 @@ should match the snapshot (simple): fieldPath: spec.nodeName - name: KUBERNETES_TOKEN_PATH value: /var/run/secrets/tokens/join-sa-token - image: public.ecr.aws/gravitational/tbot-distroless:16.4.3 + image: public.ecr.aws/gravitational/tbot-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-cluster/Chart.yaml b/examples/chart/teleport-cluster/Chart.yaml index ad0f293d374bf..bc96af0153e14 100644 --- a/examples/chart/teleport-cluster/Chart.yaml +++ b/examples/chart/teleport-cluster/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" name: teleport-cluster apiVersion: v2 diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml index 320c36d1b88dd..7ada928382ca9 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" name: teleport-operator apiVersion: v2 diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap index 4a3638bc59e28..a04e9614fe646 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap @@ -8,8 +8,8 @@ adds operator permissions to ClusterRole: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-cluster-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-cluster-16.4.4 teleport.dev/majorVersion: "16" name: RELEASE-NAME rules: diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap index 8a2ec59d9e611..bedd145d4b567 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap @@ -1848,8 +1848,8 @@ sets clusterDomain on Configmap: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-cluster-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-cluster-16.4.4 teleport.dev/majorVersion: "16" name: RELEASE-NAME-auth namespace: NAMESPACE diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap index 79a1dfa3af43f..83b4ddc405d45 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap @@ -8,7 +8,7 @@ - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -141,7 +141,7 @@ should set nodeSelector when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -238,7 +238,7 @@ should set resources when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -324,7 +324,7 @@ should set securityContext when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap index ba80504a0fade..8142877dde0f6 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap @@ -567,8 +567,8 @@ sets clusterDomain on Configmap: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-cluster-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-cluster-16.4.4 teleport.dev/majorVersion: "16" name: RELEASE-NAME-proxy namespace: NAMESPACE diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap index 55570c40da5a9..1f96c54d04314 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap @@ -11,8 +11,8 @@ sets clusterDomain on Deployment Pods: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-cluster-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-cluster-16.4.4 teleport.dev/majorVersion: "16" name: RELEASE-NAME-proxy namespace: NAMESPACE @@ -26,7 +26,7 @@ sets clusterDomain on Deployment Pods: template: metadata: annotations: - checksum/config: de39cc585d9931b2ab4483f5bcb595f92e12ea58a26f1ed39ca6d1be72194645 + checksum/config: 0946cb0c4c4fc9ced933e1e8106ba0ea68b6ea5f2afa9d03759bdec47c907373 kubernetes.io/pod: test-annotation kubernetes.io/pod-different: 4 labels: @@ -34,8 +34,8 @@ sets clusterDomain on Deployment Pods: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.3 - helm.sh/chart: teleport-cluster-16.4.3 + app.kubernetes.io/version: 16.4.4 + helm.sh/chart: teleport-cluster-16.4.4 teleport.dev/majorVersion: "16" spec: affinity: @@ -44,7 +44,7 @@ sets clusterDomain on Deployment Pods: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -105,7 +105,7 @@ sets clusterDomain on Deployment Pods: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.test.com - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 name: wait-auth-update serviceAccountName: RELEASE-NAME-proxy terminationGracePeriodSeconds: 60 @@ -137,7 +137,7 @@ should provision initContainer correctly when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 name: wait-auth-update resources: limits: @@ -201,7 +201,7 @@ should set nodeSelector when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -262,7 +262,7 @@ should set nodeSelector when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 name: wait-auth-update nodeSelector: environment: security @@ -313,7 +313,7 @@ should set resources for wait-auth-update initContainer when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -381,7 +381,7 @@ should set resources for wait-auth-update initContainer when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 name: wait-auth-update resources: limits: @@ -421,7 +421,7 @@ should set resources when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -489,7 +489,7 @@ should set resources when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 name: wait-auth-update resources: limits: @@ -529,7 +529,7 @@ should set securityContext for initContainers when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -597,7 +597,7 @@ should set securityContext for initContainers when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 name: wait-auth-update securityContext: allowPrivilegeEscalation: false @@ -637,7 +637,7 @@ should set securityContext when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -705,7 +705,7 @@ should set securityContext when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 name: wait-auth-update securityContext: allowPrivilegeEscalation: false diff --git a/examples/chart/teleport-kube-agent/Chart.yaml b/examples/chart/teleport-kube-agent/Chart.yaml index ffbe1c28b903f..32e6a4e0c4321 100644 --- a/examples/chart/teleport-kube-agent/Chart.yaml +++ b/examples/chart/teleport-kube-agent/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.3" +.version: &version "16.4.4" name: teleport-kube-agent apiVersion: v2 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap index 3c07602635438..0fd6e0599da52 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap @@ -32,7 +32,7 @@ sets Deployment annotations when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -109,7 +109,7 @@ sets Deployment labels when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -173,7 +173,7 @@ sets Pod annotations when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -237,7 +237,7 @@ sets Pod labels when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -322,7 +322,7 @@ should add emptyDir for data when existingDataVolume is not set if action is Upg value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -387,7 +387,7 @@ should add insecureSkipProxyTLSVerify to args when set in values if action is Up value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -451,7 +451,7 @@ should correctly configure existingDataVolume when set if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -513,7 +513,7 @@ should expose diag port if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -589,7 +589,7 @@ should have multiple replicas when replicaCount is set (using .replicaCount, dep value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -665,7 +665,7 @@ should have multiple replicas when replicaCount is set (using highAvailability.r value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -729,7 +729,7 @@ should have one replica when replicaCount is not set if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -793,7 +793,7 @@ should mount extraVolumes and extraVolumeMounts if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -862,7 +862,7 @@ should mount jamfCredentialsSecret if it already exists and when role is jamf an value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -932,7 +932,7 @@ should mount jamfCredentialsSecret.name when role is jamf and action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1004,7 +1004,7 @@ should mount tls.existingCASecretName and set environment when set in values if value: cluster.local - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1078,7 +1078,7 @@ should mount tls.existingCASecretName and set extra environment when set in valu value: http://username:password@my.proxy.host:3128 - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1148,7 +1148,7 @@ should provision initContainer correctly when set in values if action is Upgrade value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1270,7 +1270,7 @@ should set affinity when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1334,7 +1334,7 @@ should set default serviceAccountName when not set in values if action is Upgrad value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1411,7 +1411,7 @@ should set environment when extraEnv set in values if action is Upgrade: value: cluster.local - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1539,7 +1539,7 @@ should set imagePullPolicy when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -1603,7 +1603,7 @@ should set nodeSelector if set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1669,7 +1669,7 @@ should set not set priorityClassName when not set in values if action is Upgrade value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1745,7 +1745,7 @@ should set preferred affinity when more than one replica is used if action is Up value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1809,7 +1809,7 @@ should set priorityClassName when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1874,7 +1874,7 @@ should set probeTimeoutSeconds when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1948,7 +1948,7 @@ should set required affinity when highAvailability.requireAntiAffinity is set if value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2012,7 +2012,7 @@ should set resources when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2083,7 +2083,7 @@ should set serviceAccountName when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2147,7 +2147,7 @@ should set tolerations when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap index 225edfa2ef2cb..dd8727306b431 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap @@ -25,7 +25,7 @@ should create ServiceAccount for post-delete hook by default: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -108,7 +108,7 @@ should not create ServiceAccount for post-delete hook if serviceAccount.create i fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -138,7 +138,7 @@ should not create ServiceAccount, Role or RoleBinding for post-delete hook if se fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -168,7 +168,7 @@ should set nodeSelector in post-delete hook: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -200,7 +200,7 @@ should set resources in the Job's pod spec if resources is set in values: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent name: post-delete-job resources: diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap index 1a122dbddce75..acfbf2272a48b 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap @@ -18,7 +18,7 @@ sets Pod annotations when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -90,7 +90,7 @@ sets Pod labels when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -186,7 +186,7 @@ sets StatefulSet labels when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -290,7 +290,7 @@ should add insecureSkipProxyTLSVerify to args when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -362,7 +362,7 @@ should add volumeClaimTemplate for data volume when using StatefulSet and action value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -454,7 +454,7 @@ should add volumeClaimTemplate for data volume when using StatefulSet and is Fre value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -536,7 +536,7 @@ should add volumeMount for data volume when using StatefulSet: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -608,7 +608,7 @@ should expose diag port: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -680,7 +680,7 @@ should generate Statefulset when storage is disabled and mode is a Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -766,7 +766,7 @@ should have multiple replicas when replicaCount is set (using .replicaCount, dep value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -850,7 +850,7 @@ should have multiple replicas when replicaCount is set (using highAvailability.r value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -922,7 +922,7 @@ should have one replica when replicaCount is not set: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -994,7 +994,7 @@ should install Statefulset when storage is disabled and mode is a Fresh Install: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1068,7 +1068,7 @@ should mount extraVolumes and extraVolumeMounts: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1145,7 +1145,7 @@ should mount jamfCredentialsSecret if it already exists and when role is jamf: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1225,7 +1225,7 @@ should mount jamfCredentialsSecret.name when role is jamf: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1307,7 +1307,7 @@ should mount tls.existingCASecretName and set environment when set in values: value: cluster.local - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1391,7 +1391,7 @@ should mount tls.existingCASecretName and set extra environment when set in valu value: /etc/teleport-tls-ca/ca.pem - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1471,7 +1471,7 @@ should not add emptyDir for data when using StatefulSet: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1543,7 +1543,7 @@ should provision initContainer correctly when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1673,7 +1673,7 @@ should set affinity when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1745,7 +1745,7 @@ should set default serviceAccountName when not set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1830,7 +1830,7 @@ should set environment when extraEnv set in values: value: cluster.local - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1974,7 +1974,7 @@ should set imagePullPolicy when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -2046,7 +2046,7 @@ should set nodeSelector if set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2132,7 +2132,7 @@ should set preferred affinity when more than one replica is used: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2204,7 +2204,7 @@ should set probeTimeoutSeconds when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2286,7 +2286,7 @@ should set required affinity when highAvailability.requireAntiAffinity is set: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2358,7 +2358,7 @@ should set resources when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2437,7 +2437,7 @@ should set serviceAccountName when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2509,7 +2509,7 @@ should set storage.requests when set in values and action is an Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2581,7 +2581,7 @@ should set storage.storageClassName when set in values and action is an Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2653,7 +2653,7 @@ should set tolerations when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.3 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap index 7ce36f78ff50c..6c7108d6f8e00 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap @@ -27,7 +27,7 @@ sets the affinity: - --base-image=public.ecr.aws/gravitational/teleport-distroless - --version-server=https://my-custom-version-server/v1 - --version-channel=custom/preview - image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.3 + image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -73,7 +73,7 @@ sets the tolerations: - --base-image=public.ecr.aws/gravitational/teleport-distroless - --version-server=https://my-custom-version-server/v1 - --version-channel=custom/preview - image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.3 + image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 From 68cc725188681541c234d93b927d8fcf6209b7f8 Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Tue, 22 Oct 2024 15:45:24 -0400 Subject: [PATCH 5/7] docs: update policy prereqs (#47824) --- .../teleport-policy/integrations/aws-sync.mdx | 11 ++++++----- .../teleport-policy/integrations/entra-id.mdx | 7 ++++--- .../teleport-policy/integrations/gitlab.mdx | 13 +++++++------ .../teleport-policy/integrations/ssh-keys-scan.mdx | 13 +++++++------ 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/docs/pages/admin-guides/teleport-policy/integrations/aws-sync.mdx b/docs/pages/admin-guides/teleport-policy/integrations/aws-sync.mdx index cb35dc9c2c067..2aae7cd963fb5 100644 --- a/docs/pages/admin-guides/teleport-policy/integrations/aws-sync.mdx +++ b/docs/pages/admin-guides/teleport-policy/integrations/aws-sync.mdx @@ -60,12 +60,13 @@ graphical representation thereof. ## Prerequisites - A running Teleport Enterprise cluster v14.3.9/v15.2.0 or later. -- For self-hosted clusters, an updated `license.pem` with Teleport Policy enabled. -- For self-hosted clusters, a running Access Graph node v1.17.0 or later. -Check [Access Graph page](../teleport-policy.mdx) for details on +- Teleport Policy enabled for your account. +- For self-hosted clusters: + - Ensure that an up-to-date `license.pem` is used in the Auth Service configuration. + - A running Access Graph node v1.17.0 or later. +Check the [Teleport Policy page](../teleport-policy.mdx) for details on how to set up Access Graph. -- The node running the Access Graph service must be reachable -from Teleport Auth Service and Discovery Service. + - The node running the Access Graph service must be reachable from the Teleport Auth Service. ## Step 1/2. Configure Discovery Service (Self-hosted only) diff --git a/docs/pages/admin-guides/teleport-policy/integrations/entra-id.mdx b/docs/pages/admin-guides/teleport-policy/integrations/entra-id.mdx index 67d9736ed8ff2..da9b9e7feff9b 100644 --- a/docs/pages/admin-guides/teleport-policy/integrations/entra-id.mdx +++ b/docs/pages/admin-guides/teleport-policy/integrations/entra-id.mdx @@ -35,11 +35,12 @@ These resources are then visualized using the graph representation detailed in t - A running Teleport Enterprise cluster v15.4.2/v16.0.0 or later. - Teleport Identity and Teleport Policy enabled for your account. - - For self-hosted clusters, ensure that an up-to-date `license.pem` is used in the Auth Service configuration. -- For self-hosted clusters, a running Access Graph node v1.21.3 or later. +- For self-hosted clusters: + - Ensure that an up-to-date `license.pem` is used in the Auth Service configuration. + - A running Access Graph node v1.21.3 or later. Check the [Teleport Policy page](../teleport-policy.mdx) for details on how to set up Access Graph. -- The node running the Access Graph service must be reachable from the Teleport Auth Service. + - The node running the Access Graph service must be reachable from the Teleport Auth Service. - Your user must have privileged administrator permissions in the Azure account To verify that Access Graph is set up correctly for your cluster, sign in to the Teleport Web UI and navigate to the Management tab. diff --git a/docs/pages/admin-guides/teleport-policy/integrations/gitlab.mdx b/docs/pages/admin-guides/teleport-policy/integrations/gitlab.mdx index 83cc193507070..3a25ef7ad225f 100644 --- a/docs/pages/admin-guides/teleport-policy/integrations/gitlab.mdx +++ b/docs/pages/admin-guides/teleport-policy/integrations/gitlab.mdx @@ -46,13 +46,14 @@ graphical representation thereof. ## Prerequisites - A running Teleport Enterprise cluster v14.3.20/v15.3.1/v16.0.0 or later. -- For self-hosted clusters, an updated `license.pem` with Teleport Policy enabled. -- For self-hosted clusters, a running Access Graph node v1.21.4 or later. -Check [Access Graph page](../teleport-policy.mdx) for details on -how to set up Access Graph. -- For self-hosted clusters, the node running the Access Graph service must be reachable -from Teleport Auth Service. +- Teleport Policy enabled for your account. - A GitLab instance running GitLab v9.0 or later. +- For self-hosted clusters: + - Ensure that an up-to-date `license.pem` is used in the Auth Service configuration. + - A running Access Graph node v1.21.4 or later. +Check the [Teleport Policy page](../teleport-policy.mdx) for details on +how to set up Access Graph. + - The node running the Access Graph service must be reachable from the Teleport Auth Service. ## Step 1/3. Create GitLab token diff --git a/docs/pages/admin-guides/teleport-policy/integrations/ssh-keys-scan.mdx b/docs/pages/admin-guides/teleport-policy/integrations/ssh-keys-scan.mdx index 8aa1b8eac451a..8c50d3ad2da9d 100644 --- a/docs/pages/admin-guides/teleport-policy/integrations/ssh-keys-scan.mdx +++ b/docs/pages/admin-guides/teleport-policy/integrations/ssh-keys-scan.mdx @@ -70,15 +70,16 @@ It also never sends the private key path or any other sensitive information. ## Prerequisites - A running Teleport Enterprise cluster v15.4.16/v16.2.0 or later. -- For self-hosted clusters, an updated `license.pem` with Teleport Policy enabled. -- For self-hosted clusters, a running Access Graph node v1.22.0 or later. -Check [Access Graph page](../teleport-policy.mdx) for details on -how to set up Access Graph. -- For self-hosted clusters, the node running the Access Graph service must be reachable -from Teleport Auth Service. +- Teleport Policy enabled for your account. - A Linux/macOS server running the Teleport SSH Service. - Devices enrolled in the [Teleport Device Trust feature](../../access-controls/device-trust.mdx). - For Jamf Pro integration, devices must be enrolled in Jamf Pro and have the signed `tsh` binary installed. +- For self-hosted clusters: + - Ensure that an up-to-date `license.pem` is used in the Auth Service configuration. + - A running Access Graph node v1.22.0 or later. +Check the [Teleport Policy page](../teleport-policy.mdx) for details on +how to set up Access Graph. + - The node running the Access Graph service must be reachable from the Teleport Auth Service. ## Step 1/3. Enable SSH Key Scanning From d7b105fab9419787ad130c08a6252a8fbbfd1d2d Mon Sep 17 00:00:00 2001 From: Michelle Bergquist <11967646+michellescripts@users.noreply.github.com> Date: Tue, 22 Oct 2024 16:33:51 -0600 Subject: [PATCH 6/7] bump e (#47834) --- e | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e b/e index 28fe9fa2d65f6..f8d01dcf9eca4 160000 --- a/e +++ b/e @@ -1 +1 @@ -Subproject commit 28fe9fa2d65f64f5d008653eae0c12781e94308b +Subproject commit f8d01dcf9eca4bf6dcc4cf2f0edda47e7a7d6534 From 4ac589f9a6657588351d52dd6c7dbac447c01b7b Mon Sep 17 00:00:00 2001 From: Gus Rivera Date: Tue, 22 Oct 2024 18:17:30 -0500 Subject: [PATCH 7/7] Release 16.4.5 (#47836) --- CHANGELOG.md | 35 +++++++++- Makefile | 2 +- api/version.go | 2 +- .../macos/tsh/tsh.app/Contents/Info.plist | 4 +- .../macos/tshdev/tsh.app/Contents/Info.plist | 4 +- examples/chart/access/datadog/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/discord/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/email/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 24 +++---- .../__snapshot__/deployment_test.yaml.snap | 58 ++++++++-------- examples/chart/access/jira/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/mattermost/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 28 ++++---- examples/chart/access/msteams/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/pagerduty/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/slack/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/event-handler/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 6 +- examples/chart/tbot/Chart.yaml | 2 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/teleport-cluster/Chart.yaml | 2 +- .../charts/teleport-operator/Chart.yaml | 2 +- .../auth_clusterrole_test.yaml.snap | 4 +- .../__snapshot__/auth_config_test.yaml.snap | 4 +- .../auth_deployment_test.yaml.snap | 8 +-- .../__snapshot__/proxy_config_test.yaml.snap | 4 +- .../proxy_deployment_test.yaml.snap | 36 +++++----- examples/chart/teleport-kube-agent/Chart.yaml | 2 +- .../__snapshot__/deployment_test.yaml.snap | 60 ++++++++--------- .../tests/__snapshot__/job_test.yaml.snap | 10 +-- .../__snapshot__/statefulset_test.yaml.snap | 66 +++++++++---------- .../updater_deployment_test.yaml.snap | 4 +- 46 files changed, 252 insertions(+), 221 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5cef75943651..f73e15d53cf11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,39 @@ # Changelog -## 16.4.4 (10/22/2024) +## 16.4.5 (10/22/2024) -* Teleport's Windows Desktop service now filters domain-joined Linux hosts out during LDAP discovery. [#47773](https://github.com/gravitational/teleport/pull/47773) +### Security Fixes + +#### [High] Privilege persistence in Okta SCIM-only integration + +When Okta SCIM-only integration is enabled, in certain cases Teleport could +calculate the effective set of permission based on SSO user's stale traits. This +could allow a user who was unassigned from an Okta group to log into a Teleport +cluster once with a role granted by the unassigned group being present in their +effective role set. + +Note: This issue only affects Teleport clusters that have installed a SCIM-only +Okta integration as described in this guide. If you have an Okta integration +with user sync enabled or only using Okta SSO auth connector to log into your +Teleport cluster without SCIM integration configured, you're unaffected. To +verify your configuration: + +- Use `tctl get plugins/okta --format=json | jq ".[].spec.Settings.okta.sync_settings.sync_users"` + command to check if you have Okta integration with user sync enabled. If it + outputs null or false, you may be affected and should upgrade. +- Check SCIM provisioning settings for the Okta application you created or + updated while following the SCIM-only setup guide. If SCIM provisioning is + enabled, you may be affected and should upgrade. + +We strongly recommend customers who use Okta SCIM integration to upgrade their +auth servers to version 16.3.0 or later. Teleport services other than auth +(proxy, SSH, Kubernetes, desktop, application, database and discovery) are not +impacted and do not need to be updated. + +### Other improvements and fixes + +* Added a new teleport_roles_total metric that exposes the number of roles which exist in a cluster. [#47812](https://github.com/gravitational/teleport/pull/47812) +* Teleport's Windows Desktop Service now filters domain-joined Linux hosts out during LDAP discovery. [#47773](https://github.com/gravitational/teleport/pull/47773) * The `join_token.create` audit event has been enriched with additional metadata. [#47765](https://github.com/gravitational/teleport/pull/47765) * Propagate resources configured in teleport-kube-agent chart values to post-install and post-delete hooks. [#47743](https://github.com/gravitational/teleport/pull/47743) * Add support for the Datadog Incident Management plugin helm chart. [#47727](https://github.com/gravitational/teleport/pull/47727) diff --git a/Makefile b/Makefile index 1e8c0aac289d0..2ecb800220c59 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ # Stable releases: "1.0.0" # Pre-releases: "1.0.0-alpha.1", "1.0.0-beta.2", "1.0.0-rc.3" # Master/dev branch: "1.0.0-dev" -VERSION=16.4.4 +VERSION=16.4.5 DOCKER_IMAGE ?= teleport diff --git a/api/version.go b/api/version.go index 80cd1190226cc..406229d62dec6 100644 --- a/api/version.go +++ b/api/version.go @@ -3,6 +3,6 @@ package api import "github.com/coreos/go-semver/semver" -const Version = "16.4.4" +const Version = "16.4.5" var SemVersion = semver.New(Version) diff --git a/build.assets/macos/tsh/tsh.app/Contents/Info.plist b/build.assets/macos/tsh/tsh.app/Contents/Info.plist index b48c0ae0b95d9..86f7207e54629 100644 --- a/build.assets/macos/tsh/tsh.app/Contents/Info.plist +++ b/build.assets/macos/tsh/tsh.app/Contents/Info.plist @@ -19,13 +19,13 @@ CFBundlePackageType APPL CFBundleShortVersionString - 16.4.4 + 16.4.5 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 16.4.4 + 16.4.5 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild diff --git a/build.assets/macos/tshdev/tsh.app/Contents/Info.plist b/build.assets/macos/tshdev/tsh.app/Contents/Info.plist index 3908c5f470d79..8bacfe6df9f58 100644 --- a/build.assets/macos/tshdev/tsh.app/Contents/Info.plist +++ b/build.assets/macos/tshdev/tsh.app/Contents/Info.plist @@ -17,13 +17,13 @@ CFBundlePackageType APPL CFBundleShortVersionString - 16.4.4 + 16.4.5 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 16.4.4 + 16.4.5 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild diff --git a/examples/chart/access/datadog/Chart.yaml b/examples/chart/access/datadog/Chart.yaml index 6c7818e5d8746..1fd6b740d047d 100644 --- a/examples/chart/access/datadog/Chart.yaml +++ b/examples/chart/access/datadog/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-datadog diff --git a/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap index c476668fc394d..14844c2d47f42 100644 --- a/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap @@ -26,6 +26,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-datadog-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-datadog-16.4.5 name: RELEASE-NAME-teleport-plugin-datadog diff --git a/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap index d0bab2797ec57..615b9e7e4c0fb 100644 --- a/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-datadog-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-datadog-16.4.5 name: RELEASE-NAME-teleport-plugin-datadog spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-datadog-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-datadog-16.4.5 spec: containers: - command: diff --git a/examples/chart/access/discord/Chart.yaml b/examples/chart/access/discord/Chart.yaml index 2221c5b6022e5..c40016bb876af 100644 --- a/examples/chart/access/discord/Chart.yaml +++ b/examples/chart/access/discord/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-discord diff --git a/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap index 058c0c908e5eb..dcf7708a32173 100644 --- a/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap @@ -24,6 +24,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-discord-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-discord-16.4.5 name: RELEASE-NAME-teleport-plugin-discord diff --git a/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap index 4dd0c08c58843..7de8af36bdadf 100644 --- a/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-discord-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-discord-16.4.5 name: RELEASE-NAME-teleport-plugin-discord spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-discord-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-discord-16.4.5 spec: containers: - command: diff --git a/examples/chart/access/email/Chart.yaml b/examples/chart/access/email/Chart.yaml index 9b22ee76af9b6..22335fa8b66dc 100644 --- a/examples/chart/access/email/Chart.yaml +++ b/examples/chart/access/email/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-email diff --git a/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap index be60b7df65fd4..852f4298a3b4a 100644 --- a/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap @@ -26,8 +26,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on): 1: | @@ -59,8 +59,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, no starttls): 1: | @@ -92,8 +92,8 @@ should match the snapshot (smtp on, no starttls): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, password file): 1: | @@ -125,8 +125,8 @@ should match the snapshot (smtp on, password file): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, roleToRecipients set): 1: | @@ -161,8 +161,8 @@ should match the snapshot (smtp on, roleToRecipients set): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, starttls disabled): 1: | @@ -194,6 +194,6 @@ should match the snapshot (smtp on, starttls disabled): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email diff --git a/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap index 9fd677c99bfdb..10eb822ee64ce 100644 --- a/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should be possible to override volume name (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -22,8 +22,8 @@ should be possible to override volume name (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 spec: containers: - command: @@ -34,7 +34,7 @@ should be possible to override volume name (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -75,8 +75,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -90,8 +90,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 spec: containers: - command: @@ -136,8 +136,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -151,8 +151,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 spec: containers: - command: @@ -163,7 +163,7 @@ should match the snapshot (mailgun on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -204,8 +204,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -219,8 +219,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 spec: containers: - command: @@ -231,7 +231,7 @@ should match the snapshot (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -272,8 +272,8 @@ should mount external secret (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -287,8 +287,8 @@ should mount external secret (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 spec: containers: - command: @@ -299,7 +299,7 @@ should mount external secret (mailgun on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -340,8 +340,8 @@ should mount external secret (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -355,8 +355,8 @@ should mount external secret (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-email-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-email-16.4.5 spec: containers: - command: @@ -367,7 +367,7 @@ should mount external secret (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-email:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: diff --git a/examples/chart/access/jira/Chart.yaml b/examples/chart/access/jira/Chart.yaml index 1b910b83b5613..33a4b858d6ed7 100644 --- a/examples/chart/access/jira/Chart.yaml +++ b/examples/chart/access/jira/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-jira diff --git a/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap index bde2287b94448..7acd4c420d981 100644 --- a/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap @@ -32,6 +32,6 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-jira-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-jira-16.4.5 name: RELEASE-NAME-teleport-plugin-jira diff --git a/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap index cc7f3c4dde289..b526c3864421f 100644 --- a/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-jira-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-jira-16.4.5 name: RELEASE-NAME-teleport-plugin-jira spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-jira-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-jira-16.4.5 spec: containers: - command: diff --git a/examples/chart/access/mattermost/Chart.yaml b/examples/chart/access/mattermost/Chart.yaml index b9e1727516745..1c427f532aad5 100644 --- a/examples/chart/access/mattermost/Chart.yaml +++ b/examples/chart/access/mattermost/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-mattermost diff --git a/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap index ce136746f10e9..6557824214fda 100644 --- a/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap @@ -22,6 +22,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-mattermost-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-mattermost-16.4.5 name: RELEASE-NAME-teleport-plugin-mattermost diff --git a/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap index 1549a43120c23..afb29c91c1083 100644 --- a/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-mattermost-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-mattermost-16.4.5 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-mattermost-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-mattermost-16.4.5 spec: containers: - command: @@ -75,8 +75,8 @@ should mount external secret: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-mattermost-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-mattermost-16.4.5 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -90,8 +90,8 @@ should mount external secret: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-mattermost-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-mattermost-16.4.5 spec: containers: - command: @@ -102,7 +102,7 @@ should mount external secret: env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-mattermost ports: @@ -143,8 +143,8 @@ should override volume name: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-mattermost-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-mattermost-16.4.5 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -158,8 +158,8 @@ should override volume name: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-mattermost-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-mattermost-16.4.5 spec: containers: - command: @@ -170,7 +170,7 @@ should override volume name: env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-mattermost:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-mattermost ports: diff --git a/examples/chart/access/msteams/Chart.yaml b/examples/chart/access/msteams/Chart.yaml index 3e6df19615748..0fa701eac07aa 100644 --- a/examples/chart/access/msteams/Chart.yaml +++ b/examples/chart/access/msteams/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-msteams diff --git a/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap index 91b64a13d0621..ed01961e32ca6 100644 --- a/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap @@ -29,6 +29,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-msteams-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-msteams-16.4.5 name: RELEASE-NAME-teleport-plugin-msteams diff --git a/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap index 0433c2ec5e5b4..b3008249a2d35 100644 --- a/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-msteams-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-msteams-16.4.5 name: RELEASE-NAME-teleport-plugin-msteams spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-msteams-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-msteams-16.4.5 spec: containers: - command: diff --git a/examples/chart/access/pagerduty/Chart.yaml b/examples/chart/access/pagerduty/Chart.yaml index c7fdf8a32acfc..22f13d1a2ea93 100644 --- a/examples/chart/access/pagerduty/Chart.yaml +++ b/examples/chart/access/pagerduty/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-pagerduty diff --git a/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap index b8ca1c546994d..e25d9300b7a0b 100644 --- a/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap @@ -21,6 +21,6 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-pagerduty-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-pagerduty-16.4.5 name: RELEASE-NAME-teleport-plugin-pagerduty diff --git a/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap index 1337292185c63..2292892ff0b7f 100644 --- a/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-pagerduty-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-pagerduty-16.4.5 name: RELEASE-NAME-teleport-plugin-pagerduty spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-pagerduty-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-pagerduty-16.4.5 spec: containers: - command: diff --git a/examples/chart/access/slack/Chart.yaml b/examples/chart/access/slack/Chart.yaml index e5b1d93ba6a11..5fcd2d59f8201 100644 --- a/examples/chart/access/slack/Chart.yaml +++ b/examples/chart/access/slack/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-slack diff --git a/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap index 82c973f6801c4..8ec973128ba5d 100644 --- a/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap @@ -24,6 +24,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-slack-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-slack-16.4.5 name: RELEASE-NAME-teleport-plugin-slack diff --git a/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap index 32e236dbe92d9..ccedde62c7f92 100644 --- a/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-slack-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-slack-16.4.5 name: RELEASE-NAME-teleport-plugin-slack spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-slack-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-slack-16.4.5 spec: containers: - command: diff --git a/examples/chart/event-handler/Chart.yaml b/examples/chart/event-handler/Chart.yaml index bda993286bdc3..77dab8838ff9f 100644 --- a/examples/chart/event-handler/Chart.yaml +++ b/examples/chart/event-handler/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" apiVersion: v2 name: teleport-plugin-event-handler diff --git a/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap index 5554d9ab2f37a..3a51fd3911d03 100644 --- a/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap @@ -26,6 +26,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-event-handler - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-event-handler-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-event-handler-16.4.5 name: RELEASE-NAME-teleport-plugin-event-handler diff --git a/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap index 19283fde8d4f0..d9ce01d2c3258 100644 --- a/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-event-handler - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-plugin-event-handler-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-plugin-event-handler-16.4.5 name: RELEASE-NAME-teleport-plugin-event-handler spec: replicas: 1 @@ -82,7 +82,7 @@ should mount tls.existingCASecretName and set environment when set in values: value: "true" - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-plugin-event-handler:16.4.4 + image: public.ecr.aws/gravitational/teleport-plugin-event-handler:16.4.5 imagePullPolicy: IfNotPresent name: teleport-plugin-event-handler ports: diff --git a/examples/chart/tbot/Chart.yaml b/examples/chart/tbot/Chart.yaml index 9e1c3acc56698..5f13858fe4d69 100644 --- a/examples/chart/tbot/Chart.yaml +++ b/examples/chart/tbot/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" name: tbot apiVersion: v2 diff --git a/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap index daa6ffc69bb5e..8be7873de2939 100644 --- a/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap @@ -29,7 +29,7 @@ should match the snapshot (full): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: tbot - helm.sh/chart: tbot-16.4.4 + helm.sh/chart: tbot-16.4.5 test-key: test-label-pod spec: affinity: @@ -68,7 +68,7 @@ should match the snapshot (full): value: "1" - name: TEST_ENV value: test-value - image: public.ecr.aws/gravitational/tbot-distroless:16.4.4 + image: public.ecr.aws/gravitational/tbot-distroless:16.4.5 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -154,7 +154,7 @@ should match the snapshot (simple): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: tbot - helm.sh/chart: tbot-16.4.4 + helm.sh/chart: tbot-16.4.5 spec: containers: - args: @@ -176,7 +176,7 @@ should match the snapshot (simple): fieldPath: spec.nodeName - name: KUBERNETES_TOKEN_PATH value: /var/run/secrets/tokens/join-sa-token - image: public.ecr.aws/gravitational/tbot-distroless:16.4.4 + image: public.ecr.aws/gravitational/tbot-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-cluster/Chart.yaml b/examples/chart/teleport-cluster/Chart.yaml index bc96af0153e14..ef2767f428834 100644 --- a/examples/chart/teleport-cluster/Chart.yaml +++ b/examples/chart/teleport-cluster/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" name: teleport-cluster apiVersion: v2 diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml index 7ada928382ca9..c8f7c1f17e292 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" name: teleport-operator apiVersion: v2 diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap index a04e9614fe646..32adb901e155a 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap @@ -8,8 +8,8 @@ adds operator permissions to ClusterRole: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-cluster-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-cluster-16.4.5 teleport.dev/majorVersion: "16" name: RELEASE-NAME rules: diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap index bedd145d4b567..c9ba2b5e6352e 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap @@ -1848,8 +1848,8 @@ sets clusterDomain on Configmap: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-cluster-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-cluster-16.4.5 teleport.dev/majorVersion: "16" name: RELEASE-NAME-auth namespace: NAMESPACE diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap index 83b4ddc405d45..e149f940e958a 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap @@ -8,7 +8,7 @@ - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -141,7 +141,7 @@ should set nodeSelector when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -238,7 +238,7 @@ should set resources when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -324,7 +324,7 @@ should set securityContext when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap index 8142877dde0f6..59dbc6c98fe34 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap @@ -567,8 +567,8 @@ sets clusterDomain on Configmap: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-cluster-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-cluster-16.4.5 teleport.dev/majorVersion: "16" name: RELEASE-NAME-proxy namespace: NAMESPACE diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap index 1f96c54d04314..8b39ce82dd90f 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap @@ -11,8 +11,8 @@ sets clusterDomain on Deployment Pods: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-cluster-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-cluster-16.4.5 teleport.dev/majorVersion: "16" name: RELEASE-NAME-proxy namespace: NAMESPACE @@ -26,7 +26,7 @@ sets clusterDomain on Deployment Pods: template: metadata: annotations: - checksum/config: 0946cb0c4c4fc9ced933e1e8106ba0ea68b6ea5f2afa9d03759bdec47c907373 + checksum/config: ef79a9655f3a6fb231ba72db9f1de214375920c410a80eacb6b99816e4d7b670 kubernetes.io/pod: test-annotation kubernetes.io/pod-different: 4 labels: @@ -34,8 +34,8 @@ sets clusterDomain on Deployment Pods: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 16.4.4 - helm.sh/chart: teleport-cluster-16.4.4 + app.kubernetes.io/version: 16.4.5 + helm.sh/chart: teleport-cluster-16.4.5 teleport.dev/majorVersion: "16" spec: affinity: @@ -44,7 +44,7 @@ sets clusterDomain on Deployment Pods: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -105,7 +105,7 @@ sets clusterDomain on Deployment Pods: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.test.com - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 name: wait-auth-update serviceAccountName: RELEASE-NAME-proxy terminationGracePeriodSeconds: 60 @@ -137,7 +137,7 @@ should provision initContainer correctly when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 name: wait-auth-update resources: limits: @@ -201,7 +201,7 @@ should set nodeSelector when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -262,7 +262,7 @@ should set nodeSelector when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 name: wait-auth-update nodeSelector: environment: security @@ -313,7 +313,7 @@ should set resources for wait-auth-update initContainer when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -381,7 +381,7 @@ should set resources for wait-auth-update initContainer when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 name: wait-auth-update resources: limits: @@ -421,7 +421,7 @@ should set resources when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -489,7 +489,7 @@ should set resources when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 name: wait-auth-update resources: limits: @@ -529,7 +529,7 @@ should set securityContext for initContainers when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -597,7 +597,7 @@ should set securityContext for initContainers when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 name: wait-auth-update securityContext: allowPrivilegeEscalation: false @@ -637,7 +637,7 @@ should set securityContext when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -705,7 +705,7 @@ should set securityContext when set in values: - wait - no-resolve - RELEASE-NAME-auth-v15.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 name: wait-auth-update securityContext: allowPrivilegeEscalation: false diff --git a/examples/chart/teleport-kube-agent/Chart.yaml b/examples/chart/teleport-kube-agent/Chart.yaml index 32e6a4e0c4321..cde1623d10d9c 100644 --- a/examples/chart/teleport-kube-agent/Chart.yaml +++ b/examples/chart/teleport-kube-agent/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "16.4.4" +.version: &version "16.4.5" name: teleport-kube-agent apiVersion: v2 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap index 0fd6e0599da52..1daa2ed24ea12 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap @@ -32,7 +32,7 @@ sets Deployment annotations when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -109,7 +109,7 @@ sets Deployment labels when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -173,7 +173,7 @@ sets Pod annotations when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -237,7 +237,7 @@ sets Pod labels when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -322,7 +322,7 @@ should add emptyDir for data when existingDataVolume is not set if action is Upg value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -387,7 +387,7 @@ should add insecureSkipProxyTLSVerify to args when set in values if action is Up value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -451,7 +451,7 @@ should correctly configure existingDataVolume when set if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -513,7 +513,7 @@ should expose diag port if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -589,7 +589,7 @@ should have multiple replicas when replicaCount is set (using .replicaCount, dep value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -665,7 +665,7 @@ should have multiple replicas when replicaCount is set (using highAvailability.r value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -729,7 +729,7 @@ should have one replica when replicaCount is not set if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -793,7 +793,7 @@ should mount extraVolumes and extraVolumeMounts if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -862,7 +862,7 @@ should mount jamfCredentialsSecret if it already exists and when role is jamf an value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -932,7 +932,7 @@ should mount jamfCredentialsSecret.name when role is jamf and action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1004,7 +1004,7 @@ should mount tls.existingCASecretName and set environment when set in values if value: cluster.local - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1078,7 +1078,7 @@ should mount tls.existingCASecretName and set extra environment when set in valu value: http://username:password@my.proxy.host:3128 - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1148,7 +1148,7 @@ should provision initContainer correctly when set in values if action is Upgrade value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1270,7 +1270,7 @@ should set affinity when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1334,7 +1334,7 @@ should set default serviceAccountName when not set in values if action is Upgrad value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1411,7 +1411,7 @@ should set environment when extraEnv set in values if action is Upgrade: value: cluster.local - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1539,7 +1539,7 @@ should set imagePullPolicy when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -1603,7 +1603,7 @@ should set nodeSelector if set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1669,7 +1669,7 @@ should set not set priorityClassName when not set in values if action is Upgrade value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1745,7 +1745,7 @@ should set preferred affinity when more than one replica is used if action is Up value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1809,7 +1809,7 @@ should set priorityClassName when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1874,7 +1874,7 @@ should set probeTimeoutSeconds when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1948,7 +1948,7 @@ should set required affinity when highAvailability.requireAntiAffinity is set if value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2012,7 +2012,7 @@ should set resources when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2083,7 +2083,7 @@ should set serviceAccountName when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2147,7 +2147,7 @@ should set tolerations when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap index dd8727306b431..55d353a172149 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap @@ -25,7 +25,7 @@ should create ServiceAccount for post-delete hook by default: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -108,7 +108,7 @@ should not create ServiceAccount for post-delete hook if serviceAccount.create i fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -138,7 +138,7 @@ should not create ServiceAccount, Role or RoleBinding for post-delete hook if se fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -168,7 +168,7 @@ should set nodeSelector in post-delete hook: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -200,7 +200,7 @@ should set resources in the Job's pod spec if resources is set in values: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent name: post-delete-job resources: diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap index acfbf2272a48b..7f59b4780c183 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap @@ -18,7 +18,7 @@ sets Pod annotations when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -90,7 +90,7 @@ sets Pod labels when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -186,7 +186,7 @@ sets StatefulSet labels when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -290,7 +290,7 @@ should add insecureSkipProxyTLSVerify to args when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -362,7 +362,7 @@ should add volumeClaimTemplate for data volume when using StatefulSet and action value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -454,7 +454,7 @@ should add volumeClaimTemplate for data volume when using StatefulSet and is Fre value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -536,7 +536,7 @@ should add volumeMount for data volume when using StatefulSet: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -608,7 +608,7 @@ should expose diag port: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -680,7 +680,7 @@ should generate Statefulset when storage is disabled and mode is a Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -766,7 +766,7 @@ should have multiple replicas when replicaCount is set (using .replicaCount, dep value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -850,7 +850,7 @@ should have multiple replicas when replicaCount is set (using highAvailability.r value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -922,7 +922,7 @@ should have one replica when replicaCount is not set: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -994,7 +994,7 @@ should install Statefulset when storage is disabled and mode is a Fresh Install: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1068,7 +1068,7 @@ should mount extraVolumes and extraVolumeMounts: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1145,7 +1145,7 @@ should mount jamfCredentialsSecret if it already exists and when role is jamf: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1225,7 +1225,7 @@ should mount jamfCredentialsSecret.name when role is jamf: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1307,7 +1307,7 @@ should mount tls.existingCASecretName and set environment when set in values: value: cluster.local - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1391,7 +1391,7 @@ should mount tls.existingCASecretName and set extra environment when set in valu value: /etc/teleport-tls-ca/ca.pem - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1471,7 +1471,7 @@ should not add emptyDir for data when using StatefulSet: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1543,7 +1543,7 @@ should provision initContainer correctly when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1673,7 +1673,7 @@ should set affinity when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1745,7 +1745,7 @@ should set default serviceAccountName when not set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1830,7 +1830,7 @@ should set environment when extraEnv set in values: value: cluster.local - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1974,7 +1974,7 @@ should set imagePullPolicy when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -2046,7 +2046,7 @@ should set nodeSelector if set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2132,7 +2132,7 @@ should set preferred affinity when more than one replica is used: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2204,7 +2204,7 @@ should set probeTimeoutSeconds when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2286,7 +2286,7 @@ should set required affinity when highAvailability.requireAntiAffinity is set: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2358,7 +2358,7 @@ should set resources when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2437,7 +2437,7 @@ should set serviceAccountName when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2509,7 +2509,7 @@ should set storage.requests when set in values and action is an Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2581,7 +2581,7 @@ should set storage.storageClassName when set in values and action is an Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2653,7 +2653,7 @@ should set tolerations when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:16.4.4 + image: public.ecr.aws/gravitational/teleport-distroless:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap index 6c7108d6f8e00..04cc6c8d3d73a 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap @@ -27,7 +27,7 @@ sets the affinity: - --base-image=public.ecr.aws/gravitational/teleport-distroless - --version-server=https://my-custom-version-server/v1 - --version-channel=custom/preview - image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.4 + image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -73,7 +73,7 @@ sets the tolerations: - --base-image=public.ecr.aws/gravitational/teleport-distroless - --version-server=https://my-custom-version-server/v1 - --version-channel=custom/preview - image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.4 + image: public.ecr.aws/gravitational/teleport-kube-agent-updater:16.4.5 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6