Skip to content

Commit 3e88cc1

Browse files
danvixenthorlahsubomi
authored
Added support for TLS configuration (#191)
* Add docs link to dashboard (#185) * add tls configuration * add more comments * use pemutil to decrypt key because x509.DecryptPEMBlock is now deprecated and linter is sad about that * check error * implement review * remove error return value * edit ssl config fields * check ssl config fields in config.go * cleanup Co-authored-by: Emmanuel AIna <emmanuel.ainaj@gmail.com> Co-authored-by: Subomi Oluwalana <subomioluwalana71@gmail.com>
1 parent 96d29dd commit 3e88cc1

File tree

11 files changed

+105
-52
lines changed

11 files changed

+105
-52
lines changed

cmd/server.go

+6
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ func addServerCommand(a *app) *cobra.Command {
5555
convoy_task.CreateTask(convoy.DeadLetterProcessor, cfg, convoy_task.ProcessDeadLetters)
5656

5757
log.Infof("Started convoy server in %s", time.Since(start))
58+
59+
httpConfig := cfg.Server.HTTP
60+
if httpConfig.SSL {
61+
log.Infof("Started server with SSL: cert_file: %s, key_file: %s", httpConfig.SSLCertFile, httpConfig.SSLKeyFile)
62+
return srv.ListenAndServeTLS(httpConfig.SSLCertFile, httpConfig.SSLKeyFile)
63+
}
5864
return srv.ListenAndServe()
5965
},
6066
}

config/config.go

+31-8
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ type SentryConfiguration struct {
2525

2626
type ServerConfiguration struct {
2727
HTTP struct {
28-
Port uint32 `json:"port"`
28+
SSL bool `json:"ssl"`
29+
SSLCertFile string `json:"ssl_cert_file"`
30+
SSLKeyFile string `json:"ssl_key_file"`
31+
Port uint32 `json:"port"`
2932
} `json:"http"`
3033
}
3134

@@ -144,14 +147,25 @@ func LoadConfig(p string) error {
144147
// This enables us deploy to Heroku where the $PORT is provided
145148
// dynamically.
146149
if port, err := strconv.Atoi(os.Getenv("PORT")); err == nil {
147-
c.Server = ServerConfiguration{
148-
HTTP: struct {
149-
Port uint32 `json:"port"`
150-
}{
151-
Port: uint32(port),
152-
},
150+
c.Server.HTTP.Port = uint32(port)
151+
}
152+
153+
if s := os.Getenv("CONVOY_SSL"); s != "" {
154+
v, err := strconv.ParseBool(s)
155+
if err != nil {
156+
return err
157+
}
158+
c.Server.HTTP.SSL = v
159+
160+
if c.Server.HTTP.SSL {
161+
c.Server.HTTP.SSLCertFile = os.Getenv("CONVOY_SSL_CERT_FILE")
162+
c.Server.HTTP.SSLKeyFile = os.Getenv("CONVOY_SSL_KEY_FILE")
153163
}
154164
}
165+
err = ensureSSL(c.Server)
166+
if err != nil {
167+
return err
168+
}
155169

156170
if env := os.Getenv("CONVOY_ENV"); env != "" {
157171
c.Environment = env
@@ -249,7 +263,7 @@ func LoadConfig(p string) error {
249263
}
250264

251265
if e := os.Getenv("CONVOY_DISABLE_ENDPOINT"); e != "" {
252-
if d, err := strconv.ParseBool(e); err != nil {
266+
if d, err := strconv.ParseBool(e); err == nil {
253267
c.DisableEndpoint = d
254268
}
255269
}
@@ -268,6 +282,15 @@ func ensureSignature(signature SignatureConfiguration) error {
268282
return nil
269283
}
270284

285+
func ensureSSL(s ServerConfiguration) error {
286+
if s.HTTP.SSL {
287+
if s.HTTP.SSLCertFile == "" || s.HTTP.SSLKeyFile == "" {
288+
return errors.New("both cert_file and key_file are required for ssl")
289+
}
290+
}
291+
return nil
292+
}
293+
271294
func parseAuthorizedUsers(auth UIAuthConfiguration) map[string]string {
272295
users := auth.Basic
273296
usersMap := make(map[string]string)

convoy-docker.json

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
},
1212
"server": {
1313
"http": {
14+
"ssl": false,
15+
"ssl_cert_file": "",
16+
"ssl_key_file": "",
1417
"port": 5005
1518
}
1619
},

convoy.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313
}
1414
},
1515
"server": {
16-
"environment": "dev",
1716
"http": {
17+
"ssl": false,
18+
"ssl_cert_file": "",
19+
"ssl_key_file": "",
1820
"port": 5005
1921
}
2022
},

docker-compose.yml

+26-26
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
version: "3"
22

33
services:
4-
web:
5-
build:
6-
context: .
7-
dockerfile: Dockerfile
8-
entrypoint: ["./cmd", "server", "--config", "convoy.json"]
9-
ports:
10-
- 5005:5005
11-
volumes:
12-
- ./convoy-docker.json:/convoy.json
13-
restart: on-failure
14-
depends_on:
15-
- mongodb
16-
- redis_server
4+
web:
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
entrypoint: [ "./cmd", "server", "--config", "convoy.json" ]
9+
ports:
10+
- 5005:5005
11+
volumes:
12+
- ./convoy-docker.json:/convoy.json
13+
restart: on-failure
14+
depends_on:
15+
- mongodb
16+
- redis_server
1717

18-
mongodb:
19-
image: mongo:latest
20-
environment:
21-
MONGO_INITDB_ROOT_USERNAME: root
22-
MONGO_INITDB_ROOT_PASSWORD: rootpassword
23-
volumes:
24-
- ./data/mongo:/data/db
25-
ports:
26-
- "27017:27017"
18+
mongodb:
19+
image: mongo:latest
20+
environment:
21+
MONGO_INITDB_ROOT_USERNAME: root
22+
MONGO_INITDB_ROOT_PASSWORD: rootpassword
23+
volumes:
24+
- ./data/mongo:/data/db
25+
ports:
26+
- "27017:27017"
2727

28-
redis_server:
29-
image: redis:alpine
30-
ports:
31-
- "8379:6379"
28+
redis_server:
29+
image: redis:alpine
30+
ports:
31+
- "8379:6379"

docs/docs.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Package docs GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
22
// This file was generated by swaggo/swag at
3-
// 2021-10-22 14:59:12.149287 +0100 WAT m=+26.024924835
4-
3+
// 2021-10-26 23:11:32.542301 +0100 WAT m=+26.721756418
54
package docs
65

76
import (

go.mod

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ require (
1414
github.com/gobeam/mongo-go-pagination v0.0.7
1515
github.com/golang/mock v1.4.4
1616
github.com/golang/snappy v0.0.4 // indirect
17-
github.com/google/uuid v1.2.0
17+
github.com/google/uuid v1.3.0
1818
github.com/jarcoal/httpmock v1.0.8
1919
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
2020
github.com/olekukonko/tablewriter v0.0.5
@@ -30,9 +30,9 @@ require (
3030
github.com/x-cray/logrus-prefixed-formatter v0.5.2
3131
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect
3232
go.mongodb.org/mongo-driver v1.7.1
33-
golang.org/x/crypto v0.0.0-20210813211128-0a44fdfbc16e
33+
go.step.sm/crypto v0.12.0
34+
golang.org/x/crypto v0.0.0-20210915214749-c084706c2272
3435
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
35-
golang.org/x/text v0.3.7 // indirect
3636
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
3737
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
3838
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect

go.sum

+28-6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMd
1919
github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY=
2020
github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
2121
github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
22+
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
23+
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
24+
github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk=
2225
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
2326
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
2427
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
@@ -202,9 +205,10 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
202205
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
203206
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
204207
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
208+
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
205209
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
206-
github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs=
207-
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
210+
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
211+
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
208212
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
209213
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
210214
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
@@ -238,6 +242,10 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m
238242
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
239243
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
240244
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
245+
github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
246+
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
247+
github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
248+
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
241249
github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA=
242250
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
243251
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
@@ -319,13 +327,17 @@ github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyex
319327
github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
320328
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
321329
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
330+
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
331+
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
322332
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
323333
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
324334
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
325335
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
326336
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
327337
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
328338
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
339+
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
340+
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
329341
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
330342
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
331343
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@@ -404,12 +416,16 @@ github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx
404416
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
405417
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
406418
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
419+
github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262 h1:unQFBIznI+VYD1/1fApl1A+9VcBk+9dcqGfnePY87LY=
420+
github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262/go.mod h1:MyOHs9Po2fbM1LHej6sBUT8ozbxmMOFG+E+rx/GSGuc=
407421
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
408422
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
409423
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
410424
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
411425
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
412426
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
427+
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
428+
github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
413429
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
414430
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
415431
github.com/spf13/cobra v1.1.3 h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M=
@@ -480,6 +496,8 @@ go.mongodb.org/mongo-driver v1.7.1/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8N
480496
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
481497
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
482498
go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0=
499+
go.step.sm/crypto v0.12.0 h1:paPir4mRL3DDgOcjCP57D1oDBTTHyzM2r2EJqdpcRsQ=
500+
go.step.sm/crypto v0.12.0/go.mod h1:5YzQ85BujYBu6NH18jw7nFjwuRnDch35nLzH0ES5sKg=
483501
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
484502
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
485503
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
@@ -494,9 +512,10 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U
494512
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
495513
golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
496514
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
515+
golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
497516
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
498-
golang.org/x/crypto v0.0.0-20210813211128-0a44fdfbc16e h1:VvfwVmMH40bpMeizC9/K7ipM5Qjucuu16RWfneFPyhQ=
499-
golang.org/x/crypto v0.0.0-20210813211128-0a44fdfbc16e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
517+
golang.org/x/crypto v0.0.0-20210915214749-c084706c2272 h1:3erb+vDS8lU1sxfDHF4/hhWyaXnhIaO+7RgL4fDZORA=
518+
golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
500519
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
501520
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
502521
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -543,8 +562,9 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
543562
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
544563
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
545564
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
546-
golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q=
547565
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
566+
golang.org/x/net v0.0.0-20210913180222-943fd674d43e h1:+b/22bPvDYt4NPDcy4xAGCmON713ONAWFeY3Z7I3tR8=
567+
golang.org/x/net v0.0.0-20210913180222-943fd674d43e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
548568
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
549569
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
550570
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -592,8 +612,9 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
592612
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
593613
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
594614
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
595-
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4=
596615
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
616+
golang.org/x/sys v0.0.0-20210915083310-ed5796bab164 h1:7ZDGnxgHAMw7thfC5bEos0RDAccZKxioiWBhfIe+tvw=
617+
golang.org/x/sys v0.0.0-20210915083310-ed5796bab164/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
597618
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
598619
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
599620
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -688,6 +709,7 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
688709
gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
689710
gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
690711
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
712+
gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
691713
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
692714
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
693715
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=

server/route.go

-1
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,5 @@ func New(cfg config.Configuration, msgRepo convoy.MessageRepository, appRepo con
237237
}
238238

239239
prometheus.MustRegister(requestDuration)
240-
241240
return srv
242241
}

web/ui/dashboard/src/pages/dashboard/index.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import CalendarIcon from '../../assets/img/calendar-icon.svg';
77
import LinkIcon from '../../assets/img/link-icon.svg';
88
import AngleArrowDownIcon from '../../assets/img/angle-arrow-down.svg';
99
import ConvoyLogo from '../../assets/img/logo.svg';
10-
import CopyIcon from '../../assets/img/copy-icon.svg';
1110
import RetryIcon from '../../assets/img/retry-icon.svg';
1211
import EmptyStateImage from '../../assets/img/empty-state-img.svg';
1312
import ViewEventsIcon from '../../assets/img/view-events-icon.svg';
@@ -18,7 +17,7 @@ import './style.scss';
1817
import 'react-date-range/dist/styles.css';
1918
import 'react-date-range/dist/theme/default.css';
2019
import { showNotification } from '../../components/app-notification';
21-
import { copyText, getDate, getTime, logout } from '../../helpers/common.helper';
20+
import { getDate, getTime, logout } from '../../helpers/common.helper';
2221
import Prism from 'prismjs';
2322
import '../../scss/prism.scss';
2423
import '../../helpers/prism-line-plugin';
@@ -306,9 +305,9 @@ function DashboardPage() {
306305
</div>
307306

308307
<div>
309-
{/*<a target="_blank" href="https://getconvoy.io/docs" rel="noreferrer">
308+
<a target="_blank" href="https://getconvoy.io/docs" rel="noreferrer">
310309
Go to docs
311-
</a>*/}
310+
</a>
312311
{authDetails && (
313312
<button className="user" onClick={() => toggleShowDropdown(!showDropdown)}>
314313
<div>

web/ui/dashboard/src/services/https.service.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ request.interceptors.response.use(
1616
return response;
1717
},
1818
error => {
19-
if ((error.response.status === 401 || error.response.status === 400) && error.response.config.url !== '/auth/login') logout();
19+
if (error.response.status === 401 && error.response.config.url !== '/auth/login') logout();
2020
return Promise.reject(error);
2121
}
2222
);

0 commit comments

Comments
 (0)