zrok/controller/zrokEdgeSdk/client.go

26 lines
628 B
Go
Raw Normal View History

2023-03-07 20:31:39 +01:00
package zrokEdgeSdk
import (
"crypto/x509"
2023-05-25 17:50:38 +02:00
"github.com/openziti/edge-api/rest_management_api_client"
"github.com/openziti/edge-api/rest_util"
2023-03-07 20:31:39 +01:00
)
type Config struct {
2023-03-07 20:31:39 +01:00
ApiEndpoint string
Username string
Password string `cf:"+secret"`
}
func Client(cfg *Config) (*rest_management_api_client.ZitiEdgeManagement, error) {
2023-03-07 20:31:39 +01:00
caCerts, err := rest_util.GetControllerWellKnownCas(cfg.ApiEndpoint)
if err != nil {
return nil, err
}
caPool := x509.NewCertPool()
for _, ca := range caCerts {
caPool.AddCert(ca)
}
return rest_util.NewEdgeManagementClientWithUpdb(cfg.Username, cfg.Password, cfg.ApiEndpoint, caPool)
}