Skip to content

Commit 7d8e6ce

Browse files
committed
more elaborate acl policy self output
1 parent 38df7db commit 7d8e6ce

File tree

3 files changed

+40
-5
lines changed

3 files changed

+40
-5
lines changed

command/acl_policy_self.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,28 @@ func (c *ACLPolicySelfCommand) Run(args []string) int {
101101
}
102102

103103
output := make([]string, 0, len(policies)+1)
104-
output = append(output, "Name|Description")
104+
output = append(output, "Name|Job ID|Group Name|Task Name")
105105
for _, p := range policies {
106-
output = append(output, fmt.Sprintf("%s|%s", p.Name, p.Description))
106+
var outputString string
107+
if p.JobACL == nil {
108+
outputString = fmt.Sprintf("%s|%s|%s|%s", p.Name, "<unavailable>", "<unavailable>", "<unavailable>")
109+
} else {
110+
outputString = fmt.Sprintf(
111+
"%s|%s|%s|%s",
112+
p.Name, formatJobACL(p.JobACL.JobID), formatJobACL(p.JobACL.Group), formatJobACL(p.JobACL.Task),
113+
)
114+
}
115+
output = append(output, outputString)
107116
}
108117

109118
c.Ui.Output(formatList(output))
110119
}
111120
return 0
112121
}
122+
123+
func formatJobACL(jobACL string) string {
124+
if jobACL == "" {
125+
return "<not specified>"
126+
}
127+
return jobACL
128+
}

command/acl_policy_self_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,15 @@ func TestACLPolicySelfCommand_ViaEnvVar(t *testing.T) {
6565
must.MapContainsKey(t, alloc.SignedIdentities, "t")
6666
wid := alloc.SignedIdentities["t"]
6767

68-
// Fetch info on a token with a JWT
68+
// Fetch info on policies with a JWT
6969
t.Setenv("NOMAD_TOKEN", wid)
7070
code := cmd.Run([]string{"-address=" + url})
7171
must.Zero(t, code)
7272

7373
// Check the output
7474
out := ui.OutputWriter.String()
7575
must.StrContains(t, out, polArgs.Policies[0].Name)
76+
77+
// make sure we put the job ACLs in there, too
78+
must.StrContains(t, out, polArgs.Policies[0].JobACL.JobID)
7679
}

website/content/docs/commands/acl/policy/self.mdx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,22 @@ Fetch information about an existing ACL policies attached to the workload:
3434
$ echo $NOMAD_TOKEN
3535
eyJhbGciOiJSUzI1NiIsImtpZCI6ImJiMmUwYjI5LTIyZTYtYjk0My0yN2M1LThkYmNmMjc5ODM0MCIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJub21hZHByb2plY3QuaW8iLCJpYXQiOjE3NDM2OTI5NzksImp0aSI6IjJmOWI3ZGRmLWU1M2ItZGMxNS1kMzU4LTAyMDk5NjE1NThlMyIsIm5iZiI6MTc0MzY5Mjk3OSwibm9tYWRfYWxsb2NhdGlvbl9pZCI6IjhjMGJjMWFjLWRlMzMtYTNlYi03YWUwLTZiZjM3OGY5YzcxYiIsIm5vbWFkX2pvYl9pZCI6Im5vbWFkIiwibm9tYWRfbmFtZXNwYWNlIjoiZGVmYXVsdCIsIm5vbWFkX3Rhc2siOiJzZXJ2ZXIiLCJzdWIiOiJnbG9iYWw6ZGVmYXVsdDpub21hZDpub21hZDpzZXJ2ZXI6ZGVmYXVsdCJ9.IDZWTqGWRURDwI5OvO3LLjCsU1qzg6LEG4q5S7CfZawUXzMqAOoYajI_nynOGJp2aU77MqUyJmdFtrIBMoQnIxclEwNl9DkhfOrgjBsWefn9JqKEpORGD-0OLzaoYUgbu0k6aXCNktfpvHZN5uUsfL6nLOG-osQvHn9ZdboT31tjp1v6d-MfP96ZLG0NrXgLWMfwan2AAzuqMabIS9iO6OrZDNp2-TeeY_sqM-7sNEgfDo33GAeyhqTi8CAZhsDOv4wtJuFfMhrsbb33wHdAiltjXlafBtncMMaLHr07gbLvOMfty2_193i4Yi3H2PgPr7c4BYHoXyQJhFchDyYmFA
3636
$ nomad acl policy self
37-
Name Description
38-
nomad-policy A Nomad policy
37+
Name Job ID Group Name Task Name
38+
nomad-policy nomad nomad <not specified>
39+
$ nomad acl policy self -json
40+
{
41+
"nomad-policy": {
42+
"CreateIndex": 21,
43+
"Description": "",
44+
"JobACL": {
45+
"Group": "nomad",
46+
"JobID": "nomad",
47+
"Namespace": "default",
48+
"Task": ""
49+
},
50+
"ModifyIndex": 21,
51+
"Name": "nomad-policy",
52+
"Rules": "# Allow read only access to the default namespace\ndescription = \"A Nomad policy\"\nnamespace \"default\" {\n policy = \"read\"\n}\n\n# Allow writing to the `foo` namespace\nnamespace \"foo\" {\n policy = \"write\"\n}\n\nagent {\n policy = \"read\"\n}\n\nnode {\n policy = \"read\"\n}\n\nquota {\n policy = \"read\"\n}\n"
53+
}
54+
}
3955
```

0 commit comments

Comments
 (0)