Documentation ¶
Index ¶
- Constants
- type AWSConfiguration
- type AwsCredentials
- type AwsEC2ConnectDetails
- type AwsEc2DiscoveryPluginConfiguration
- type AwsEc2IdentityMetadata
- type AwsEcsDiscoveryPluginConfiguration
- type AwsRdsDiscoveryPluginConfiguration
- type AwsSSMDetails
- type BaseAwsPluginConfiguration
- type BaseDiscoveryPluginConfiguration
- type BaseUpstreamDetails
- type BasicCredentials
- type Border0CertificateDetails
- type BuiltInSshServerDetails
- type ConnectorMetadata
- type ConnectorServiceUpstreamConfig
- type DockerDiscoveryPluginConfiguration
- type KubernetesCredentials
- type KubernetesDiscoveryPluginConfiguration
- type NetworkDiscoveryPluginConfiguration
- type NetworkDiscoveryTarget
- type PluginConfiguration
- type SSHConfiguration
- type SSHPrivateKeyDetails
Constants ¶
const ( // PluginTypeAwsEc2Discovery is the plugin type for aws ec2 instance discovery. PluginTypeAwsEc2Discovery = "aws_ec2_discovery" // PluginTypeAwsEcsDiscovery is the plugin type for aws ecs cluster discovery. PluginTypeAwsEcsDiscovery = "aws_ecs_discovery" // PluginTypeAwsRdsDiscovery is the plugin type for aws rds db instance discovery. PluginTypeAwsRdsDiscovery = "aws_rds_discovery" // PluginTypeDockerDiscovery is the plugin type for docker container discovery. PluginTypeDockerDiscovery = "docker_discovery" // PluginTypeKubernetesDiscovery is the plugin type for kubernetes pod discovery. PluginTypeKubernetesDiscovery = "kubernetes_discovery" // PluginTypeNetworkDiscovery is the plugin type for network service discovery. PluginTypeNetworkDiscovery = "network_discovery" )
const ( // UpstreamConnectionTypeSSH represents a SSH type of upstream connection. UpstreamConnectionTypeSSH = "ssh" // UpstreamConnectionTypeAwsEC2Connection represents a AWS EC2 Connect type of upstream connection. UpstreamConnectionTypeAwsEC2Connection = "aws_ec2_connect" // UpstreamConnectionTypeAwsSSM represents a AWS SSM type of upstream connection. UpstreamConnectionTypeAwsSSM = "aws_ssm" // UpstreamConnectionTypeBuiltInSshServer represents the Border0 built-in SSH server. UpstreamConnectionTypeBuiltInSshServer = "built_in_ssh_server" // UpstreamConnectionTypeDatabase represents a database type of upstream connection. UpstreamConnectionTypeDatabase = "database" )
const ( // UpstreamAuthenticationTypeUsernamePassword represents a username password type of upstream authentication. UpstreamAuthenticationTypeUsernamePassword = "username_password" // UpstreamAuthenticationTypeBorder0Cert represents a Border0 certificate type of upstream authentication. UpstreamAuthenticationTypeBorder0Cert = "border0_cert" // UpstreamAuthenticationTypeSSHPrivateKey represents a SSH private key type of upstream authentication. UpstreamAuthenticationTypeSSHPrivateKey = "ssh_private_key" )
Upstream authentication type constants.
const ( // UsernameProviderPromptClient specifies that the username will be prompted-for to clients. UsernameProviderPromptClient = "prompt_client" // UsernameProviderUseConnectorUser specifies that the username will be derived from the connector's user. UsernameProviderUseConnectorUser = "use_connector_user" // UsernameProviderDefined specifies that the username will be defined in the socket upstream data by admins. UsernameProviderDefined = "defined" )
Built-in ssh server username provider constants.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSConfiguration ¶ added in v0.1.6
type AWSConfiguration struct { // Region of the AWS configuration. Region string `json:"region"` // InstanceID of the AWS configuration. InstanceID string `json:"instance_id"` // AwsCredentials are optional and represent AWS credentials for the configuration. AwsCredentials *AwsCredentials `json:"aws_credentials,omitempty"` }
AWSConfiguration represents an AWS configuration for upstream connection.
type AwsCredentials ¶
type AwsCredentials struct { AwsProfile *string `json:"aws_profile,omitempty"` AwsAccessKeyId *string `json:"aws_access_key_id,omitempty"` AwsSecretAccessKey *string `json:"aws_secret_access_key,omitempty"` AwsSessionToken *string `json:"aws_session_token,omitempty"` }
AwsCredentials represents credentials and configuration for authenticating against AWS APIs.
type AwsEC2ConnectDetails ¶ added in v0.1.11
type AwsEC2ConnectDetails struct {
AWSConfiguration
}
AwsCredentials represents AWS EC2 Connect details
type AwsEc2DiscoveryPluginConfiguration ¶
type AwsEc2DiscoveryPluginConfiguration struct { BaseAwsPluginConfiguration // extends BaseDiscoveryPluginConfiguration // extends IncludeWithStates []string `json:"include_with_states,omitempty"` IncludeWithTags map[string][]string `json:"include_with_tags,omitempty"` ExcludeWithTags map[string][]string `json:"exclude_with_tags,omitempty"` CheckSsmStatus bool `json:"check_ssm_status"` }
AwsEc2DiscoveryPluginConfiguration represents configuration for the aws_ec2_discovery plugin.
type AwsEc2IdentityMetadata ¶ added in v0.1.18
type AwsEc2IdentityMetadata struct { AwsAccountId string `json:"aws_account_id,omitempty"` AwsRegion string `json:"aws_region,omitempty"` AwsAvailabilityZone string `json:"aws_availability_zone,omitempty"` Ec2InstanceId string `json:"ec2_instance_id,omitempty"` Ec2InstanceType string `json:"ec2_instance_type,omitempty"` Ec2ImageId string `json:"ec2_image_id,omitempty"` KernelId string `json:"kernel_id,omitempty"` RamdiskId string `json:"ramdisk_id,omitempty"` Architecture string `json:"architecture,omitempty"` PrivateIpAddress string `json:"private_ip_address,omitempty"` }
AwsEc2IdentityMetadata represents metadata for connectors running on AWS EC2 instances.
type AwsEcsDiscoveryPluginConfiguration ¶
type AwsEcsDiscoveryPluginConfiguration struct { BaseAwsPluginConfiguration // extends BaseDiscoveryPluginConfiguration // extends IncludeWithTags map[string][]string `json:"include_with_tags,omitempty"` ExcludeWithTags map[string][]string `json:"exclude_with_tags,omitempty"` }
AwsEcsDiscoveryPluginConfiguration represents configuration for the aws_ecs_discovery plugin.
type AwsRdsDiscoveryPluginConfiguration ¶
type AwsRdsDiscoveryPluginConfiguration struct { BaseAwsPluginConfiguration // extends BaseDiscoveryPluginConfiguration // extends IncludeWithStatuses []string `json:"include_with_statuses,omitempty"` IncludeWithTags map[string][]string `json:"include_with_tags,omitempty"` ExcludeWithTags map[string][]string `json:"exclude_with_tags,omitempty"` }
AwsRdsDiscoveryPluginConfiguration represents configuration for the aws_rds_discovery plugin.
type AwsSSMDetails ¶ added in v0.1.11
type AwsSSMDetails struct {
AWSConfiguration
}
AwsCredentials represents AWS SSM details
type BaseAwsPluginConfiguration ¶
type BaseAwsPluginConfiguration struct { AwsCredentials *AwsCredentials `json:"aws_credentials,omitempty"` AwsRegions []string `json:"aws_regions,omitempty"` }
BaseAwsPluginConfiguration represents configuration fields shared across all AWS related plugins.
type BaseDiscoveryPluginConfiguration ¶
type BaseDiscoveryPluginConfiguration struct {
ScanIntervalMinutes uint32 `json:"scan_interval_minutes"`
}
BaseDiscoveryPluginConfiguration represents configuration fields shared across all discovery related plugins.
type BaseUpstreamDetails ¶ added in v0.1.6
type BaseUpstreamDetails struct { // Hostname of the upstream connection. Hostname string `json:"hostname"` // Port of the upstream connection. Port int `json:"port"` }
BaseUpstreamDetails represents basic details of an upstream connection.
type BasicCredentials ¶ added in v0.1.6
type BasicCredentials struct { // Username for the credentials. Username string `json:"username,omitempty"` // Password for the credentials. Password string `json:"password,omitempty"` }
BasicCredentials represents a basic username-password pair.
type Border0CertificateDetails ¶ added in v0.1.21
type Border0CertificateDetails struct {
Username string `json:"username,omitempty"`
}
Border0CertificateDetails represents details of a Border0 certificate.
type BuiltInSshServerDetails ¶ added in v0.1.23
type BuiltInSshServerDetails struct { UsernameProvider string `json:"username_provider,omitempty"` Username string `json:"username,omitempty"` }
BuiltInSshServerDetails represents details to use for a built-in ssh server socket.
type ConnectorMetadata ¶ added in v0.1.18
type ConnectorMetadata struct {
AwsEc2IdentityMetadata *AwsEc2IdentityMetadata `json:"aws_ec2_identity_metadata,omitempty"`
}
ConnectorMetadata represents informational data about a connector.
type ConnectorServiceUpstreamConfig ¶ added in v0.1.6
type ConnectorServiceUpstreamConfig struct { // BaseUpstreamDetails contains basic details of the upstream connection. BaseUpstreamDetails // UpstreamConnectionType specifies the type of the upstream connection. UpstreamConnectionType string `json:"upstream_connection_type"` // SSHConfiguration is optional and represents a configuration for a SSH connection. SSHConfiguration *SSHConfiguration `json:"ssh_configuration,omitempty"` // DatabaseConfiguration is optional and represents a configuration for a database connection. DatabaseConfiguration *service.DatabaseServiceConfiguration `json:"database_service_configuration,omitempty"` }
ConnectorServiceUpstreamConfig represents a configuration of a connector service upstream.
type DockerDiscoveryPluginConfiguration ¶
type DockerDiscoveryPluginConfiguration struct { BaseDiscoveryPluginConfiguration // extends IncludeWithLabels map[string][]string `json:"include_with_labels,omitempty"` ExcludeWithLabels map[string][]string `json:"exclude_with_labels,omitempty"` }
DockerDiscoveryPluginConfiguration represents configuration for the docker_discovery plugin.
type KubernetesCredentials ¶ added in v0.1.7
type KubernetesCredentials struct { MasterUrl *string `json:"master_url,omitempty"` KubeconfigPath *string `json:"kubeconfig_path,omitempty"` }
KubernetesCredentials represents credentials and configuration for authenticating against a Kubernetes API.
type KubernetesDiscoveryPluginConfiguration ¶
type KubernetesDiscoveryPluginConfiguration struct { BaseDiscoveryPluginConfiguration // extends KubernetesCredentials *KubernetesCredentials `json:"kubernetes_credentials,omitempty"` Namespaces []string `json:"namespaces,omitempty"` IncludeWithLabels map[string][]string `json:"include_with_labels,omitempty"` ExcludeWithLabels map[string][]string `json:"exclude_with_labels,omitempty"` }
KubernetesDiscoveryPluginConfiguration represents configuration for the kubernetes_discovery plugin.
type NetworkDiscoveryPluginConfiguration ¶
type NetworkDiscoveryPluginConfiguration struct { BaseDiscoveryPluginConfiguration // extends Targets []NetworkDiscoveryTarget `json:"targets"` }
NetworkDiscoveryPluginConfiguration represents configuration for the network_discovery plugin.
type NetworkDiscoveryTarget ¶ added in v0.1.14
NetworkDiscoveryTarget represents a single target and configuration for the network_discovery plugin.
type PluginConfiguration ¶
type PluginConfiguration struct { AwsEc2DiscoveryPluginConfiguration *AwsEc2DiscoveryPluginConfiguration `json:"aws_ec2_discovery_plugin_configuration,omitempty"` AwsEcsDiscoveryPluginConfiguration *AwsEcsDiscoveryPluginConfiguration `json:"aws_ecs_discovery_plugin_configuration,omitempty"` AwsRdsDiscoveryPluginConfiguration *AwsRdsDiscoveryPluginConfiguration `json:"aws_rds_discovery_plugin_configuration,omitempty"` DockerDiscoveryPluginConfiguration *DockerDiscoveryPluginConfiguration `json:"docker_discovery_plugin_configuration,omitempty"` KubernetesDiscoveryPluginConfiguration *KubernetesDiscoveryPluginConfiguration `json:"kubernetes_discovery_plugin_configuration,omitempty"` NetworkDiscoveryPluginConfiguration *NetworkDiscoveryPluginConfiguration `json:"network_discovery_plugin_configuration,omitempty"` }
PluginConfiguration represents configuration for a Border0 connector plugin.
type SSHConfiguration ¶ added in v0.1.6
type SSHConfiguration struct { // UpstreamAuthenticationType specifies the type of authentication for the SSH connection. UpstreamAuthenticationType string `json:"upstream_authentication_type,omitempty"` // AwsSSMDetails are optional and represent AWS SSM details for SSH connection. AwsSSMDetails *AwsSSMDetails `json:"aws_ssm_details,omitempty"` // AwsEC2ConnectDetails are optional and represent AWS EC2 Connect details for SSH connection. AwsEC2ConnectDetails *AwsEC2ConnectDetails `json:"aws_ec2_connect_details,omitempty"` // SSHPrivateKeyDetails are optional and represent a private key details for SSH connection. SSHPrivateKeyDetails *SSHPrivateKeyDetails `json:"ssh_private_key_details,omitempty"` // Border0 cert is optional and represents a Border0 certificate for SSH connection. Border0CertificateDetails *Border0CertificateDetails `json:"border0_certificate_details,omitempty"` // BuiltInSshServerDetails is optional and represents details for a built-in ssh server ssh connection. BuiltInSshServerDetails *BuiltInSshServerDetails `json:"built_in_ssh_server_details,omitempty"` // BasicCredentials are optional and represent a username-password pair for SSH connection. BasicCredentials *BasicCredentials `json:"basic_credentials,omitempty"` }
SSHConfiguration represents a configuration for a SSH connection.
type SSHPrivateKeyDetails ¶ added in v0.1.6
type SSHPrivateKeyDetails struct { // Key is the SSH private key. Key string `json:"key"` // Username is the SSH username Username string `json:"username,omitempty"` }
SSHPrivateKeyDetails represents details of a SSH private key.