Skip to content

Commit

Permalink
cmd: move Cmd controller into the controllers package (#4312)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicks committed Mar 12, 2021
1 parent 04c21fa commit 8fa7737
Show file tree
Hide file tree
Showing 15 changed files with 74 additions and 47 deletions.
5 changes: 2 additions & 3 deletions internal/cli/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"github.com/tilt-dev/tilt/internal/cloud/cloudurl"
"github.com/tilt-dev/tilt/internal/container"
"github.com/tilt-dev/tilt/internal/controllers"
"github.com/tilt-dev/tilt/internal/controllers/core/cmd"
"github.com/tilt-dev/tilt/internal/docker"
"github.com/tilt-dev/tilt/internal/dockercompose"
"github.com/tilt-dev/tilt/internal/engine"
Expand Down Expand Up @@ -85,9 +86,7 @@ var BaseWireSet = wire.NewSet(
runtimelog.NewPodLogManager,
portforward.NewController,
engine.NewBuildController,
local.ProvideExecer,
local.ProvideProberManager,
local.NewController,
cmd.WireSet,
local.NewServerController,
k8swatch.NewPodWatcher,
k8swatch.NewServiceWatcher,
Expand Down
23 changes: 12 additions & 11 deletions internal/cli/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package local
package cmd

import (
"bufio"
Expand All @@ -18,11 +18,11 @@ import (
ctrl "sigs.k8s.io/controller-runtime"
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"

"github.com/tilt-dev/tilt/internal/engine/local"
"github.com/tilt-dev/tilt/internal/store"
"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
"github.com/tilt-dev/tilt/pkg/logger"
"github.com/tilt-dev/tilt/pkg/model"
"github.com/tilt-dev/tilt/pkg/model/logstore"
)

// A controller that reads CmdSpec and writes CmdStatus
Expand Down Expand Up @@ -231,7 +231,7 @@ func (c *Controller) resetStatus(name types.NamespacedName, cmd *Cmd) {
return
}

c.st.Dispatch(NewCmdUpdateStatusAction(updated))
c.st.Dispatch(local.NewCmdUpdateStatusAction(updated))
}

// Update the stored status.
Expand All @@ -256,7 +256,7 @@ func (c *Controller) updateStatus(name types.NamespacedName, update func(status
return
}

c.st.Dispatch(NewCmdUpdateStatusAction(cmd))
c.st.Dispatch(local.NewCmdUpdateStatusAction(cmd))
}

func (c *Controller) processStatuses(
Expand Down Expand Up @@ -349,10 +349,6 @@ func (p *currentProcess) currentProcNum() int {
return p.procNum
}

func SpanIDForServeLog(procNum int) logstore.SpanID {
return logstore.SpanID(fmt.Sprintf("localserve:%d", procNum))
}

type statusAndMetadata struct {
pid int
status status
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package local
package cmd

import (
"context"
Expand All @@ -17,6 +17,7 @@ import (
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"

"github.com/tilt-dev/tilt/internal/controllers/fake"
"github.com/tilt-dev/tilt/internal/engine/local"
"github.com/tilt-dev/tilt/internal/store"
"github.com/tilt-dev/tilt/internal/testutils/bufsync"
"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
Expand Down Expand Up @@ -226,15 +227,15 @@ func (s *testStore) Dispatch(action store.Action) {
case store.LogAction:
_, _ = s.out.Write(action.Message())

case CmdCreateAction:
HandleCmdCreateAction(st, action)
case local.CmdCreateAction:
local.HandleCmdCreateAction(st, action)
action.Summarize(&s.summary)

case CmdUpdateStatusAction:
HandleCmdUpdateStatusAction(st, action)
case local.CmdUpdateStatusAction:
local.HandleCmdUpdateStatusAction(st, action)

case CmdDeleteAction:
HandleCmdDeleteAction(st, action)
case local.CmdDeleteAction:
local.HandleCmdDeleteAction(st, action)
action.Summarize(&s.summary)
}
}
Expand All @@ -245,7 +246,7 @@ type fixture struct {
st *testStore
fe *FakeExecer
fpm *FakeProberManager
sc *ServerController
sc *local.ServerController
client ctrlclient.Client
c *Controller
ctx context.Context
Expand All @@ -263,7 +264,7 @@ func newFixture(t *testing.T) *fixture {
fe := NewFakeExecer()
fpm := NewFakeProberManager()
fc := fake.NewTiltClient()
sc := NewServerController(fc)
sc := local.NewServerController(fc)
c := NewController(ctx, fe, fpm, fc, st)

return &fixture{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package local
package cmd

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package local
package cmd

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package local
package cmd

import (
"fmt"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package local
package cmd

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package local
package cmd

import (
"fmt"
Expand Down
16 changes: 16 additions & 0 deletions internal/controllers/core/cmd/types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package cmd

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
)

type Cmd = v1alpha1.Cmd
type CmdList = v1alpha1.CmdList
type CmdStatus = v1alpha1.CmdStatus
type CmdSpec = v1alpha1.CmdSpec
type CmdStateWaiting = v1alpha1.CmdStateWaiting
type CmdStateTerminated = v1alpha1.CmdStateTerminated
type CmdStateRunning = v1alpha1.CmdStateRunning
type ObjectMeta = metav1.ObjectMeta
9 changes: 9 additions & 0 deletions internal/controllers/core/cmd/wire.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package cmd

import "github.com/google/wire"

var WireSet = wire.NewSet(
ProvideExecer,
ProvideProberManager,
NewController,
)
6 changes: 3 additions & 3 deletions internal/controllers/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import (
"github.com/google/wire"
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"

"github.com/tilt-dev/tilt/internal/controllers/core/cmd"
"github.com/tilt-dev/tilt/internal/controllers/core/filewatch"
"github.com/tilt-dev/tilt/internal/engine/local"
"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
)

Expand All @@ -15,10 +15,10 @@ var controllerSet = wire.NewSet(
ProvideControllers,
)

func ProvideControllers(fileWatch *filewatch.Controller, lc *local.Controller) []Controller {
func ProvideControllers(fileWatch *filewatch.Controller, cmds *cmd.Controller) []Controller {
return []Controller{
fileWatch,
lc,
cmds,
}
}

Expand Down
5 changes: 5 additions & 0 deletions internal/engine/local/servercontroller.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (

"github.com/tilt-dev/tilt/internal/store"
"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
"github.com/tilt-dev/tilt/pkg/model/logstore"
)

const AnnotationOwnerName = "tilt.dev/owner-name"
Expand Down Expand Up @@ -215,3 +216,7 @@ type CmdServerStatus struct {
CmdName string
CmdStatus CmdStatus
}

func SpanIDForServeLog(procNum int) logstore.SpanID {
return logstore.SpanID(fmt.Sprintf("localserve:%d", procNum))
}
1 change: 0 additions & 1 deletion internal/engine/subscribers.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ func ProvideSubscribers(
tcum *cloud.CloudStatusManager,
dp *dockerprune.DockerPruner,
tc *telemetry.Controller,
lc *local.Controller,
lsc *local.ServerController,
podm *k8srollout.PodMonitor,
ec *exit.Controller,
Expand Down
15 changes: 8 additions & 7 deletions internal/engine/upper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import (
"github.com/tilt-dev/tilt/internal/cloud"
"github.com/tilt-dev/tilt/internal/container"
"github.com/tilt-dev/tilt/internal/controllers"
"github.com/tilt-dev/tilt/internal/controllers/core/cmd"
"github.com/tilt-dev/tilt/internal/controllers/core/filewatch"
"github.com/tilt-dev/tilt/internal/docker"
"github.com/tilt-dev/tilt/internal/dockercompose"
Expand Down Expand Up @@ -3711,8 +3712,8 @@ type testFixture struct {
tfl tiltfile.TiltfileLoader
opter *tiltanalytics.FakeOpter
dp *dockerprune.DockerPruner
fe *local.FakeExecer
fpm *local.FakeProberManager
fe *cmd.FakeExecer
fpm *cmd.FakeProberManager
overrideMaxParallelUpdates int

onchangeCh chan bool
Expand Down Expand Up @@ -3772,12 +3773,12 @@ func newTestFixture(t *testing.T) *testFixture {
hudsc := server.ProvideHeadsUpServerController(0, serverOptions, &server.HeadsUpServer{}, assets.NewFakeServer(), model.WebURL{})
ewm := k8swatch.NewEventWatchManager(kCli, of, ns)
tcum := cloud.NewStatusManager(httptest.NewFakeClientEmptyJSON(), clock)
fe := local.NewFakeExecer()
fpm := local.NewFakeProberManager()
fe := cmd.NewFakeExecer()
fpm := cmd.NewFakeProberManager()
cdc := controllers.ProvideDeferredClient()
ccb := controllers.NewClientBuilder(cdc)
fwc := filewatch.NewController(st)
lc := local.NewController(ctx, fe, fpm, cdc, st)
cmds := cmd.NewController(ctx, fe, fpm, cdc, st)
lsc := local.NewServerController(cdc)
ts := hud.NewTerminalStream(hud.NewIncrementalPrinter(log), st)
tp := prompt.NewTerminalPrompt(ta, prompt.TTYOpen, prompt.BrowserOpen,
Expand All @@ -3787,7 +3788,7 @@ func newTestFixture(t *testing.T) *testFixture {
require.NoError(t, err, "Failed to create Tilt API server controller manager")
cb := controllers.NewControllerBuilder(tscm, controllers.ProvideControllers(
fwc,
lc,
cmds,
))

dp := dockerprune.NewDockerPruner(dockerClient)
Expand Down Expand Up @@ -3830,7 +3831,7 @@ func newTestFixture(t *testing.T) *testFixture {
mc := metrics.NewController(de, model.TiltBuild{}, "")
mcc := metrics.NewModeController("localhost", user.NewFakePrefs())

subs := ProvideSubscribers(hudsc, tscm, cb, h, ts, tp, pw, sw, plm, pfc, fwms, fwm, bc, cc, dcw, dclm, ar, au, ewm, tcum, dp, tc, lc, lsc, podm, ec, mc, mcc)
subs := ProvideSubscribers(hudsc, tscm, cb, h, ts, tp, pw, sw, plm, pfc, fwms, fwm, bc, cc, dcw, dclm, ar, au, ewm, tcum, dp, tc, lsc, podm, ec, mc, mcc)
ret.upper, err = NewUpper(ctx, st, subs)
require.NoError(t, err)

Expand Down

0 comments on commit 8fa7737

Please sign in to comment.