config

package
v0.0.0-...-840a96b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 11, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Auth

type Auth struct {
	// Basic auth, which contains a username and a password,
	// +optional
	Basic *BasicAuth `json:"basic,omitempty" protobuf:"bytes,1,opt,name=basic"`
	// Token auth
	// +optional
	Token *corev1.SecretKeySelector `json:"token,omitempty" protobuf:"bytes,2,opt,name=token"`
	// NKey auth
	// +optional
	NKey *corev1.SecretKeySelector `json:"nkey,omitempty" protobuf:"bytes,3,opt,name=nkey"`
}

Auth represents the authentication information for the NATS client.

type BasicAuth

type BasicAuth struct {
	// Secret for auth user
	// +optional
	User *corev1.SecretKeySelector `json:"user,omitempty" protobuf:"bytes,1,opt,name=user"`
	// Secret for auth password
	// +optional
	Password *corev1.SecretKeySelector `json:"password,omitempty" protobuf:"bytes,2,opt,name=password"`
}

BasicAuth represents the basic authentication approach which contains a username and a password.

type Config

type Config struct {
	// URL to connect to NATS cluster, multiple urls could be separated by comma.
	URL string `json:"url" protobuf:"bytes,1,opt,name=url"`
	// Subject holds the name of the subject onto which messages are published.
	Subject string `json:"subject" protobuf:"bytes,2,opt,name=subject"`
	// Queue is used for queue subscription.
	Queue string `json:"queue" protobuf:"bytes,3,opt,name=queue"`
	// TLS configuration for the NATS client.
	// +optional
	TLS *TLS `json:"tls" protobuf:"bytes,4,opt,name=tls"`
	// Auth information
	// +optional
	Auth *Auth `json:"auth,omitempty" protobuf:"bytes,5,opt,name=auth"`
}

Config represents the configuration for the NATS client.

type JSONConfigParser

type JSONConfigParser struct{}

JSONConfigParser is a parser for JSON formatted configuration strings.

func (*JSONConfigParser) Parse

func (p *JSONConfigParser) Parse(configString string) (*Config, error)

func (*JSONConfigParser) UnParse

func (p *JSONConfigParser) UnParse(config *Config) (string, error)

type Parser

type Parser interface {
	Parse(configString string) (*Config, error)
	UnParse(config *Config) (string, error)
}

Parser is an interface that defines methods to parse and un-parse Config objects.

type TLS

type TLS struct {
	// +optional
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty" protobuf:"bytes,1,opt,name=insecureSkipVerify"`
	// CACertSecret refers to the secret that contains the CA cert
	// +optional
	CACertSecret *corev1.SecretKeySelector `json:"caCertSecret,omitempty" protobuf:"bytes,2,opt,name=caCertSecret"`
	// CertSecret refers to the secret that contains the cert
	// +optional
	CertSecret *corev1.SecretKeySelector `json:"clientCertSecret,omitempty" protobuf:"bytes,3,opt,name=certSecret"`
	// KeySecret refers to the secret that contains the key
	// +optional
	KeySecret *corev1.SecretKeySelector `json:"clientKeySecret,omitempty" protobuf:"bytes,4,opt,name=keySecret"`
}

TLS defines the TLS configuration for the NATS client.

type YAMLConfigParser

type YAMLConfigParser struct{}

YAMLConfigParser is a parser for YAML formatted configuration strings

func (*YAMLConfigParser) Parse

func (p *YAMLConfigParser) Parse(configString string) (*Config, error)

func (*YAMLConfigParser) UnParse

func (p *YAMLConfigParser) UnParse(config *Config) (string, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL