Add nginx exec

This commit is contained in:
Jamie Curnow
2022-07-15 14:26:12 +10:00
parent b8008606fd
commit 5b6dbaf43e
6 changed files with 101 additions and 14 deletions

View File

@ -10,6 +10,8 @@ import (
"npm/internal/api/middleware"
"npm/internal/api/schema"
"npm/internal/entity/certificate"
"npm/internal/jobqueue"
"npm/internal/logger"
)
// GetCertificates will return a list of Certificates
@ -73,6 +75,8 @@ func CreateCertificate() func(http.ResponseWriter, *http.Request) {
return
}
configureCertificate(newCertificate)
h.ResultResponseJSON(w, r, http.StatusOK, newCertificate)
}
}
@ -119,6 +123,8 @@ func UpdateCertificate() func(http.ResponseWriter, *http.Request) {
return
}
configureCertificate(certificateObject)
h.ResultResponseJSON(w, r, http.StatusOK, certificateObject)
}
}
@ -143,3 +149,13 @@ func DeleteCertificate() func(http.ResponseWriter, *http.Request) {
}
}
}
func configureCertificate(c certificate.Model) {
err := jobqueue.AddJob(jobqueue.Job{
Name: "RequestCertificate",
Action: c.Request,
})
if err != nil {
logger.Error("ConfigureCertificateError", err)
}
}

View File

@ -9,6 +9,9 @@ import (
h "npm/internal/api/http"
"npm/internal/api/middleware"
"npm/internal/entity/host"
"npm/internal/jobqueue"
"npm/internal/logger"
"npm/internal/nginx"
"npm/internal/validator"
)
@ -80,6 +83,8 @@ func CreateHost() func(http.ResponseWriter, *http.Request) {
return
}
configureHost(newHost)
h.ResultResponseJSON(w, r, http.StatusOK, newHost)
}
}
@ -114,6 +119,8 @@ func UpdateHost() func(http.ResponseWriter, *http.Request) {
// nolint: errcheck,gosec
hostObject.Expand(getExpandFromContext(r))
configureHost(hostObject)
h.ResultResponseJSON(w, r, http.StatusOK, hostObject)
}
}
@ -138,3 +145,15 @@ func DeleteHost() func(http.ResponseWriter, *http.Request) {
}
}
}
func configureHost(h host.Model) {
err := jobqueue.AddJob(jobqueue.Job{
Name: "NginxConfigureHost",
Action: func() error {
return nginx.ConfigureHost(h)
},
})
if err != nil {
logger.Error("ConfigureHostError", err)
}
}