Documentation ¶
Index ¶
- Constants
- Variables
- type AuthConfig
- type CacheConfig
- type CertSpec
- type Config
- type DatabaseConfig
- type GRPCConfig
- type JWTConfig
- type JobConfig
- type LocalCacheConfig
- type MetricsConfig
- type MysqlConfig
- type MysqlTLSClientConfig
- type NetworkConfig
- type ObjectStorageConfig
- type PostgresConfig
- type PreheatConfig
- type PreheatTLSClientConfig
- type RESTConfig
- type RedisCacheConfig
- type RedisConfig
- type SecurityConfig
- type ServerConfig
- type SyncPeersConfig
- type TCPListenPortRange
- type TLSServerConfig
- type TrainerConfig
Constants ¶
View Source
const ( AttributeID = attribute.Key("d7y.manager.id") AttributePreheatType = attribute.Key("d7y.manager.preheat.type") AttributePreheatURL = attribute.Key("d7y.manager.preheat.url") )
View Source
const ( SpanPreheat = "preheat" SpanSyncPeers = "sync-peers" SpanGetLayers = "get-layers" SpanAuthWithRegistry = "auth-with-registry" )
View Source
const ( // DatabaseTypeMysql is database type of mysql. DatabaseTypeMysql = "mysql" // DatabaseTypeMariaDB is database type of mariadb. DatabaseTypeMariaDB = "mariadb" // DatabaseTypePostgres is database type of postgres. DatabaseTypePostgres = "postgres" )
View Source
const ( // DefaultServerName is default server name. DefaultServerName = "d7y/manager" // DefaultGRPCPort is default port for grpc server. DefaultGRPCPort = 65003 // DefaultRESTAddr is default address for rest server. DefaultRESTAddr = ":8080" )
View Source
const ( // DefaultJWTTimeout is default of name in jwt. DefaultJWTRealm = "Dragonfly" // DefaultJWTTimeout is default of timeout in jwt. DefaultJWTTimeout = 2 * 24 * time.Hour // DefaultJWTMaxRefresh is default of max refresh in jwt. DefaultJWTMaxRefresh = 2 * 24 * time.Hour )
View Source
const ( // DefaultRedisDB is default db for redis. DefaultRedisDB = 0 // DefaultRedisBrokerDB is default db for redis broker. DefaultRedisBrokerDB = 1 // DefaultRedisBackendDB is default db for redis backend. DefaultRedisBackendDB = 2 )
View Source
const ( // DefaultRedisCacheTTL is default ttl for redis cache. DefaultRedisCacheTTL = 5 * time.Minute // DefaultLFUCacheTTL is default ttl for lfu cache. DefaultLFUCacheTTL = 3 * time.Minute // DefaultLFUCacheSize is default size for lfu cache. DefaultLFUCacheSize = 100 * 1000 )
View Source
const ( // DefaultMysqlPort is default port for mysql. DefaultMysqlPort = 3306 // DefaultMysqlDBName is default db name for mysql. DefaultMysqlDBName = "manager" )
View Source
const ( // DefaultJobPreheatRegistryTimeout is the default timeout for requesting registry to get token and manifest. DefaultJobPreheatRegistryTimeout = 1 * time.Minute // DefaultJobSyncPeersInterval is the default interval for syncing all peers information from the scheduler. DefaultJobSyncPeersInterval = 24 * time.Hour // MinJobSyncPeersInterval is the min interval for syncing all peers information from the scheduler. MinJobSyncPeersInterval = 12 * time.Hour // DefaultJobSyncPeersTimeout is the default timeout for syncing all peers information from the scheduler. DefaultJobSyncPeersTimeout = 10 * time.Minute )
View Source
const ( // DefaultPostgresPort is default port for postgres. DefaultPostgresPort = 5432 // DefaultPostgresDBName is default db name for postgres. DefaultPostgresDBName = "manager" // DefaultPostgresSSLMode is default ssl mode for postgres. DefaultPostgresSSLMode = "disable" // DefaultPostgresPreferSimpleProtocol is default disable prepared statement option for postgres. DefaultPostgresPreferSimpleProtocol = false // DefaultPostgresTimezone is default timezone for postgres. DefaultPostgresTimezone = "UTC" )
View Source
const ( // DefaultLogRotateMaxSize is the default maximum size in megabytes of log files before rotation. DefaultLogRotateMaxSize = 1024 // DefaultLogRotateMaxAge is the default number of days to retain old log files. DefaultLogRotateMaxAge = 7 // DefaultLogRotateMaxBackups is the default number of old log files to keep. DefaultLogRotateMaxBackups = 20 )
View Source
const (
// DefaultMetricsAddr is default address for metrics server.
DefaultMetricsAddr = ":8000"
)
Variables ¶
View Source
var ( // DefaultCertIPAddresses is default ip addresses of certificate. DefaultCertIPAddresses = []net.IP{ip.IPv4, ip.IPv6} // DefaultCertDNSNames is default dns names of certificate. DefaultCertDNSNames = []string{"dragonfly-manager", "dragonfly-manager.dragonfly-system.svc", "dragonfly-manager.dragonfly-system.svc.cluster.local"} // DefaultCertValidityPeriod is default validity period of certificate. DefaultCertValidityPeriod = 10 * 365 * 24 * time.Hour )
View Source
var ( // DefaultNetworkEnableIPv6 is default value of enableIPv6. DefaultNetworkEnableIPv6 = false )
View Source
var (
// DefaultTrainerBucketName is default object storage bucket name of model.
DefaultTrainerBucketName = "models"
)
Functions ¶
This section is empty.
Types ¶
type AuthConfig ¶ added in v2.0.9
type AuthConfig struct { // JWT configuration. JWT JWTConfig `yaml:"jwt" mapstructure:"jwt"` }
type CacheConfig ¶
type CacheConfig struct { // Redis cache configuration. Redis RedisCacheConfig `yaml:"redis" mapstructure:"redis"` // Local cache configuration. Local LocalCacheConfig `yaml:"local" mapstructure:"local"` }
type CertSpec ¶ added in v2.0.6
type CertSpec struct { // DNSNames is a list of dns names be set on the certificate. DNSNames []string `mapstructure:"dnsNames" yaml:"dnsNames"` // IPAddresses is a list of ip addresses be set on the certificate. IPAddresses []net.IP `mapstructure:"ipAddresses" yaml:"ipAddresses"` // ValidityPeriod is the validity period of certificate. ValidityPeriod time.Duration `mapstructure:"validityPeriod" yaml:"validityPeriod"` }
type Config ¶
type Config struct { // Base options. base.Options `yaml:",inline" mapstructure:",squash"` // Server configuration. Server ServerConfig `yaml:"server" mapstructure:"server"` // Auth configuration. Auth AuthConfig `yaml:"auth" mapstructure:"auth"` // Database configuration. Database DatabaseConfig `yaml:"database" mapstructure:"database"` // Cache configuration. Cache CacheConfig `yaml:"cache" mapstructure:"cache"` // Job configuration. Job JobConfig `yaml:"job" mapstructure:"job"` // ObjectStorage configuration. ObjectStorage ObjectStorageConfig `yaml:"objectStorage" mapstructure:"objectStorage"` // Metrics configuration. Metrics MetricsConfig `yaml:"metrics" mapstructure:"metrics"` // Security configuration. Security SecurityConfig `yaml:"security" mapstructure:"security"` // Network configuration. Network NetworkConfig `yaml:"network" mapstructure:"network"` // Trainer configuration. Trainer TrainerConfig `yaml:"trainer" mapstructure:"trainer"` }
type DatabaseConfig ¶
type DatabaseConfig struct { // Database type. Type string `yaml:"type" mapstructure:"type"` // Mysql configuration. Mysql MysqlConfig `yaml:"mysql" mapstructure:"mysql"` // Postgres configuration. Postgres PostgresConfig `yaml:"postgres" mapstructure:"postgres"` // Redis configuration. Redis RedisConfig `yaml:"redis" mapstructure:"redis"` }
type GRPCConfig ¶ added in v2.0.7
type GRPCConfig struct { // AdvertiseIP is advertise ip. AdvertiseIP net.IP `yaml:"advertiseIP" mapstructure:"advertiseIP"` // ListenIP is listen ip, like: 0.0.0.0, 192.168.0.1. ListenIP net.IP `mapstructure:"listenIP" yaml:"listenIP"` // Port is listen port. PortRange TCPListenPortRange `yaml:"port" mapstructure:"port"` }
type JWTConfig ¶ added in v2.0.9
type JWTConfig struct { // Realm name to display to the user, default value is Dragonfly. Realm string `yaml:"realm" mapstructure:"realm"` // Key is secret key used for signing. Please change the key in production Key string `yaml:"key" mapstructure:"key"` // Timeout is duration that a jwt token is valid, default duration is two days. Timeout time.Duration `yaml:"timeout" mapstructure:"timeout"` // MaxRefresh field allows clients to refresh their token until MaxRefresh has passed, default duration is two days. MaxRefresh time.Duration `yaml:"maxRefresh" mapstructure:"maxRefresh"` }
type JobConfig ¶ added in v2.0.30
type JobConfig struct { // Preheat configuration. Preheat PreheatConfig `yaml:"preheat" mapstructure:"preheat"` // Sync peers configuration. SyncPeers SyncPeersConfig `yaml:"syncPeers" mapstructure:"syncPeers"` }
type LocalCacheConfig ¶
type MetricsConfig ¶ added in v2.0.4
type MysqlConfig ¶
type MysqlConfig struct { // Server username. User string `yaml:"user" mapstructure:"user"` // Server password. Password string `yaml:"password" mapstructure:"password"` // Server host. Host string `yaml:"host" mapstructure:"host"` // Server port. Port int `yaml:"port" mapstructure:"port"` // Server DB name. DBName string `yaml:"dbname" mapstructure:"dbname"` // TLS mode (can be one of "true", "false", "skip-verify", or "preferred"). TLSConfig string `yaml:"tlsConfig" mapstructure:"tlsConfig"` // Custom TLS client configuration (overrides "TLSConfig" setting above). TLS *MysqlTLSClientConfig `yaml:"tls" mapstructure:"tls"` // Enable migration. Migrate bool `yaml:"migrate" mapstructure:"migrate"` }
type MysqlTLSClientConfig ¶ added in v2.0.30
type MysqlTLSClientConfig struct { // Client certificate file path. Cert string `yaml:"cert" mapstructure:"cert"` // Client key file path. Key string `yaml:"key" mapstructure:"key"` // CA file path. CA string `yaml:"ca" mapstructure:"ca"` // InsecureSkipVerify controls whether a client verifies the // server's certificate chain and host name. InsecureSkipVerify bool `yaml:"insecureSkipVerify" mapstructure:"insecureSkipVerify"` }
type NetworkConfig ¶ added in v2.0.7
type NetworkConfig struct { // EnableIPv6 enables ipv6 for server. EnableIPv6 bool `mapstructure:"enableIPv6" yaml:"enableIPv6"` }
type ObjectStorageConfig ¶ added in v2.0.4
type ObjectStorageConfig struct { // Enable object storage. Enable bool `yaml:"enable" mapstructure:"enable"` // Name is object storage name of type, it can be s3, oss or obs. Name string `mapstructure:"name" yaml:"name"` // Region is storage region. Region string `mapstructure:"region" yaml:"region"` // Endpoint is datacenter endpoint. Endpoint string `mapstructure:"endpoint" yaml:"endpoint"` // AccessKey is access key ID. AccessKey string `mapstructure:"accessKey" yaml:"accessKey"` // SecretKey is access key secret. SecretKey string `mapstructure:"secretKey" yaml:"secretKey"` // S3ForcePathStyle sets force path style for s3, true by default. // Set this to `true` to force the request to use path-style addressing, // i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client // will use virtual hosted bucket addressing when possible // (`http://BUCKET.s3.amazonaws.com/KEY`). // Refer to https://github.com/aws/aws-sdk-go/blob/main/aws/config.go#L118. S3ForcePathStyle bool `mapstructure:"s3ForcePathStyle" yaml:"s3ForcePathStyle"` }
type PostgresConfig ¶ added in v2.0.5
type PostgresConfig struct { // Server username. User string `yaml:"user" mapstructure:"user"` // Server password. Password string `yaml:"password" mapstructure:"password"` // Server host. Host string `yaml:"host" mapstructure:"host"` // Server port. Port int `yaml:"port" mapstructure:"port"` // Server DB name. DBName string `yaml:"dbname" mapstructure:"dbname"` // SSL mode. SSLMode string `yaml:"sslMode" mapstructure:"sslMode"` // Disable prepared statement. PreferSimpleProtocol bool `yaml:"preferSimpleProtocol" mapstructure:"preferSimpleProtocol"` // Server timezone. Timezone string `yaml:"timezone" mapstructure:"timezone"` // Enable migration. Migrate bool `yaml:"migrate" mapstructure:"migrate"` }
type PreheatConfig ¶ added in v2.0.30
type PreheatConfig struct { // RegistryTimeout is the timeout for requesting registry to get token and manifest. RegistryTimeout time.Duration `yaml:"registryTimeout" mapstructure:"registryTimeout"` // TLS client configuration. TLS *PreheatTLSClientConfig `yaml:"tls" mapstructure:"tls"` }
type PreheatTLSClientConfig ¶ added in v2.0.30
type PreheatTLSClientConfig struct { // CACert is the CA certificate for preheat tls handshake, it can be path or PEM format string. CACert types.PEMContent `yaml:"caCert" mapstructure:"caCert"` }
type RESTConfig ¶ added in v2.0.30
type RESTConfig struct { // REST server address. Addr string `yaml:"addr" mapstructure:"addr"` // TLS server configuration. TLS *TLSServerConfig `yaml:"tls" mapstructure:"tls"` }
type RedisCacheConfig ¶
type RedisConfig ¶
type RedisConfig struct { // DEPRECATED: Please use the `addrs` field instead. Host string `yaml:"host" mapstructure:"host"` // DEPRECATED: Please use the `addrs` field instead. Port int `yaml:"port" mapstructure:"port"` // Addrs is server addresses. Addrs []string `yaml:"addrs" mapstructure:"addrs"` // MasterName is the sentinel master name. MasterName string `yaml:"masterName" mapstructure:"masterName"` // Username is server username. Username string `yaml:"username" mapstructure:"username"` // Password is server password. Password string `yaml:"password" mapstructure:"password"` // DB is server cache DB name. DB int `yaml:"db" mapstructure:"db"` // BrokerDB is server broker DB name. BrokerDB int `yaml:"brokerDB" mapstructure:"brokerDB"` // BackendDB is server backend DB name. BackendDB int `yaml:"backendDB" mapstructure:"backendDB"` }
type SecurityConfig ¶ added in v2.0.6
type SecurityConfig struct { // AutoIssueCert indicates to issue client certificates for all grpc call. AutoIssueCert bool `yaml:"autoIssueCert" mapstructure:"autoIssueCert"` // CACert is the CA certificate for all grpc tls handshake, it can be path or PEM format string. CACert types.PEMContent `mapstructure:"caCert" yaml:"caCert"` // CAKey is the CA private key, it can be path or PEM format string. CAKey types.PEMContent `mapstructure:"caKey" yaml:"caKey"` // TLSPolicy controls the grpc shandshake behaviors: // force: both ClientHandshake and ServerHandshake are only support tls // prefer: ServerHandshake supports tls and insecure (non-tls), ClientHandshake will only support tls // default: ServerHandshake supports tls and insecure (non-tls), ClientHandshake will only support insecure (non-tls) TLSPolicy string `mapstructure:"tlsPolicy" yaml:"tlsPolicy"` // CertSpec is the desired state of certificate. CertSpec CertSpec `mapstructure:"certSpec" yaml:"certSpec"` }
type ServerConfig ¶
type ServerConfig struct { // Server name. Name string `yaml:"name" mapstructure:"name"` // Server work directory. WorkHome string `yaml:"workHome" mapstructure:"workHome"` // Server dynamic config cache directory. CacheDir string `yaml:"cacheDir" mapstructure:"cacheDir"` // Server log directory. LogDir string `yaml:"logDir" mapstructure:"logDir"` // Maximum size in megabytes of log files before rotation (default: 1024) LogMaxSize int `yaml:"logMaxSize" mapstructure:"logMaxSize"` // Maximum number of days to retain old log files (default: 7) LogMaxAge int `yaml:"logMaxAge" mapstructure:"logMaxAge"` // Maximum number of old log files to keep (default: 20) LogMaxBackups int `yaml:"logMaxBackups" mapstructure:"logMaxBackups"` // Server plugin directory. PluginDir string `yaml:"pluginDir" mapstructure:"pluginDir"` // GRPC server configuration. GRPC GRPCConfig `yaml:"grpc" mapstructure:"grpc"` // REST server configuration. REST RESTConfig `yaml:"rest" mapstructure:"rest"` }
type SyncPeersConfig ¶ added in v2.0.30
type SyncPeersConfig struct { // Interval is the interval for syncing all peers information from the scheduler and // display peers information in the manager console. Interval time.Duration `yaml:"interval" mapstructure:"interval"` // Timeout is the timeout for syncing peers information from the single scheduler. Timeout time.Duration `yaml:"timeout" mapstructure:"timeout"` }
type TCPListenPortRange ¶
type TLSServerConfig ¶ added in v2.0.30
type TrainerConfig ¶ added in v2.0.30
Click to show internal directories.
Click to hide internal directories.