Skip to content

Commit 51f2ce9

Browse files
authored
Merge pull request #5709 from cpuguy83/custom_client
Allow WithServices to use custom implementations
2 parents 0dcffc3 + 0a8802d commit 51f2ce9

3 files changed

Lines changed: 58 additions & 23 deletions

File tree

pkg/cri/cri.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,28 +127,28 @@ func getServicesOpts(ic *plugin.InitContext) ([]containerd.ServicesOpt, error) {
127127
return containerd.WithContentStore(s.(content.Store))
128128
},
129129
services.ImagesService: func(s interface{}) containerd.ServicesOpt {
130-
return containerd.WithImageService(s.(images.ImagesClient))
130+
return containerd.WithImageClient(s.(images.ImagesClient))
131131
},
132132
services.SnapshotsService: func(s interface{}) containerd.ServicesOpt {
133133
return containerd.WithSnapshotters(s.(map[string]snapshots.Snapshotter))
134134
},
135135
services.ContainersService: func(s interface{}) containerd.ServicesOpt {
136-
return containerd.WithContainerService(s.(containers.ContainersClient))
136+
return containerd.WithContainerClient(s.(containers.ContainersClient))
137137
},
138138
services.TasksService: func(s interface{}) containerd.ServicesOpt {
139-
return containerd.WithTaskService(s.(tasks.TasksClient))
139+
return containerd.WithTaskClient(s.(tasks.TasksClient))
140140
},
141141
services.DiffService: func(s interface{}) containerd.ServicesOpt {
142-
return containerd.WithDiffService(s.(diff.DiffClient))
142+
return containerd.WithDiffClient(s.(diff.DiffClient))
143143
},
144144
services.NamespacesService: func(s interface{}) containerd.ServicesOpt {
145-
return containerd.WithNamespaceService(s.(namespaces.NamespacesClient))
145+
return containerd.WithNamespaceClient(s.(namespaces.NamespacesClient))
146146
},
147147
services.LeasesService: func(s interface{}) containerd.ServicesOpt {
148148
return containerd.WithLeasesService(s.(leases.Manager))
149149
},
150150
services.IntrospectionService: func(s interface{}) containerd.ServicesOpt {
151-
return containerd.WithIntrospectionService(s.(introspectionapi.IntrospectionClient))
151+
return containerd.WithIntrospectionClient(s.(introspectionapi.IntrospectionClient))
152152
},
153153
} {
154154
p := plugins[s]

runtime/restart/monitor/monitor.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,22 @@ func getServicesOpts(ic *plugin.InitContext) ([]containerd.ServicesOpt, error) {
103103
return containerd.WithContentStore(s.(content.Store))
104104
},
105105
services.ImagesService: func(s interface{}) containerd.ServicesOpt {
106-
return containerd.WithImageService(s.(images.ImagesClient))
106+
return containerd.WithImageClient(s.(images.ImagesClient))
107107
},
108108
services.SnapshotsService: func(s interface{}) containerd.ServicesOpt {
109109
return containerd.WithSnapshotters(s.(map[string]snapshots.Snapshotter))
110110
},
111111
services.ContainersService: func(s interface{}) containerd.ServicesOpt {
112-
return containerd.WithContainerService(s.(containers.ContainersClient))
112+
return containerd.WithContainerClient(s.(containers.ContainersClient))
113113
},
114114
services.TasksService: func(s interface{}) containerd.ServicesOpt {
115-
return containerd.WithTaskService(s.(tasks.TasksClient))
115+
return containerd.WithTaskClient(s.(tasks.TasksClient))
116116
},
117117
services.DiffService: func(s interface{}) containerd.ServicesOpt {
118-
return containerd.WithDiffService(s.(diff.DiffClient))
118+
return containerd.WithDiffClient(s.(diff.DiffClient))
119119
},
120120
services.NamespacesService: func(s interface{}) containerd.ServicesOpt {
121-
return containerd.WithNamespaceService(s.(namespacesapi.NamespacesClient))
121+
return containerd.WithNamespaceClient(s.(namespacesapi.NamespacesClient))
122122
},
123123
services.LeasesService: func(s interface{}) containerd.ServicesOpt {
124124
return containerd.WithLeasesService(s.(leases.Manager))

services.go

Lines changed: 47 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,20 @@ func WithContentStore(contentStore content.Store) ServicesOpt {
5555
}
5656
}
5757

58-
// WithImageService sets the image service.
59-
func WithImageService(imageService imagesapi.ImagesClient) ServicesOpt {
58+
// WithImageClient sets the image service to use using an images client.
59+
func WithImageClient(imageService imagesapi.ImagesClient) ServicesOpt {
6060
return func(s *services) {
6161
s.imageStore = NewImageStoreFromClient(imageService)
6262
}
6363
}
6464

65+
// WithImageStore sets the image store.
66+
func WithImageStore(imageStore images.Store) ServicesOpt {
67+
return func(s *services) {
68+
s.imageStore = imageStore
69+
}
70+
}
71+
6572
// WithSnapshotters sets the snapshotters.
6673
func WithSnapshotters(snapshotters map[string]snapshots.Snapshotter) ServicesOpt {
6774
return func(s *services) {
@@ -72,51 +79,79 @@ func WithSnapshotters(snapshotters map[string]snapshots.Snapshotter) ServicesOpt
7279
}
7380
}
7481

75-
// WithContainerService sets the container service.
76-
func WithContainerService(containerService containersapi.ContainersClient) ServicesOpt {
82+
// WithContainerClient sets the container service to use using a containers client.
83+
func WithContainerClient(containerService containersapi.ContainersClient) ServicesOpt {
7784
return func(s *services) {
7885
s.containerStore = NewRemoteContainerStore(containerService)
7986
}
8087
}
8188

82-
// WithTaskService sets the task service.
83-
func WithTaskService(taskService tasks.TasksClient) ServicesOpt {
89+
// WithContainerStore sets the container store.
90+
func WithContainerStore(containerStore containers.Store) ServicesOpt {
91+
return func(s *services) {
92+
s.containerStore = containerStore
93+
}
94+
}
95+
96+
// WithTaskClient sets the task service to use from a tasks client.
97+
func WithTaskClient(taskService tasks.TasksClient) ServicesOpt {
8498
return func(s *services) {
8599
s.taskService = taskService
86100
}
87101
}
88102

89-
// WithDiffService sets the diff service.
90-
func WithDiffService(diffService diff.DiffClient) ServicesOpt {
103+
// WithDiffClient sets the diff service to use from a diff client.
104+
func WithDiffClient(diffService diff.DiffClient) ServicesOpt {
91105
return func(s *services) {
92106
s.diffService = NewDiffServiceFromClient(diffService)
93107
}
94108
}
95109

110+
// WithDiffService sets the diff store.
111+
func WithDiffService(diffService DiffService) ServicesOpt {
112+
return func(s *services) {
113+
s.diffService = diffService
114+
}
115+
}
116+
96117
// WithEventService sets the event service.
97118
func WithEventService(eventService EventService) ServicesOpt {
98119
return func(s *services) {
99120
s.eventService = eventService
100121
}
101122
}
102123

103-
// WithNamespaceService sets the namespace service.
104-
func WithNamespaceService(namespaceService namespacesapi.NamespacesClient) ServicesOpt {
124+
// WithNamespaceClient sets the namespace service using a namespaces client.
125+
func WithNamespaceClient(namespaceService namespacesapi.NamespacesClient) ServicesOpt {
105126
return func(s *services) {
106127
s.namespaceStore = NewNamespaceStoreFromClient(namespaceService)
107128
}
108129
}
109130

131+
// WithNamespaceService sets the namespace service.
132+
func WithNamespaceService(namespaceService namespaces.Store) ServicesOpt {
133+
return func(s *services) {
134+
s.namespaceStore = namespaceService
135+
}
136+
}
137+
110138
// WithLeasesService sets the lease service.
111139
func WithLeasesService(leasesService leases.Manager) ServicesOpt {
112140
return func(s *services) {
113141
s.leasesService = leasesService
114142
}
115143
}
116144

117-
// WithIntrospectionService sets the introspection service.
118-
func WithIntrospectionService(in introspectionapi.IntrospectionClient) ServicesOpt {
145+
// WithIntrospectionClient sets the introspection service using an introspection client.
146+
func WithIntrospectionClient(in introspectionapi.IntrospectionClient) ServicesOpt {
119147
return func(s *services) {
120148
s.introspectionService = introspection.NewIntrospectionServiceFromClient(in)
121149
}
122150
}
151+
152+
// WithIntrospectionService sets the introspection service.
153+
func WithIntrospectionService(in introspection.Service) ServicesOpt {
154+
return func(s *services) {
155+
s.introspectionService = in
156+
}
157+
}

0 commit comments

Comments
 (0)