forked from toolshed/abra
WIP: add first run at app rollback command
See coop-cloud/organising#146.
This commit is contained in:
@ -7,6 +7,7 @@ import (
|
||||
|
||||
abraFormatter "coopcloud.tech/abra/cli/formatter"
|
||||
"coopcloud.tech/abra/cli/internal"
|
||||
appPkg "coopcloud.tech/abra/pkg/app"
|
||||
"coopcloud.tech/abra/pkg/client/stack"
|
||||
"coopcloud.tech/abra/pkg/config"
|
||||
"github.com/docker/distribution/reference"
|
||||
@ -27,19 +28,6 @@ func getImagePath(image string) (string, error) {
|
||||
return path, nil
|
||||
}
|
||||
|
||||
// parseVersionLabel parses a $STACK_NAME_$SERVICE_NAME service label
|
||||
func parseServiceName(label string) string {
|
||||
idx := strings.LastIndex(label, "_")
|
||||
return label[idx+1:]
|
||||
}
|
||||
|
||||
// parseVersionLabel parses a $VERSION-$DIGEST service label
|
||||
func parseVersionLabel(label string) (string, string) {
|
||||
// versions may look like v4.2-abcd or v4.2-alpine-abcd
|
||||
idx := strings.LastIndex(label, "-")
|
||||
return label[:idx], label[idx+1:]
|
||||
}
|
||||
|
||||
var appVersionCommand = &cli.Command{
|
||||
Name: "version",
|
||||
Aliases: []string{"v"},
|
||||
@ -72,7 +60,7 @@ var appVersionCommand = &cli.Command{
|
||||
for range compose.Services {
|
||||
status := <-ch
|
||||
if len(status.Services) > 0 {
|
||||
serviceName := parseServiceName(status.Services[0].Spec.Name)
|
||||
serviceName := appPkg.ParseServiceName(status.Services[0].Spec.Name)
|
||||
statuses[serviceName] = status
|
||||
}
|
||||
}
|
||||
@ -85,7 +73,7 @@ var appVersionCommand = &cli.Command{
|
||||
if status, ok := statuses[service.Name]; ok {
|
||||
statusService := status.Services[0]
|
||||
label := fmt.Sprintf("coop-cloud.%s.%s.version", app.StackName(), service.Name)
|
||||
version, digest := parseVersionLabel(statusService.Spec.Labels[label])
|
||||
version, digest := appPkg.ParseVersionLabel(statusService.Spec.Labels[label])
|
||||
image, err := getImagePath(statusService.Spec.Labels["com.docker.stack.image"])
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
|
Reference in New Issue
Block a user