kuma

Форк
0
44 строки · 1.1 Кб
1
package dns_server
2

3
import (
4
	"errors"
5
	"net"
6

7
	"github.com/kumahq/kuma/pkg/config"
8
)
9

10
// Config defines DNS Server configuration
11
type Config struct {
12
	config.BaseConfig
13

14
	// The domain that the server will resolve the services for
15
	Domain string `json:"domain" envconfig:"kuma_dns_server_domain"`
16
	// CIDR used to allocate virtual IPs from
17
	CIDR string `json:"CIDR" envconfig:"kuma_dns_server_cidr"`
18
	// ServiceVipEnabled will create a service "<kuma.io/service>.mesh" dns entry for every service.
19
	ServiceVipEnabled bool `json:"serviceVipEnabled" envconfig:"kuma_dns_server_service_vip_enabled"`
20
	// ServiceVipPort the port to use for virtual IP
21
	ServiceVipPort uint32 `json:"serviceVipPort" envconfig:"kuma_dns_server_service_vip_port"`
22
}
23

24
func (g *Config) Validate() error {
25
	_, _, err := net.ParseCIDR(g.CIDR)
26
	if err != nil {
27
		return errors.New("CIDR must be valid")
28
	}
29
	if g.ServiceVipPort == 0 {
30
		return errors.New("port can't be 0")
31
	}
32
	return nil
33
}
34

35
var _ config.Config = &Config{}
36

37
func DefaultDNSServerConfig() *Config {
38
	return &Config{
39
		ServiceVipEnabled: true,
40
		Domain:            "mesh",
41
		CIDR:              "240.0.0.0/4",
42
		ServiceVipPort:    80,
43
	}
44
}
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.