Make more configurable
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user