From 3ae2d4b24c2156240503f47f42c158318a5df88a Mon Sep 17 00:00:00 2001 From: "Essam A. Hassan" Date: Sun, 15 Apr 2018 19:38:59 +0200 Subject: [PATCH 1/3] adding configs/secrets to service inspect pretty Signed-off-by: Essam A. Hassan --- cli/command/formatter/service.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cli/command/formatter/service.go b/cli/command/formatter/service.go index 35a5f1eba5..760bd03e79 100644 --- a/cli/command/formatter/service.go +++ b/cli/command/formatter/service.go @@ -97,6 +97,18 @@ Mounts: ReadOnly = {{ $mount.ReadOnly }} Type = {{ $mount.Type }} {{- end -}} +{{- if .Configs}} +Configs: +{{- range $config := .Configs }} + Target: {{$config.File.Name}} + Source: {{$config.ConfigName}} +{{- end }}{{ end }} +{{- if .Secrets }} +Secrets: +{{- range $secret := .Secrets }} + Target: {{$secret.File.Name}} + Source: {{$secret.SecretName}} +{{- end }}{{ end }} {{- if .HasResources }} Resources: {{- if .HasResourceReservations }} @@ -200,6 +212,14 @@ func (ctx *serviceInspectContext) Labels() map[string]string { return ctx.Service.Spec.Labels } +func (ctx *serviceInspectContext) Configs() []*swarm.ConfigReference { + return ctx.Service.Spec.TaskTemplate.ContainerSpec.Configs +} + +func (ctx *serviceInspectContext) Secrets() []*swarm.SecretReference { + return ctx.Service.Spec.TaskTemplate.ContainerSpec.Secrets +} + func (ctx *serviceInspectContext) IsModeGlobal() bool { return ctx.Service.Spec.Mode.Global != nil } From 2b1f27ea5e8a777f8fa4d75ed97b4998e985428b Mon Sep 17 00:00:00 2001 From: "Essam A. Hassan" Date: Mon, 16 Apr 2018 01:39:01 +0200 Subject: [PATCH 2/3] add config and secret to service in inspect test Signed-off-by: Essam A. Hassan --- cli/command/service/inspect_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cli/command/service/inspect_test.go b/cli/command/service/inspect_test.go index 7339dc968f..16088b0811 100644 --- a/cli/command/service/inspect_test.go +++ b/cli/command/service/inspect_test.go @@ -44,6 +44,18 @@ func formatServiceInspect(t *testing.T, format formatter.Format, now time.Time) TaskTemplate: swarm.TaskSpec{ ContainerSpec: &swarm.ContainerSpec{ Image: "foo/bar@sha256:this_is_a_test", + Configs: []*swarm.ConfigReference{ + { + ConfigID: "mtc3i44r1awdoziy2iceg73z8", + ConfigName: "configtest.conf", + }, + }, + Secrets: []*swarm.SecretReference{ + { + SecretID: "3hv39ehbbb4hdozo7spod9ftn", + SecretName: "secrettest.conf", + }, + }, }, Networks: []swarm.NetworkAttachmentConfig{ { From 8238644796e5d03a83591eae3dcad554fc85f5ad Mon Sep 17 00:00:00 2001 From: "Essam A. Hassan" Date: Mon, 16 Apr 2018 01:39:41 +0200 Subject: [PATCH 3/3] testing config/secrets are showing in pretty print Signed-off-by: Essam A. Hassan --- cli/command/service/inspect_test.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cli/command/service/inspect_test.go b/cli/command/service/inspect_test.go index 16088b0811..41736f8894 100644 --- a/cli/command/service/inspect_test.go +++ b/cli/command/service/inspect_test.go @@ -48,12 +48,18 @@ func formatServiceInspect(t *testing.T, format formatter.Format, now time.Time) { ConfigID: "mtc3i44r1awdoziy2iceg73z8", ConfigName: "configtest.conf", + File: &swarm.ConfigReferenceFileTarget{ + Name: "/configtest.conf", + }, }, }, Secrets: []*swarm.SecretReference{ { SecretID: "3hv39ehbbb4hdozo7spod9ftn", SecretName: "secrettest.conf", + File: &swarm.SecretReferenceFileTarget{ + Name: "/secrettest.conf", + }, }, }, }, @@ -145,3 +151,10 @@ func TestJSONFormatWithNoUpdateConfig(t *testing.T) { } assert.Check(t, is.DeepEqual(m1, m2)) } + +func TestPrettyPrintWithConfigsAndSecrets(t *testing.T) { + s := formatServiceInspect(t, formatter.NewServiceFormat("pretty"), time.Now()) + + assert.Check(t, is.Contains(s, "Configs:"), "Pretty print missing configs") + assert.Check(t, is.Contains(s, "Secrets:"), "Pretty print missing secrets") +}