Skip to content

Commit 993b863

Browse files
committed
Add shim start opts
Signed-off-by: Maksym Pavlenko <[email protected]>
1 parent f968359 commit 993b863

4 files changed

Lines changed: 24 additions & 10 deletions

File tree

runtime/v2/example/example.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ type service struct {
4242
}
4343

4444
// StartShim is a binary call that executes a new shim returning the address
45-
func (s *service) StartShim(ctx context.Context, id, containerdBinary, containerdAddress, containerdTTRPCAddress string) (string, error) {
45+
func (s *service) StartShim(ctx context.Context, opts shim.StartOpts) (string, error) {
4646
return "", nil
4747
}
4848

runtime/v2/runc/v1/service.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,12 @@ func newCommand(ctx context.Context, id, containerdBinary, containerdAddress, co
126126
return cmd, nil
127127
}
128128

129-
func (s *service) StartShim(ctx context.Context, id, containerdBinary, containerdAddress, containerdTTRPCAddress string) (_ string, retErr error) {
130-
cmd, err := newCommand(ctx, id, containerdBinary, containerdAddress, containerdTTRPCAddress)
129+
func (s *service) StartShim(ctx context.Context, opts shim.StartOpts) (_ string, retErr error) {
130+
cmd, err := newCommand(ctx, opts.ID, opts.ContainerdBinary, opts.Address, opts.TTRPCAddress)
131131
if err != nil {
132132
return "", err
133133
}
134-
address, err := shim.SocketAddress(ctx, containerdAddress, id)
134+
address, err := shim.SocketAddress(ctx, opts.Address, opts.ID)
135135
if err != nil {
136136
return "", err
137137
}

runtime/v2/runc/v2/service.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,12 @@ func readSpec() (*spec, error) {
171171
return &s, nil
172172
}
173173

174-
func (s *service) StartShim(ctx context.Context, id, containerdBinary, containerdAddress, containerdTTRPCAddress string) (_ string, retErr error) {
175-
cmd, err := newCommand(ctx, id, containerdBinary, containerdAddress, containerdTTRPCAddress)
174+
func (s *service) StartShim(ctx context.Context, opts shim.StartOpts) (_ string, retErr error) {
175+
cmd, err := newCommand(ctx, opts.ID, opts.ContainerdBinary, opts.Address, opts.TTRPCAddress)
176176
if err != nil {
177177
return "", err
178178
}
179-
grouping := id
179+
grouping := opts.ID
180180
spec, err := readSpec()
181181
if err != nil {
182182
return "", err
@@ -187,7 +187,7 @@ func (s *service) StartShim(ctx context.Context, id, containerdBinary, container
187187
break
188188
}
189189
}
190-
address, err := shim.SocketAddress(ctx, containerdAddress, grouping)
190+
address, err := shim.SocketAddress(ctx, opts.Address, grouping)
191191
if err != nil {
192192
return "", err
193193
}

runtime/v2/shim/shim.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,22 @@ type Publisher interface {
5151
io.Closer
5252
}
5353

54+
// StartOpts describes shim start configuration received from containerd
55+
type StartOpts struct {
56+
ID string
57+
ContainerdBinary string
58+
Address string
59+
TTRPCAddress string
60+
}
61+
5462
// Init func for the creation of a shim server
5563
type Init func(context.Context, string, Publisher, func()) (Shim, error)
5664

5765
// Shim server interface
5866
type Shim interface {
5967
shimapi.TaskService
6068
Cleanup(ctx context.Context) (*shimapi.DeleteResponse, error)
61-
StartShim(ctx context.Context, id, containerdBinary, containerdAddress, containerdTTRPCAddress string) (string, error)
69+
StartShim(ctx context.Context, opts StartOpts) (string, error)
6270
}
6371

6472
// OptsKey is the context key for the Opts value.
@@ -219,7 +227,13 @@ func run(id string, initFunc Init, config Config) error {
219227
}
220228
return nil
221229
case "start":
222-
address, err := service.StartShim(ctx, idFlag, containerdBinaryFlag, addressFlag, ttrpcAddress)
230+
opts := StartOpts{
231+
ID: idFlag,
232+
ContainerdBinary: containerdBinaryFlag,
233+
Address: addressFlag,
234+
TTRPCAddress: ttrpcAddress,
235+
}
236+
address, err := service.StartShim(ctx, opts)
223237
if err != nil {
224238
return err
225239
}

0 commit comments

Comments
 (0)