Make more configurable

This commit is contained in:
2023-07-07 23:51:55 -04:00
parent f6a8a59ecf
commit a40fc162ff
2 changed files with 29 additions and 5 deletions

View File

@@ -67,7 +67,7 @@ func newServer() (*http.Server, error) {
"HUB_SERVER_KEY_FILE": "",
}
for k, _ := range requiredVars {
for k := range requiredVars {
val, isSet := os.LookupEnv(k)
if !isSet {
return nil, fmt.Errorf("hub: required environment variable is unset: %s", k)

View File

@@ -8,10 +8,13 @@ import (
"io"
"log"
"net/http"
"net/url"
"os"
"time"
)
var HUB_BASE_URL string = ""
func main() {
logger := log.New(os.Stdout, "main: ", log.LstdFlags|log.Lshortfile)
@@ -39,10 +42,25 @@ func main() {
}
func HubClient() (*http.Client, error) {
caFile, err := os.Open("./certs/ca.pem")
requiredVars := map[string]string{
"SPOKE_AGENT_CA_CERT_FILE": "",
"SPOKE_AGENT_CERT_FILE": "",
"SPOKE_AGENT_KEY_FILE": "",
"HUB_SERVER_URL": "",
}
for k := range requiredVars {
val, isSet := os.LookupEnv(k)
if !isSet {
return nil, fmt.Errorf("spoke agent: required environment variables is unset: %s", k)
}
requiredVars[k] = val
}
caFile, err := os.Open(requiredVars["SPOKE_AGENT_CA_CERT_FILE"])
if err != nil {
return nil, fmt.Errorf("failed to open ca cert: %w", err)
}
caCert, err := io.ReadAll(caFile)
if err != nil {
return nil, fmt.Errorf("failed to read the ca cert: %w", err)
@@ -51,8 +69,8 @@ func HubClient() (*http.Client, error) {
pool := x509.NewCertPool()
pool.AppendCertsFromPEM(caCert)
certPath := "./certs/app1.pem"
keyPath := "./certs/app1-key.pem"
certPath := requiredVars["SPOKE_AGENT_CERT_FILE"]
keyPath := requiredVars["SPOKE_AGENT_KEY_FILE"]
cert, err := tls.LoadX509KeyPair(certPath, keyPath)
if err != nil {
@@ -68,11 +86,17 @@ func HubClient() (*http.Client, error) {
},
}
HUB_BASE_URL = requiredVars["HUB_SERVER_URL"]
return client, nil
}
func getCurrentState(client *http.Client, logger *log.Logger) string {
resp, err := client.Post("https://example.net:3001/register", "application/json", nil)
reqURL, err := url.JoinPath(HUB_BASE_URL, "/register")
if err != nil {
logger.Fatalf("failed to setup register URL: %v", err)
}
resp, err := client.Post(reqURL, "application/json", nil)
if err != nil {
logger.Fatalf("registration failed: %v", err)
}