Documentation ¶
Index ¶
Constants ¶
View Source
const ( // Secret storage with global scope can be accessed by all projects GlobalSecretStorageScope SecretStorageScope = "global" // Secret storage with project scope can only be accessed by the project that it belongs to ProjectSecretStorageScope SecretStorageScope = "project" // InternalSecretStorageType secret storage stores secret in the MLP database InternalSecretStorageType SecretStorageType = "internal" // VaultSecretStorageType secret storage stores secret in a Vault instance VaultSecretStorageType SecretStorageType = "vault" // Use gcp authentication method to communicate with Vault // https://developer.hashicorp.com/vault/docs/auth/gcp GCPAuthMethod AuthMethod = "gcp" // Use gce authentication method to communicate with Vault // https://developer.hashicorp.com/vault/docs/auth/gcp#gce-login GCEGCPAuthType GCPAuthType = "gce" // Use iam authentication method to communicate with Vault // https://developer.hashicorp.com/vault/docs/auth/gcp#iam-login IAMGCPAuthType GCPAuthType = "iam" // Use token authentication method to communicate with Vault // Only use this method when Vault is running in dev mode TokenAuthMethod AuthMethod = "token" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct { ID ID `json:"id"` Name string `json:"name"` Description string `json:"description"` Href string `json:"href"` IconName string `json:"icon" gorm:"column:icon"` UseProjects bool `json:"use_projects"` IsInBeta bool `json:"is_in_beta"` IsDisabled bool `json:"is_disabled"` Config *ApplicationConfig `json:"config"` }
type ApplicationConfig ¶
type ApplicationConfig struct {
Sections []ApplicationSection `json:"sections"`
}
func (*ApplicationConfig) Scan ¶
func (c *ApplicationConfig) Scan(value interface{}) error
type ApplicationSection ¶
func (*ApplicationSection) Scan ¶
func (c *ApplicationSection) Scan(value interface{}) error
type AuthMethod ¶ added in v1.8.0
type AuthMethod string
AuthMethod is the authentication type to be used when communicating with Vault
type CreatedUpdated ¶
type GCPAuthType ¶ added in v1.8.0
type GCPAuthType string
GCPAuthType is the GCP authentication type to be used when communicating with Vault
type Project ¶
type Project struct { ID ID `json:"id"` Name string `json:"name" validate:"required,min=3,max=50,subdomain_rfc1123"` // nolint:lll // Next line is 121 characters (lll) MLFlowTrackingURL string `json:"mlflow_tracking_url" gorm:"column:mlflow_tracking_url" validate:"omitempty,url"` Administrators pq.StringArray `json:"administrators" gorm:"column:administrators;type:varchar(256)[]"` Readers pq.StringArray `json:"readers" gorm:"column:readers;type:varchar(256)[]"` Team string `json:"team" validate:"required,min=1,max=64"` Stream string `json:"stream" validate:"required,min=1,max=64"` Labels Labels `json:"labels,omitempty" gorm:"column:labels"` CreatedUpdated }
type Secret ¶
type Secret struct { // ID is the unique identifier of the secret ID ID `json:"id"` // ProjectID is the unique identifier of the project ProjectID ID `json:"project_id"` // Project is the project of the secret Project *Project `json:"-"` // Name is the name of the secret Name string `json:"name"` // Data is secret value Data string `json:"data"` // SecretStorageID is the unique identifier of the secret storage for storing the secret SecretStorageID *ID `json:"secret_storage_id,omitempty"` // SecretStorage is the secret storage for storing the secret SecretStorage *SecretStorage `json:"secret_storage,omitempty"` // CreatedUpdated is the timestamp of the secret creation and update CreatedUpdated }
Secret represents user defined secret
func (*Secret) CopyValueFrom ¶
func (*Secret) IsValidForInsertion ¶
func (*Secret) IsValidForMutation ¶
type SecretStorage ¶ added in v1.8.0
type SecretStorage struct { // ID is the unique identifier of the secret storage ID ID `json:"id"` // Name is the name of the secret storage Name string `json:"name"` // Type is the type of the secret storage Type SecretStorageType `json:"type"` // Scope of the secret storage, it can be either "global" or "project" Scope SecretStorageScope `json:"scope"` // ProjectID is the ID of the project that the secret storage belongs to when the scope is "project" ProjectID *ID `json:"project_id,omitempty"` // Project is the project that the secret storage belongs to when the scope is "project" Project *Project `json:"-"` // Config is type-specific secret storage configuration Config SecretStorageConfig `json:"config,omitempty"` // CreatedUpdated is the timestamp of the creation and last update of the secret storage CreatedUpdated }
SecretStorage represents the external secret storage service for storing a secret
func (*SecretStorage) MergeValue ¶ added in v1.8.0
func (s *SecretStorage) MergeValue(other *SecretStorage) error
func (*SecretStorage) ValidateForCreation ¶ added in v1.8.0
func (s *SecretStorage) ValidateForCreation() error
func (*SecretStorage) ValidateForMutation ¶ added in v1.8.0
func (s *SecretStorage) ValidateForMutation() error
type SecretStorageConfig ¶ added in v1.8.0
type SecretStorageConfig struct { // VaultConfig is the configuration of the Vault secret storage. // This field is populated when the type is "vault" VaultConfig *VaultConfig `json:"vault_config,omitempty"` }
func (*SecretStorageConfig) Scan ¶ added in v1.8.0
func (c *SecretStorageConfig) Scan(value interface{}) error
type SecretStorageScope ¶ added in v1.8.0
type SecretStorageScope string
SecretStorageScope is the scope of the secret storage
type SecretStorageType ¶ added in v1.8.0
type SecretStorageType string
SecretStorageType is the type of the secret storage
type VaultConfig ¶ added in v1.8.0
type VaultConfig struct { // Vault URL URL string `json:"url"` // Role to be used when communicating with Vault Role string `json:"role"` // MountPath is the path of the secret storage in Vault MountPath string `json:"mount_path"` // PathPrefix is the prefix of the path of the secret in Vault PathPrefix string `json:"path_prefix"` // AuthMethod is the authentication method to be used when communicating with Vault AuthMethod AuthMethod `json:"auth_method"` // GCPAuthType is the GCP authentication type to be used when communicating with Vault. // The value can be either "iam" or "gce" GCPAuthType GCPAuthType `json:"gcp_auth_type,omitempty"` // Token is the token to be used when communicating with Vault // This field is only used when the auth method is "token" // Only use this method when Vault is running in dev mode Token string `json:"token,omitempty"` // ServiceAccountEmail is the service account email to be used when communicating with Vault // This field is only used when the AuthMethod is "gcp" and GCPAuthType is "iam" ServiceAccountEmail string `json:"service_account_email"` }
VaultConfig is the configuration of the Vault secret storage
Click to show internal directories.
Click to hide internal directories.