func UpdateSecret(key, value string) UpdateOption {
	return func(o *UpdateOptions) {
		if o.Secrets == nil {
			o.Secrets = map[string]string{key: value}
		} else {
			o.Secrets[key] = value
		}
	}
}
WithSecret sets a secret to provide the service with
package runtime
import (
	"context"
	"io"
	"github.com/micro/micro/v3/service/client"
)
type Option func(o *Options)
type Options struct {
	Type string
	Client client.Client
	Image string
	Source string
	Context context.Context
}
func WithSource(src string) Option {
	return func(o *Options) {
		o.Source = src
	}
}
func WithType(t string) Option {
	return func(o *Options) {
		o.Type = t
	}
}
func WithImage(t string) Option {
	return func(o *Options) {
		o.Image = t
	}
}
func WithClient(c client.Client) Option {
	return func(o *Options) {
		o.Client = c
	}
}
type CreateOption func(o *CreateOptions)
type ReadOption func(o *ReadOptions)
type CreateOptions struct {
	Command []string
	Args []string
	Env []string
	Entrypoint string
	Output io.Writer
	Type string
	Retries int
	Image string
	Port string
	Namespace string
	Context context.Context
	Secrets map[string]string
	Resources *Resources
	Volumes map[string]string
	ServiceAccount string
	Instances int
}
type ReadOptions struct {
	Service string
	Version string
	Type string
	Namespace string
	Context context.Context
}
func CreateType(t string) CreateOption {
	return func(o *CreateOptions) {
		o.Type = t
	}
}
func CreateImage(img string) CreateOption {
	return func(o *CreateOptions) {
		o.Image = img
	}
}
func CreateNamespace(ns string) CreateOption {
	return func(o *CreateOptions) {
		o.Namespace = ns
	}
}
func CreateContext(ctx context.Context) CreateOption {
	return func(o *CreateOptions) {
		o.Context = ctx
	}
}
func CreateEntrypoint(e string) CreateOption {
	return func(o *CreateOptions) {
		o.Entrypoint = e
	}
}
func WithServiceAccount(s string) CreateOption {
	return func(o *CreateOptions) {
		o.ServiceAccount = s
	}
}
func WithSecret(key, value string) CreateOption {
	return func(o *CreateOptions) {
		if o.Secrets == nil {
			o.Secrets = map[string]string{key: value}
		} else {
			o.Secrets[key] = value
		}
	}
}
func WithCommand(cmd ...string) CreateOption {
	return func(o *CreateOptions) {
		o.Command = cmd
	}
}
func WithArgs(args ...string) CreateOption {
	return func(o *CreateOptions) {
		o.Args = args
	}
}
func WithRetries(retries int) CreateOption {
	return func(o *CreateOptions) {
		o.Retries = retries
	}
}
func WithEnv(env []string) CreateOption {
	return func(o *CreateOptions) {
		o.Env = env
	}
}
func WithOutput(out io.Writer) CreateOption {
	return func(o *CreateOptions) {
		o.Output = out
	}
}
func WithVolume(name, path string) CreateOption {
	return func(o *CreateOptions) {
		if o.Volumes == nil {
			o.Volumes = map[string]string{name: path}
		} else {
			o.Volumes[name] = path
		}
	}
}
func WithPort(p string) CreateOption {
	return func(o *CreateOptions) {
		o.Port = p
	}
}
func CreateInstances(v int) CreateOption {
	return func(o *CreateOptions) {
		o.Instances = v
	}
}
func ResourceLimits(r *Resources) CreateOption {
	return func(o *CreateOptions) {
		o.Resources = r
	}
}
func ReadService(service string) ReadOption {
	return func(o *ReadOptions) {
		o.Service = service
	}
}
func ReadVersion(version string) ReadOption {
	return func(o *ReadOptions) {
		o.Version = version
	}
}
func ReadType(t string) ReadOption {
	return func(o *ReadOptions) {
		o.Type = t
	}
}
func ReadNamespace(ns string) ReadOption {
	return func(o *ReadOptions) {
		o.Namespace = ns
	}
}
func ReadContext(ctx context.Context) ReadOption {
	return func(o *ReadOptions) {
		o.Context = ctx
	}
}
type UpdateOption func(o *UpdateOptions)
type UpdateOptions struct {
	Entrypoint string
	Namespace string
	Context context.Context
	Secrets map[string]string
	Instances int
}