Documentation
¶
Index ¶
- func ParseCertificate(cert []byte) (*x509.Certificate, error)
- type AdminIdentity
- type AppRole
- type Aws
- type AwsSecretManager
- type AwsSecretManagerLogin
- type Azure
- type AzureCredentials
- type AzureKeyVault
- type Cache
- type CacheV2
- type Expiry
- type ExpiryV2
- type Fs
- type Gcp
- type GcpCredentials
- type GcpSecretManager
- type Gemalto
- type GemaltoCredentials
- type GemaltoKeySecure
- type GemaltoTLS
- type Identity
- type Keys
- type Log
- type Policy
- type PolicyV2
- type ServerConfigV1
- type ServerConfigV2
- type TLS
- type TLSProxy
- type TLSProxyHeader
- type Vault
- type VaultStatus
- type VaultTLS
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseCertificate ¶
func ParseCertificate(cert []byte) (*x509.Certificate, error)
ParseCertificate parses a certificate
Types ¶
type AdminIdentity ¶
type AdminIdentity struct {
Identity Identity `yaml:"identity,omitempty" json:"identity,omitempty"`
}
AdminIdentity of KES
type AppRole ¶
type AppRole struct {
EnginePath string `yaml:"engine,omitempty" json:"engine,omitempty"`
ID string `yaml:"id,omitempty" json:"id,omitempty"`
Secret string `yaml:"secret,omitempty" json:"secret,omitempty"`
Retry time.Duration `yaml:"retry,omitempty" json:"retry,omitempty"`
}
AppRole to be used
type Aws ¶
type Aws struct {
SecretsManager *AwsSecretManager `yaml:"secretsmanager,omitempty" json:"secretsmanager,omitempty"`
}
Aws kms configuration
type AwsSecretManager ¶
type AwsSecretManager struct {
Endpoint string `yaml:"endpoint,omitempty" json:"endpoint,omitempty"`
Region string `yaml:"region,omitempty" json:"region,omitempty"`
KmsKey string `yaml:"kmskey,omitempty" json:"kmskey,omitempty"`
Login *AwsSecretManagerLogin `yaml:"credentials,omitempty" json:"credentials,omitempty"`
}
AwsSecretManager endpoint configuration
type AwsSecretManagerLogin ¶
type AwsSecretManagerLogin struct {
AccessKey string `yaml:"accesskey" json:"accesskey"`
SecretKey string `yaml:"secretkey" json:"secretkey"`
SessionToken string `yaml:"token" json:"token"`
}
AwsSecretManagerLogin credentials
type Azure ¶
type Azure struct {
KeyVault *AzureKeyVault `yaml:"keyvault,omitempty" json:"keyvault,omitempty"`
}
Azure kms config
type AzureCredentials ¶
type AzureCredentials struct {
TenantID string `yaml:"tenant_id" json:"tenant_id"`
ClientID string `yaml:"client_id" json:"client_id"`
ClientSecret string `yaml:"client_secret" json:"client_secret"`
}
AzureCredentials credentials for the kms
type AzureKeyVault ¶
type AzureKeyVault struct {
Endpoint string `yaml:"endpoint,omitempty" json:"endpoint,omitempty"`
Credentials *AzureCredentials `yaml:"credentials,omitempty" json:"credentials,omitempty"`
}
AzureKeyVault endpoint config
type Cache ¶
type Cache struct {
Expiry *Expiry `yaml:"expiry,omitempty" json:"expiry,omitempty"`
}
Cache expiry config
type CacheV2 ¶
type CacheV2 struct {
Expiry *ExpiryV2 `yaml:"expiry,omitempty" json:"expiry,omitempty"`
}
CacheV2 expiry config Starting 2023-04-03T16-41-28Z
type Expiry ¶
type Expiry struct {
Any time.Duration `yaml:"any,omitempty" json:"any,omitempty"`
Unused time.Duration `yaml:"unused,omitempty" json:"unused,omitempty"`
}
Expiry expiration
type ExpiryV2 ¶
type ExpiryV2 struct {
Any time.Duration `yaml:"any,omitempty" json:"any,omitempty"`
Unused time.Duration `yaml:"unused,omitempty" json:"unused,omitempty"`
Offline time.Duration `yaml:"offline,omitempty" json:"offline,omitempty"`
}
ExpiryV2 expiration Starting 2023-04-03T16-41-28Z
type Fs ¶
type Fs struct {
Path string `yaml:"path,omitempty" json:"path,omitempty"`
}
Fs kes fs mode
type Gcp ¶
type Gcp struct {
SecretManager *GcpSecretManager `yaml:"secretmanager,omitempty" json:"secretmanager,omitempty"`
}
Gcp kms config
type GcpCredentials ¶
type GcpCredentials struct {
ClientEmail string `yaml:"client_email" json:"client_email"`
ClientID string `yaml:"client_id" json:"client_id"`
PrivateKeyID string `yaml:"private_key_id" json:"private_key_id"`
PrivateKey string `yaml:"private_key" json:"private_key"`
}
GcpCredentials credentials struct
type GcpSecretManager ¶
type GcpSecretManager struct {
ProjectID string `yaml:"project_id" json:"project_id"`
Endpoint string `yaml:"endpoint,omitempty" json:"endpoint,omitempty"`
Credentials *GcpCredentials `yaml:"credentials,omitempty" json:"credentials,omitempty"`
}
GcpSecretManager manager endpoint
type Gemalto ¶
type Gemalto struct {
KeySecure *GemaltoKeySecure `yaml:"keysecure,omitempty" json:"keysecure,omitempty"`
}
Gemalto kms config
type GemaltoCredentials ¶
type GemaltoCredentials struct {
Token string `yaml:"token,omitempty" json:"token,omitempty"`
Domain string `yaml:"domain,omitempty" json:"domain,omitempty"`
Retry time.Duration `yaml:"retry,omitempty" json:"retry,omitempty"`
}
GemaltoCredentials credentials
type GemaltoKeySecure ¶
type GemaltoKeySecure struct {
Endpoint string `yaml:"endpoint,omitempty" json:"endpoint,omitempty"`
Credentials *GemaltoCredentials `yaml:"credentials,omitempty" json:"credentials,omitempty"`
TLS *GemaltoTLS `yaml:"tls,omitempty" json:"tls,omitempty"`
}
GemaltoKeySecure token
type GemaltoTLS ¶
type GemaltoTLS struct {
CAPath string `yaml:"ca,omitempty"`
}
GemaltoTLS patch for CA cert
type Keys ¶
type Keys struct {
Fs *Fs `yaml:"fs,omitempty" json:"fs,omitempty"`
Vault *Vault `yaml:"vault,omitempty" json:"vault,omitempty"`
Aws *Aws `yaml:"aws,omitempty" json:"aws,omitempty"`
Gemalto *Gemalto `yaml:"gemalto,omitempty" json:"gemalto,omitempty"`
Gcp *Gcp `yaml:"gcp,omitempty" json:"gcp,omitempty"`
Azure *Azure `yaml:"azure,omitempty" json:"azure,omitempty"`
}
Keys type of kes key
type Log ¶
type Log struct {
Error string `yaml:"error,omitempty" json:"error,omitempty"`
Audit string `yaml:"audit,omitempty" json:"audit,omitempty"`
}
Log emitted by kes
type Policy ¶
type Policy struct {
Paths []string `yaml:"paths,omitempty" json:"paths,omitempty"`
Identities []Identity `yaml:"identities,omitempty" json:"identities,omitempty"`
}
Policy policy identities
type PolicyV2 ¶
type PolicyV2 struct {
Allow []string `yaml:"allow,omitempty" json:"paths,omitempty"`
Deny []string `yaml:"deny,omitempty" json:"deny,omitempty"`
Identities []Identity `yaml:"identities,omitempty" json:"identities,omitempty"`
}
PolicyV2 policy identities for KES Edge after release 2023-04-03T16-41-28Z
type ServerConfigV1 ¶
type ServerConfigV1 struct {
Addr string `yaml:"address,omitempty" json:"address,omitempty"`
Root Identity `yaml:"root,omitempty" json:"root,omitempty"`
TLS TLS `yaml:"tls,omitempty" json:"tls,omitempty"`
Policies map[string]Policy `yaml:"policy,omitempty" json:"policy,omitempty"`
Cache Cache `yaml:"cache,omitempty" json:"cache,omitempty"`
Log Log `yaml:"log,omitempty" json:"log,omitempty"`
Keys Keys `yaml:"keys,omitempty" json:"keys,omitempty"`
}
ServerConfigV1 holds the kes server config
func (ServerConfigV1) Marshal ¶
func (c ServerConfigV1) Marshal() ([]byte, error)
Marshal ServerConfigV1
type ServerConfigV2 ¶
type ServerConfigV2 struct {
Admin AdminIdentity `yaml:"admin,omitempty" json:"admin,omitempty"`
Addr string `yaml:"address,omitempty" json:"address,omitempty"`
TLS TLS `yaml:"tls,omitempty" json:"tls,omitempty"`
Policies map[string]PolicyV2 `yaml:"policy,omitempty" json:"policy,omitempty"`
Cache CacheV2 `yaml:"cache,omitempty" json:"cache,omitempty"`
Log Log `yaml:"log,omitempty" json:"log,omitempty"`
Keystore Keys `yaml:"keystore,omitempty" json:"keystore,omitempty"`
}
ServerConfigV2 holds the kes server config Starting 2023-04-03T16-41-28Z "keys" field changed to "keystore" for Edge And Admin is required
func (ServerConfigV2) Marshal ¶
func (c ServerConfigV2) Marshal() ([]byte, error)
Marshal ServerConfigV2
type TLS ¶
type TLS struct {
KeyPath string `yaml:"key,omitempty" json:"key,omitempty"`
CertPath string `yaml:"cert,omitempty" json:"cert,omitempty"`
Proxy *TLSProxy `yaml:"proxy,omitempty" json:"proxy,omitempty"`
}
TLS config
type TLSProxy ¶
type TLSProxy struct {
Identities *[]Identity `yaml:"identities,omitempty" json:"identities,omitempty"`
Header *TLSProxyHeader `yaml:"header,omitempty" json:"header,omitempty"`
}
TLSProxy proxy config
type TLSProxyHeader ¶
type TLSProxyHeader struct {
ClientCert string `yaml:"cert,omitempty"`
}
TLSProxyHeader headers for proxy
type Vault ¶
type Vault struct {
Endpoint string `yaml:"endpoint,omitempty" json:"endpoint,omitempty"`
EnginePath string `yaml:"engine,omitempty" json:"engine,omitempty"`
Namespace string `yaml:"namespace,omitempty" json:"namespace,omitempty"`
Prefix string `yaml:"prefix,omitempty" json:"prefix,omitempty"`
AppRole *AppRole `yaml:"approle,omitempty" json:"approle,omitempty"`
TLS *VaultTLS `yaml:"tls,omitempty" json:"tls,omitempty"`
Status *VaultStatus `yaml:"status,omitempty" json:"status,omitempty"`
}
Vault kms config
type VaultStatus ¶
VaultStatus ping config