Files
moby/daemon/cluster/internal/runtime/convert.go
Derek McGowan ee24dcec3d Move swarm runtime plugin storage type to internal
Signed-off-by: Derek McGowan <derek@mcg.dev>
2025-07-28 18:18:39 -07:00

50 lines
1.1 KiB
Go

package runtime
import "github.com/moby/moby/api/types/swarm"
func privilegesFromAPI(privs []*swarm.RuntimePrivilege) []*PluginPrivilege {
var out []*PluginPrivilege
for _, p := range privs {
out = append(out, &PluginPrivilege{
Name: p.Name,
Description: p.Description,
Value: p.Value,
})
}
return out
}
// FromAPI converts an API RuntimeSpec to a PluginSpec,
// which can be proto encoded.
func FromAPI(spec swarm.RuntimeSpec) PluginSpec {
return PluginSpec{
Name: spec.Name,
Remote: spec.Remote,
Privileges: privilegesFromAPI(spec.Privileges),
Disabled: spec.Disabled,
Env: spec.Env,
}
}
func privilegesToAPI(privs []*PluginPrivilege) []*swarm.RuntimePrivilege {
var out []*swarm.RuntimePrivilege
for _, p := range privs {
out = append(out, &swarm.RuntimePrivilege{
Name: p.Name,
Description: p.Description,
Value: p.Value,
})
}
return out
}
func ToAPI(spec PluginSpec) swarm.RuntimeSpec {
return swarm.RuntimeSpec{
Name: spec.Name,
Remote: spec.Remote,
Privileges: privilegesToAPI(spec.Privileges),
Disabled: spec.Disabled,
Env: spec.Env,
}
}