zrok/controller/zrokEdgeSdk/client.go
2023-05-25 13:59:39 -05:00

26 lines
628 B
Go

package zrokEdgeSdk
import (
"crypto/x509"
"github.com/openziti/edge-api/rest_management_api_client"
"github.com/openziti/edge-api/rest_util"
)
type Config struct {
ApiEndpoint string
Username string
Password string `cf:"+secret"`
}
func Client(cfg *Config) (*rest_management_api_client.ZitiEdgeManagement, error) {
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)
}