Skip to content

Commit 3fd7ab3

Browse files
committed
feat(tls): add tls events
1 parent 9005fa5 commit 3fd7ab3

7 files changed

Lines changed: 49 additions & 22 deletions

File tree

cmd/releases.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func (d *DryccCmd) ReleasesInfo(appID string, version int) error {
5959
table.Append([]string{"Config:", r.Config})
6060
table.Append([]string{"Created:", r.Created})
6161
table.Append([]string{"Updated:", r.Updated})
62-
table.Append([]string{"Summary:", r.Summary})
62+
table.Append([]string{"Summary:", d.wrapString(r.Summary)})
6363
table.Append([]string{"Version:", fmt.Sprintf("v%v", r.Version)})
6464
table.Render()
6565
return nil

cmd/resources.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ func (d *DryccCmd) ResourceGet(appID, name string) error {
194194
for _, key := range *sortKeys(resource.Options) {
195195
table.Append([]string{"", fmt.Sprintf("%s:", key), fmt.Sprintf("%s", resource.Options[key])})
196196
}
197-
table.Append([]string{"Message:", safeGetString(resource.Message)})
197+
table.Append([]string{"Message:", d.wrapString(safeGetString(resource.Message))})
198198
table.Append([]string{"Created:", resource.Created})
199199
table.Append([]string{"Updated:", resource.Updated})
200200
table.Render()

cmd/tls.go

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,28 @@ func (d *DryccCmd) TLSInfo(appID string) error {
1818
if d.checkAPICompatibility(s.Client, err) != nil {
1919
return err
2020
}
21-
table := d.getDefaultFormatTable(
22-
[]string{"UUID", "OWNER", "CERTS-AUTO", "HTTPS-ENFORCED", "EMAIL", "SERVER"},
23-
)
24-
data := []string{
25-
tls.UUID,
26-
tls.Owner,
27-
fmt.Sprintf("%v", tls.CertsAutoEnabled != nil && *(tls.CertsAutoEnabled)),
28-
fmt.Sprintf("%v", tls.HTTPSEnforced != nil && *(tls.HTTPSEnforced)),
29-
safeGetString(""),
30-
safeGetString(""),
31-
}
21+
table := d.getDefaultFormatTable([]string{})
22+
table.Append([]string{"UUID:", tls.UUID})
23+
table.Append([]string{"Owner:", tls.Owner})
24+
table.Append([]string{"CertsAuto:", fmt.Sprintf("%v", tls.CertsAutoEnabled != nil && *(tls.CertsAutoEnabled))})
25+
table.Append([]string{"HTTPSEnforced:", fmt.Sprintf("%v", tls.HTTPSEnforced != nil && *(tls.HTTPSEnforced))})
26+
// Issuer
27+
table.Append([]string{"Issuer:", ""})
3228
if tls.Issuer != nil {
33-
data[4] = safeGetString(tls.Issuer.Email)
34-
data[5] = safeGetString(tls.Issuer.Server)
29+
table.Append([]string{"", "Email:", safeGetString(tls.Issuer.Email)})
30+
table.Append([]string{"", "Server:", safeGetString(tls.Issuer.Server)})
31+
}
32+
// Events
33+
table.Append([]string{"Events:", ""})
34+
for _, event := range tls.Events {
35+
table.Append([]string{"", "Name:", event["name"]})
36+
table.Append([]string{"", "Kind:", event["kind"]})
37+
table.Append([]string{"", "Time:", event["time"]})
38+
table.Append([]string{"", "Type:", event["type"]})
39+
table.Append([]string{"", "Status:", event["status"]})
40+
table.Append([]string{"", "Message:", d.wrapString(event["message"])})
41+
table.Append([]string{""})
3542
}
36-
table.Append(data)
3743
table.Render()
3844
return nil
3945
}

cmd/tls_test.go

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,28 @@ func TestTLSInfo(t *testing.T) {
3636
"email": "drycc@drycc.cc",
3737
"key_id": "AA",
3838
"key_secret": "BB"
39-
}
39+
},
40+
"events": [{"name": "foo", "kind": "Issuer", "time": "2024-04-08T01:14:49Z", "type": "Ready", "status": "True", "message": "ready message"}]
4041
}`)
4142
})
4243

4344
err = cmdr.TLSInfo("numenor")
4445
assert.NoError(t, err)
45-
assert.Equal(t, b.String(), `UUID OWNER CERTS-AUTO HTTPS-ENFORCED EMAIL SERVER
46-
c4aed81c-d1ca-4ff1-ab89-d2151264e1a3 nazgul true true drycc@drycc.cc https://acme.zerossl.com/v2/DV90
46+
assert.Equal(t, b.String(), `UUID: c4aed81c-d1ca-4ff1-ab89-d2151264e1a3
47+
Owner: nazgul
48+
CertsAuto: true
49+
HTTPSEnforced: true
50+
Issuer:
51+
Email: drycc@drycc.cc
52+
Server: https://acme.zerossl.com/v2/DV90
53+
Events:
54+
Name: foo
55+
Kind: Issuer
56+
Time: 2024-04-08T01:14:49Z
57+
Type: Ready
58+
Status: True
59+
Message: ready message
60+
4761
`, "output")
4862
}
4963

