Documentation
¶
Index ¶
Constants ¶
const (
SecuritySecretStoreSetupServiceKey = "security-secretstore-setup"
)
const (
Vault = "vault"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BootstrapConfiguration ¶
type BootstrapConfiguration struct {
Clients *ClientsCollection
Service *ServiceInfo
}
BootstrapConfiguration defines the configuration elements required by the bootstrap.
type ClientInfo ¶
type ClientInfo struct {
// Host is the hostname or IP address of a service.
Host string
// Port defines the port on which to access a given service
Port int
// Protocol indicates the protocol to use when accessing a given service
Protocol string
// UseMessageBus indicates weather to use Messaging version of client
UseMessageBus bool
// SecurityOptions is a key/value map, used for configuring clients. Currently used for zero trust but
// could be for other options additional security related configuration
SecurityOptions map[string]string
}
ClientInfo provides the host and port of another service in the eco-system.
func (ClientInfo) Url ¶
func (c ClientInfo) Url() string
type ClientsCollection ¶
type ClientsCollection map[string]*ClientInfo
ClientsCollection is a collection of Client information for communicating to dependent clients.
func NewSecretStoreSetupClientInfo ¶
func NewSecretStoreSetupClientInfo() *ClientsCollection
type GeneralConfiguration ¶
type GeneralConfiguration struct {
LogLevel string
Service ServiceInfo
SecretStore SecretStoreInfo
InsecureSecrets InsecureSecrets
}
func (*GeneralConfiguration) GetBootstrap ¶
func (c *GeneralConfiguration) GetBootstrap() BootstrapConfiguration
GetBootstrap returns the configuration elements required by the bootstrap.
func (*GeneralConfiguration) GetInsecureSecrets ¶
func (c *GeneralConfiguration) GetInsecureSecrets() InsecureSecrets
GetInsecureSecrets gets the config.InsecureSecrets field from the ConfigurationStruct.
func (*GeneralConfiguration) GetLogLevel ¶
func (c *GeneralConfiguration) GetLogLevel() string
GetLogLevel returns the current ConfigurationStruct's log level.
type InsecureSecrets ¶
type InsecureSecrets map[string]InsecureSecretsInfo
InsecureSecrets is used to hold the secrets stored in the configuration
type InsecureSecretsInfo ¶
InsecureSecretsInfo encapsulates info used to retrieve insecure secrets
type SecretStoreInfo ¶
type SecretStoreInfo struct {
Type string
Host string
Port int
StoreName string
Protocol string
Namespace string
RootCaCertPath string
ServerName string
Authentication types.AuthenticationInfo
// TokenFile provides a location to a token file.
TokenFile string
// SecretsFile is optional Path to JSON file containing secrets to seed into service's SecretStore
SecretsFile string
// DisableScrubSecretsFile specifies to not scrub secrets file after importing. Service will fail start-up if
// not disabled and file can not be written.
DisableScrubSecretsFile bool
}
SecretStoreInfo encapsulates configuration properties used to create a SecretClient.
func NewSecretStoreInfo ¶
func NewSecretStoreInfo(serviceKey string) SecretStoreInfo
type SecretsSetupInfo ¶
type SecretsSetupInfo struct {
// CertConfig is used for auto-generating the TLS certificates when user didn't specify the TLS_KEY_PATH and TLS_CERT_PATH
CertConfig string
// CertOutputDir indicates the folder for auto-generated TLS certificates
CertOutputDir string
}
SecretsSetupInfo encapsulates the configuration used to auto-generate TLS certificates This is not a general config for all services. Only services that require auto-generated TLS certificates need this config.
type ServiceInfo ¶
type ServiceInfo struct {
// Host is the hostname or IP address of the service.
Host string
// Port is the HTTP port of the service.
Port int
// ServerBindAddr specifies an IP address or hostname
// for ListenAndServe to bind to, such as 0.0.0.0
ServerBindAddr string
// StartupMsg specifies a string to log once service
// initialization and startup is completed.
StartupMsg string
// MaxResultCount specifies the maximum size list supported
// in response to REST calls to other services.
MaxResultCount int
// MaxRequestSize defines the maximum size of http request body in kilobytes
MaxRequestSize int64
// RequestTimeout specifies a timeout (in ISO8601 format) for
// processing REST request calls from other services.
RequestTimeout string
}
ServiceInfo contains configuration settings necessary for the basic operation of any Edge service.