Make more configurable
This commit is contained in:
@@ -67,7 +67,7 @@ func newServer() (*http.Server, error) {
|
|||||||
"HUB_SERVER_KEY_FILE": "",
|
"HUB_SERVER_KEY_FILE": "",
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, _ := range requiredVars {
|
for k := range requiredVars {
|
||||||
val, isSet := os.LookupEnv(k)
|
val, isSet := os.LookupEnv(k)
|
||||||
if !isSet {
|
if !isSet {
|
||||||
return nil, fmt.Errorf("hub: required environment variable is unset: %s", k)
|
return nil, fmt.Errorf("hub: required environment variable is unset: %s", k)
|
||||||
|
|||||||
@@ -8,10 +8,13 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var HUB_BASE_URL string = ""
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
logger := log.New(os.Stdout, "main: ", log.LstdFlags|log.Lshortfile)
|
logger := log.New(os.Stdout, "main: ", log.LstdFlags|log.Lshortfile)
|
||||||
|
|
||||||
@@ -39,10 +42,25 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func HubClient() (*http.Client, error) {
|
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 {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to open ca cert: %w", err)
|
return nil, fmt.Errorf("failed to open ca cert: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
caCert, err := io.ReadAll(caFile)
|
caCert, err := io.ReadAll(caFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to read the ca cert: %w", err)
|
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 := x509.NewCertPool()
|
||||||
pool.AppendCertsFromPEM(caCert)
|
pool.AppendCertsFromPEM(caCert)
|
||||||
|
|
||||||
certPath := "./certs/app1.pem"
|
certPath := requiredVars["SPOKE_AGENT_CERT_FILE"]
|
||||||
keyPath := "./certs/app1-key.pem"
|
keyPath := requiredVars["SPOKE_AGENT_KEY_FILE"]
|
||||||
|
|
||||||
cert, err := tls.LoadX509KeyPair(certPath, keyPath)
|
cert, err := tls.LoadX509KeyPair(certPath, keyPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -68,11 +86,17 @@ func HubClient() (*http.Client, error) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HUB_BASE_URL = requiredVars["HUB_SERVER_URL"]
|
||||||
return client, nil
|
return client, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getCurrentState(client *http.Client, logger *log.Logger) string {
|
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 {
|
if err != nil {
|
||||||
logger.Fatalf("registration failed: %v", err)
|
logger.Fatalf("registration failed: %v", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user