cmd/utils.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
)
1616

1717
var defaultLimit = -1
18+
var defaultLines = 64
1819

1920
func progress(wOut io.Writer) chan bool {
2021
frames := []string{"...", "o..", ".o.", "..o"}
@@ -114,6 +115,12 @@ func (d *DryccCmd) getDefaultFormatTable(headers []string) *tablewriter.Table {
114115
return table
115116
}
116117

118+
// wrapString wraps s into a paragraph of lines of length lim, with minimal raggedness.
119+
func (d *DryccCmd) wrapString(s string) string {
120+
sa, _ := tablewriter.WrapString(s, defaultLines)
121+
return strings.Join(sa, "\r\n")
122+
}
123+
117124
func sortKeys(data map[string]interface{}) *[]string {
118125
keys := make([]string, 0, len(data))
119126
for k := range data {

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.22
55
require (
66
github.com/containerd/console v1.0.4
77
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815
8-
github.com/drycc/controller-sdk-go v0.0.0-20240403162730-10676f2b328d
8+
github.com/drycc/controller-sdk-go v0.0.0-20240408054437-6ed94b0070f7
99
github.com/drycc/pkg v0.0.0-20240225112316-78fc9239f51f
1010
github.com/olekukonko/tablewriter v0.0.5
1111
github.com/stretchr/testify v1.9.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
44
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
55
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ=
66
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
7-
github.com/drycc/controller-sdk-go v0.0.0-20240403162730-10676f2b328d h1:qffye+xHsNTpn9/kD0YY/fkov6IBJTJIVXWxoXtXCrw=
8-
github.com/drycc/controller-sdk-go v0.0.0-20240403162730-10676f2b328d/go.mod h1:RJ0QxVNWhximzfd08+FkZfKzrX7gOp2gsgXfpqVPJZQ=
7+
github.com/drycc/controller-sdk-go v0.0.0-20240408054437-6ed94b0070f7 h1:K1P84rQyr1GwC2/82LRmHmc6ocUJFYiyi0XhgdzzL58=
8+
github.com/drycc/controller-sdk-go v0.0.0-20240408054437-6ed94b0070f7/go.mod h1:RJ0QxVNWhximzfd08+FkZfKzrX7gOp2gsgXfpqVPJZQ=
99
github.com/drycc/pkg v0.0.0-20240225112316-78fc9239f51f h1:kgjvUQJeAszDoU1Vo4vTTE92KI8Av3JPb6Qn890niXg=
1010
github.com/drycc/pkg v0.0.0-20240225112316-78fc9239f51f/go.mod h1:n+QxGif6ha9CEoxVnlipxb9IdmerybcUSzTEDFkvjiA=
1111
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=

0 commit comments

Comments
 (0)