Skip to content

Commit

Permalink
kubernetesapply: always use PullIfNotPresent (#6277)
Browse files Browse the repository at this point in the history
i verified this works correctly on all modern container engines,
no reason to use Never anymore.

Fixes #6133

Signed-off-by: Nick Santos <nick.santos@docker.com>
  • Loading branch information
nicks committed Dec 8, 2023
1 parent c3e3ecc commit 727f5e5
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 65 deletions.
86 changes: 43 additions & 43 deletions internal/cli/wire_gen.go

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

9 changes: 1 addition & 8 deletions internal/controllers/core/kubernetesapply/reconciler.go
Expand Up @@ -21,7 +21,6 @@ import (
"sigs.k8s.io/controller-runtime/pkg/handler"
"sigs.k8s.io/controller-runtime/pkg/reconcile"

"github.com/tilt-dev/tilt/internal/build"
"github.com/tilt-dev/tilt/internal/container"
"github.com/tilt-dev/tilt/internal/controllers/apicmp"
"github.com/tilt-dev/tilt/internal/controllers/apis/configmap"
Expand All @@ -47,7 +46,6 @@ type deleteSpec struct {

type Reconciler struct {
st store.RStore
dkc build.DockerKubeConnection
k8sClient k8s.Client
ctrlClient ctrlclient.Client
indexer *indexer.Indexer
Expand Down Expand Up @@ -79,13 +77,12 @@ func (r *Reconciler) CreateBuilder(mgr ctrl.Manager) (*builder.Builder, error) {
return b, nil
}

func NewReconciler(ctrlClient ctrlclient.Client, k8sClient k8s.Client, scheme *runtime.Scheme, dkc build.DockerKubeConnection, st store.RStore, execer localexec.Execer) *Reconciler {
func NewReconciler(ctrlClient ctrlclient.Client, k8sClient k8s.Client, scheme *runtime.Scheme, st store.RStore, execer localexec.Execer) *Reconciler {
return &Reconciler{
ctrlClient: ctrlClient,
k8sClient: k8sClient,
indexer: indexer.NewIndexer(scheme, indexKubernetesApply),
execer: execer,
dkc: dkc,
st: st,
results: make(map[types.NamespacedName]*Result),
requeuer: indexer.NewRequeuer(),
Expand Down Expand Up @@ -500,10 +497,6 @@ func (r *Reconciler) createEntitiesToDeploy(ctx context.Context,
// When working with a local k8s cluster, we set the pull policy to Never,
// to ensure that k8s fails hard if the image is missing from docker.
policy := v1.PullIfNotPresent
if r.dkc.WillBuildToKubeContext(k8s.KubeContext(r.k8sClient.APIConfig().CurrentContext)) {
policy = v1.PullNever
}

for _, imageMapName := range imageMapNames {
imageMap := imageMaps[types.NamespacedName{Name: imageMapName}]
imageMapSpec := imageMap.Spec
Expand Down
5 changes: 1 addition & 4 deletions internal/controllers/core/kubernetesapply/reconciler_test.go
Expand Up @@ -18,10 +18,8 @@ import (
"k8s.io/apimachinery/pkg/util/uuid"
"sigs.k8s.io/controller-runtime/pkg/reconcile"

"github.com/tilt-dev/tilt/internal/build"
"github.com/tilt-dev/tilt/internal/controllers/fake"
"github.com/tilt-dev/tilt/internal/docker"
"github.com/tilt-dev/tilt/internal/dockerfile"
"github.com/tilt-dev/tilt/internal/k8s"
"github.com/tilt-dev/tilt/internal/k8s/testyaml"
"github.com/tilt-dev/tilt/internal/localexec"
Expand Down Expand Up @@ -787,8 +785,7 @@ func newFixture(t *testing.T) *fixture {

execer := localexec.NewFakeExecer(t)

db := build.NewDockerBuilder(dockerClient, dockerfile.Labels{})
r := NewReconciler(cfb.Client, kClient, v1alpha1.NewScheme(), db, cfb.Store, execer)
r := NewReconciler(cfb.Client, kClient, v1alpha1.NewScheme(), cfb.Store, execer)

f := &fixture{
ControllerFixture: cfb.Build(r),
Expand Down
6 changes: 2 additions & 4 deletions internal/engine/buildcontrol/wire_gen.go

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

2 changes: 1 addition & 1 deletion internal/engine/upper_test.go
Expand Up @@ -3209,7 +3209,7 @@ func newTestFixture(t *testing.T, options ...fixtureOptions) *testFixture {

wsl := server.NewWebsocketList()

kar := kubernetesapply.NewReconciler(cdc, kClient, sch, docker.Env{}, st, execer)
kar := kubernetesapply.NewReconciler(cdc, kClient, sch, st, execer)
dcds := dockercomposeservice.NewDisableSubscriber(ctx, fakeDcc, clock)
dcr := dockercomposeservice.NewReconciler(cdc, fakeDcc, dockerClient, st, sch, dcds)

Expand Down
8 changes: 3 additions & 5 deletions internal/engine/wire_gen.go

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

0 comments on commit 727f5e5

Please sign in to comment.