Skip to content

Commit

Permalink
Add the ability to override base image busybox through flag.
Browse files Browse the repository at this point in the history
- This will allow users to provide another base image if they do not
want to use "busybox" for open source compliance reasons.
  • Loading branch information
shashwathi committed Dec 9, 2018
1 parent 3955974 commit c5c8dfe
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 16 deletions.
2 changes: 0 additions & 2 deletions cmd/controller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ func main() {
if err != nil {
logger.Fatalf("Error building Build clientset: %v", err)
}
overrideBaseImage := flag.String("overrideBaseImage", "busybox", "Name of image to override default image for copy steps. Expects bash to be present on the image.")

configMapWatcher := configmap.NewInformedWatcher(kubeClient, system.Namespace)

Expand Down Expand Up @@ -129,7 +128,6 @@ func main() {
clusterTaskInformer,
buildInformer,
resourceInformer,
*overrideBaseImage,
),
pipelinerun.NewController(opt,
pipelineRunInformer,
Expand Down
1 change: 1 addition & 0 deletions config/controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ spec:
"-logtostderr",
"-stderrthreshold", "INFO",
"-kubeconfig-writer-image", "github.com/knative/build-pipeline/cmd/kubeconfigwriter",
"-overrideBaseImage", "busybox",
]
volumeMounts:
- name: config-logging
Expand Down
9 changes: 5 additions & 4 deletions pkg/reconciler/v1alpha1/taskrun/taskrun.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package taskrun

import (
"context"
"flag"
"fmt"
"reflect"

Expand Down Expand Up @@ -73,6 +74,8 @@ const (
)

var (
overrideBaseImage = flag.String("overrideBaseImage", "busybox", "Name of image to override default image for copy steps. Expects bash to be present on the image.")

groupVersionKind = schema.GroupVersionKind{
Group: v1alpha1.SchemeGroupVersion.Group,
Version: v1alpha1.SchemeGroupVersion.Version,
Expand All @@ -96,7 +99,6 @@ type Reconciler struct {
resourceLister listers.PipelineResourceLister
tracker tracker.Interface
configStore configStore
defaultBaseImage string
}

// Check that our Reconciler implements controller.Reconciler
Expand All @@ -110,7 +112,6 @@ func NewController(
clusterTaskInformer informers.ClusterTaskInformer,
buildInformer buildinformers.BuildInformer,
resourceInformer informers.PipelineResourceInformer,
overrideBaseImage string,
) *controller.Impl {

c := &Reconciler{
Expand Down Expand Up @@ -410,13 +411,13 @@ func (c *Reconciler) createBuild(ctx context.Context, tr *v1alpha1.TaskRun, ts *
return nil, fmt.Errorf("couldn't create redirected Build: %v", err)
}

build, err := resources.AddInputResource(b, taskName, ts, tr, c.resourceLister, c.Logger, c.defaultBaseImage)
build, err := resources.AddInputResource(b, taskName, ts, tr, c.resourceLister, c.Logger, *overrideBaseImage)
if err != nil {
c.Logger.Errorf("Failed to create a build for taskrun: %s due to input resource error %v", tr.Name, err)
return nil, err
}

err = resources.AddOutputResources(b, taskName, ts, tr, c.resourceLister, c.Logger, c.defaultBaseImage)
err = resources.AddOutputResources(b, taskName, ts, tr, c.resourceLister, c.Logger, *overrideBaseImage)
if err != nil {
c.Logger.Errorf("Failed to create a build for taskrun: %s due to output resource error %v", tr.Name, err)
return nil, err
Expand Down
19 changes: 9 additions & 10 deletions test/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ type Informers struct {
// TestAssets holds references to the controller, logs, clients, and informers.
type TestAssets struct {
Controller *controller.Impl
Logs *observer.ObservedLogs
Clients Clients
Informers Informers
Logs *observer.ObservedLogs
Clients Clients
Informers Informers
}

func seedTestData(d Data) (Clients, Informers) {
Expand Down Expand Up @@ -151,7 +151,7 @@ func seedTestData(d Data) (Clients, Informers) {

// GetTaskRunController returns an instance of the TaskRun controller/reconciler that has been seeded with
// d, where d represents the state of the system (existing resources) needed for the test.
func GetTaskRunController(d Data) (TestAssets) {
func GetTaskRunController(d Data) TestAssets {
c, i := seedTestData(d)
observer, logs := observer.New(zap.InfoLevel)
configMapWatcher := configmap.NewInformedWatcher(c.Kube, system.Namespace)
Expand All @@ -169,17 +169,16 @@ func GetTaskRunController(d Data) (TestAssets) {
i.ClusterTask,
i.Build,
i.PipelineResource,
"busybox", // use default base image
),
Logs: logs,
Clients: c,
Logs: logs,
Clients: c,
Informers: i,
}
}

// GetPipelineRunController returns an instance of the PipelineRun controller/reconciler that has been seeded with
// d, where d represents the state of the system (existing resources) needed for the test.
func GetPipelineRunController(d Data) (TestAssets) {
func GetPipelineRunController(d Data) TestAssets {
c, i := seedTestData(d)
observer, logs := observer.New(zap.InfoLevel)
return TestAssets{
Expand All @@ -196,8 +195,8 @@ func GetPipelineRunController(d Data) (TestAssets) {
i.TaskRun,
i.PipelineResource,
),
Logs: logs,
Clients: c,
Logs: logs,
Clients: c,
Informers: i,
}
}

0 comments on commit c5c8dfe

Please sign in to comment.