feat(scale): basic service scale command

This commit is contained in:
Pavel Sviderski committed 2025-03-05 20:24:54 +10:00
1 parent 2a82f75cad
commit 586a4fa129
5 files changed
+190 -17

No files matched your search

+19
View File
@@ -164,3 +164,22 @@ func (r *MapNameResolver) ContainerName(containerID string) string {
}
return containerID
}
// ServiceOperationNameResolver returns a machine and container name resolver for a service that can be used to format
// deployment operations.
func (cli *Client) ServiceOperationNameResolver(ctx context.Context, svc api.Service) (*MapNameResolver, error) {
machines, err := cli.ListMachines(ctx)
if err != nil {
return nil, fmt.Errorf("list machines: %w", err)
}
machineNames := make(map[string]string, len(machines))
for _, m := range machines {
machineNames[m.Machine.Id] = m.Machine.Name
}
containerNames := make(map[string]string, len(svc.Containers))
for _, c := range svc.Containers {
containerNames[c.Container.ID] = c.Container.NameWithoutSlash()
}
return NewNameResolver(machineNames, containerNames), nil
}