Skip to content

Commit 6ea2929

Browse files
oktalzmjuraga
authored andcommitted
CLEANUP/MINOR: always start and end certificate refresh go routine
1 parent d68c44c commit 6ea2929

File tree

1 file changed

+29
-26
lines changed

1 file changed

+29
-26
lines changed

configuration/cluster_sync.go

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,7 @@ func (c *ClusterSync) Monitor(cfg *Configuration, cli *client_native.HAProxyClie
8383
c.cli = cli
8484

8585
go c.monitorBootstrapKey()
86-
if c.cfg.Mode.Load() == "cluster" {
87-
go c.monitorCertificateRefresh()
88-
}
86+
go c.monitorCertificateRefresh()
8987

9088
c.certFetch = make(chan struct{}, 2)
9189
go c.fetchCert()
@@ -100,31 +98,36 @@ func (c *ClusterSync) Monitor(cfg *Configuration, cli *client_native.HAProxyClie
10098
}
10199

102100
func (c *ClusterSync) monitorCertificateRefresh() {
103-
for range c.cfg.Notify.CertificateRefresh.Subscribe("monitorCertificateRefresh") {
104-
log.Info("refreshing certificate")
101+
for {
102+
select {
103+
case <-c.cfg.Notify.CertificateRefresh.Subscribe("monitorCertificateRefresh"):
104+
log.Info("refreshing certificate")
105105

106-
key := c.cfg.Cluster.BootstrapKey.Load()
107-
data, err := DecodeBootstrapKey(key)
108-
if err != nil {
109-
log.Warning(err)
110-
continue
111-
}
112-
url := fmt.Sprintf("%s://%s", data["schema"], data["address"])
106+
key := c.cfg.Cluster.BootstrapKey.Load()
107+
data, err := DecodeBootstrapKey(key)
108+
if err != nil {
109+
log.Warning(err)
110+
continue
111+
}
112+
url := fmt.Sprintf("%s://%s", data["schema"], data["address"])
113113

114-
csr, key, err := generateCSR()
115-
if err != nil {
116-
log.Warning(err)
117-
continue
118-
}
119-
err = renameio.WriteFile(path.Join(c.cfg.GetClusterCertDir(), fmt.Sprintf("dataplane-%s-csr.crt", c.cfg.Name.Load())), []byte(csr), 0644)
120-
if err != nil {
121-
log.Warning(err)
122-
continue
123-
}
124-
err = c.issueRefreshRequest(url, data["port"], data["api-base-path"], data["path"], csr, key)
125-
if err != nil {
126-
log.Warning(err)
127-
continue
114+
csr, key, err := generateCSR()
115+
if err != nil {
116+
log.Warning(err)
117+
continue
118+
}
119+
err = renameio.WriteFile(path.Join(c.cfg.GetClusterCertDir(), fmt.Sprintf("dataplane-%s-csr.crt", c.cfg.Name.Load())), []byte(csr), 0644)
120+
if err != nil {
121+
log.Warning(err)
122+
continue
123+
}
124+
err = c.issueRefreshRequest(url, data["port"], data["api-base-path"], data["path"], csr, key)
125+
if err != nil {
126+
log.Warning(err)
127+
continue
128+
}
129+
case <-c.Context.Done():
130+
return
128131
}
129132
}
130133
}

0 commit comments

Comments
 (0)