Expand Up @@ -456,7 +456,7 @@ func (t *trySingleflight) Do(key string, fn func()) { fn ()} func (a * agent )reportMetadata (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (a * agent )reportMetadata (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {tickerDone := make (chan struct {})collectDone := make (chan struct {})ctx ,cancel := context .WithCancel (ctx )Expand Down Expand Up @@ -672,7 +672,7 @@ func (a *agent) reportMetadata(ctx context.Context, aAPI proto.DRPCAgentClient24 // reportLifecycle reports the current lifecycle state once. All state // changes are reported in order. func (a * agent )reportLifecycle (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (a * agent )reportLifecycle (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {for {select {case <- a .lifecycleUpdate :Expand Down Expand Up @@ -752,7 +752,7 @@ func (a *agent) setLifecycle(state codersdk.WorkspaceAgentLifecycle) { } // reportConnectionsLoop reports connections to the agent for auditing. func (a * agent )reportConnectionsLoop (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (a * agent )reportConnectionsLoop (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {for {select {case <- a .reportConnectionsUpdate :Expand Down Expand Up @@ -872,7 +872,7 @@ func (a *agent) reportConnection(id uuid.UUID, connectionType proto.Connection_T // fetchServiceBannerLoop fetches the service banner on an interval. It will // not be fetched immediately; the expectation is that it is primed elsewhere // (and must be done before the session actually starts). func (a * agent )fetchServiceBannerLoop (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (a * agent )fetchServiceBannerLoop (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {ticker := time .NewTicker (a .announcementBannersRefreshInterval )defer ticker .Stop ()for {Expand Down Expand Up @@ -925,7 +925,7 @@ func (a *agent) run() (retErr error) { connMan := newAPIConnRoutineManager (a .gracefulCtx ,a .hardCtx ,a .logger ,aAPI ,tAPI )connMan .startAgentAPI ("init notification banners" ,gracefulShutdownBehaviorStop ,func (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {bannersProto ,err := aAPI .GetAnnouncementBanners (ctx ,& proto.GetAnnouncementBannersRequest {})if err != nil {return xerrors .Errorf ("fetch service banner: %w" ,err )Expand All @@ -942,7 +942,7 @@ func (a *agent) run() (retErr error) { // sending logs gets gracefulShutdownBehaviorRemain because we want to send logs generated by // shutdown scripts. connMan .startAgentAPI ("send logs" ,gracefulShutdownBehaviorRemain ,func (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {err := a .logSender .SendLoop (ctx ,aAPI )if xerrors .Is (err ,agentsdk .ErrLogLimitExceeded ) {// we don't want this error to tear down the API connection and propagate to the Expand All @@ -961,7 +961,7 @@ func (a *agent) run() (retErr error) { connMan .startAgentAPI ("report metadata" ,gracefulShutdownBehaviorStop ,a .reportMetadata )// resources monitor can cease as soon as we start gracefully shutting down. connMan .startAgentAPI ("resources monitor" ,gracefulShutdownBehaviorStop ,func (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {connMan .startAgentAPI ("resources monitor" ,gracefulShutdownBehaviorStop ,func (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {logger := a .logger .Named ("resources_monitor" )clk := quartz .NewReal ()config ,err := aAPI .GetResourcesMonitoringConfiguration (ctx ,& proto.GetResourcesMonitoringConfigurationRequest {})Expand Down Expand Up @@ -1008,7 +1008,7 @@ func (a *agent) run() (retErr error) { connMan .startAgentAPI ("handle manifest" ,gracefulShutdownBehaviorStop ,a .handleManifest (manifestOK ))connMan .startAgentAPI ("app health reporter" ,gracefulShutdownBehaviorStop ,func (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {if err := manifestOK .wait (ctx );err != nil {return xerrors .Errorf ("no manifest: %w" ,err )} Expand Down Expand Up @@ -1041,7 +1041,7 @@ func (a *agent) run() (retErr error) { connMan .startAgentAPI ("fetch service banner loop" ,gracefulShutdownBehaviorStop ,a .fetchServiceBannerLoop )connMan .startAgentAPI ("stats report loop" ,gracefulShutdownBehaviorStop ,func (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {connMan .startAgentAPI ("stats report loop" ,gracefulShutdownBehaviorStop ,func (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {if err := networkOK .wait (ctx );err != nil {return xerrors .Errorf ("no network: %w" ,err )} Expand All @@ -1056,8 +1056,8 @@ func (a *agent) run() (retErr error) { } // handleManifest returns a function that fetches and processes the manifest func (a * agent )handleManifest (manifestOK * checkpoint )func (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {return func (ctx context.Context ,aAPI proto.DRPCAgentClient24 )error {func (a * agent )handleManifest (manifestOK * checkpoint )func (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {return func (ctx context.Context ,aAPI proto.DRPCAgentClient26 )error {var (sentResult = false err error Expand Down Expand Up @@ -1187,8 +1187,8 @@ func (a *agent) handleManifest(manifestOK *checkpoint) func(ctx context.Context, // createOrUpdateNetwork waits for the manifest to be set using manifestOK, then creates or updates // the tailnet using the information in the manifest func (a * agent )createOrUpdateNetwork (manifestOK ,networkOK * checkpoint )func (context.Context , proto.DRPCAgentClient24 )error {return func (ctx context.Context ,_ proto.DRPCAgentClient24 ) (retErr error ) {func (a * agent )createOrUpdateNetwork (manifestOK ,networkOK * checkpoint )func (context.Context , proto.DRPCAgentClient26 )error {return func (ctx context.Context ,_ proto.DRPCAgentClient26 ) (retErr error ) {if err := manifestOK .wait (ctx );err != nil {return xerrors .Errorf ("no manifest: %w" ,err )} Expand Down Expand Up @@ -1960,7 +1960,7 @@ const ( type apiConnRoutineManager struct {logger slog.Logger aAPI proto.DRPCAgentClient24 aAPI proto.DRPCAgentClient26 tAPI tailnetproto.DRPCTailnetClient24 eg * errgroup.Group stopCtx context.Context Expand All @@ -1969,7 +1969,7 @@ type apiConnRoutineManager struct { func newAPIConnRoutineManager (gracefulCtx ,hardCtx context.Context ,logger slog.Logger ,aAPI proto.DRPCAgentClient24 ,tAPI tailnetproto.DRPCTailnetClient24 ,aAPI proto.DRPCAgentClient26 ,tAPI tailnetproto.DRPCTailnetClient24 ,)* apiConnRoutineManager { // routines that remain in operation during graceful shutdown use the remainCtx. They'll still // exit if the errgroup hits an error, which usually means a problem with the conn. Expand Down Expand Up @@ -2002,7 +2002,7 @@ func newAPIConnRoutineManager( // but for Tailnet. func (a * apiConnRoutineManager )startAgentAPI (name string ,behavior gracefulShutdownBehavior ,f func (context.Context , proto.DRPCAgentClient24 )error ,f func (context.Context , proto.DRPCAgentClient26 )error ,) { logger := a .logger .With (slog .F ("name" ,name ))var ctx context.Context Expand Down