markmonitorsftp

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 11, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//dfault cert algo
	DefaultCertAlgorithm = ""
	// default signature
	DefaultSignature = ""
	// default port
	DefaultHostPort = 22
	DefaultFileTTL  = time.Second * 600
)

Variables

This section is empty.

Functions

func ParseZoneData

func ParseZoneData(log *log.Entry, zoneLine string) string

Types

type MarkMonitorDNSService

type MarkMonitorDNSService interface {
	GetDomains(ctx context.Context) ([]string, error)
	GetDomain(ctx context.Context, domain string) (*registrar.Domain, error)
	GetTsigKey(ctx context.Context, domain string) (*dns.TSIGKey, error)
	GetServeAlgorithm(ctx context.Context, domain string) (string, error)
	GetMasterIPs(ctx context.Context) ([]string, error)
}

edgeDNSClient is a proxy interface of the MarkMonitor edgegrid configdns-v2 package that can be stubbed for testing.

type MarkMonitorSFTPConfig

type MarkMonitorSFTPConfig struct {
	MarkMonitorSFTPConfigPath       string
	MarkMonitorSshUser              string   `yaml:"markmonitor_ssh_user"`
	MarkMonitorSshPassword          string   `yaml:"markmonitor_ssh_password"`
	MarkMonitorSshHost              string   `yaml:"markmonitor_ssh_host"`
	MarkMonitorSshPort              int      `yaml:"markmonitor_ssh_port"`
	MarkMonitorSslCertAlgorithm     string   `yaml:"markmonitor_ssl_cert_algorithm"`
	MarkMonitorSslSignature         string   `yaml:"markmonitor_ssl_signature"`
	MarkMonitorSftpPktSize          int      `yaml:"markmonitor_sftp_pkt_size"`
	MarkMonitorMasterIPs            []string `yaml:"markmonitor_master_ips"`
	MarkMonitorDomainConfigFilePath string   `yaml:"markmonitor_registrar_domain_filepath"`
	MarkMonitorTempDomainFileFolder string   `yaml:"markmonitor_temp_file_folder"`
	MarkMonitorDomFileTTL           string   `yaml:"markmonitor_domain_file_ttle"` // in seconds
}

type MarkMonitorSFTPRegistrar

type MarkMonitorSFTPRegistrar struct {
	registrar.BaseRegistrarProvider
	// contains filtered or unexported fields
}

MarkMonitorSFTPRegistrar implements the DNS registrar for Mark Monitor SFTP.

func NewMarkMonitorSFTPRegistrar

func NewMarkMonitorSFTPRegistrar(ctx context.Context, mmConfig MarkMonitorSFTPConfig, sftpService SFTPDNSService) (*MarkMonitorSFTPRegistrar, error)

NewMarkMonitorProvider initializes a new MarkMonitor DNS based Provider.

func (*MarkMonitorSFTPRegistrar) GetDomain

func (mm *MarkMonitorSFTPRegistrar) GetDomain(ctx context.Context, domain string) (*registrar.Domain, error)

func (*MarkMonitorSFTPRegistrar) GetDomains

func (mm *MarkMonitorSFTPRegistrar) GetDomains(ctx context.Context) ([]string, error)

func (*MarkMonitorSFTPRegistrar) GetMasterIPs

func (mm *MarkMonitorSFTPRegistrar) GetMasterIPs(ctx context.Context) (masters []string, err error)

func (*MarkMonitorSFTPRegistrar) GetServeAlgorithm

func (mm *MarkMonitorSFTPRegistrar) GetServeAlgorithm(ctx context.Context, domain string) (algo string, err error)

func (*MarkMonitorSFTPRegistrar) GetTsigKey

func (mm *MarkMonitorSFTPRegistrar) GetTsigKey(ctx context.Context, domain string) (tsigKey *dns.TSIGKey, err error)

type SFTPDNSConfig

type SFTPDNSConfig struct {
	// contains filtered or unexported fields
}

func (*SFTPDNSConfig) EstablishSFTPSession

func (s *SFTPDNSConfig) EstablishSFTPSession(log *log.Entry, markmonitorConfig *MarkMonitorSFTPConfig) error

establish SFTPSession if not already

func (*SFTPDNSConfig) ParseDomainFile

func (s *SFTPDNSConfig) ParseDomainFile(log *log.Entry, domFile *os.File) (*[]string, error)

ParseDomainFile parses reteieved domains file. Returns map of domains indexed by masterp ip and error

func (*SFTPDNSConfig) ReadRemoteDomainFile

func (s *SFTPDNSConfig) ReadRemoteDomainFile(log *log.Entry, markmonitorConfig *MarkMonitorSFTPConfig) (*[]string, error)

ReadRemoteDomainFile reads remote dmains file, saves to remp location. returns handle of temp file and error.

type SFTPDNSService

type SFTPDNSService interface {
	EstablishSFTPSession(log *log.Entry, markmonitorConfig *MarkMonitorSFTPConfig) error
	ReadRemoteDomainFile(log *log.Entry, markmonitorConfig *MarkMonitorSFTPConfig) (*[]string, error)
	ParseDomainFile(log *log.Entry, domFile *os.File) (*[]string, error)
}

Jump to

Keyboard shortcuts

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