github.com/polarismesh/polaris@v1.17.8/plugin/discoverevent/local/config.go (about)

     1  /**
     2   * Tencent is pleased to support the open source community by making Polaris available.
     3   *
     4   * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
     5   *
     6   * Licensed under the BSD 3-Clause License (the "License");
     7   * you may not use this file except in compliance with the License.
     8   * You may obtain a copy of the License at
     9   *
    10   * https://opensource.org/licenses/BSD-3-Clause
    11   *
    12   * Unless required by applicable law or agreed to in writing, software distributed
    13   * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
    14   * CONDITIONS OF ANY KIND, either express or implied. See the License for the
    15   * specific language governing permissions and limitations under the License.
    16   */
    17  
    18  package local
    19  
    20  import "errors"
    21  
    22  // DiscoverEventConfig 服务实例事件插件配置
    23  type DiscoverEventConfig struct {
    24  	QueueSize          int    `json:"queueSize"`
    25  	OutputPath         string `json:"outputPath"`
    26  	RotationMaxSize    int    `json:"rotationMaxSize"`
    27  	RotationMaxAge     int    `json:"rotationMaxAge"`
    28  	RotationMaxBackups int    `json:"rotationMaxBackups"`
    29  }
    30  
    31  // Validate 检查配置是否正确配置
    32  func (c *DiscoverEventConfig) Validate() error {
    33  	if c.QueueSize <= 0 {
    34  		return errors.New("QueueSize is <= 0")
    35  	}
    36  	if c.OutputPath == "" {
    37  		return errors.New("OutputPath is empty")
    38  	}
    39  	if c.RotationMaxSize <= 0 {
    40  		return errors.New("RotationMaxSize is <= 0")
    41  	}
    42  	if c.RotationMaxAge <= 0 {
    43  		return errors.New("RotationMaxAge is <= 0")
    44  	}
    45  	if c.RotationMaxBackups <= 0 {
    46  		return errors.New("RotationMaxBackups is <= 0")
    47  	}
    48  	return nil
    49  }
    50  
    51  // DefaultDiscoverEventConfig 创建一个默认的服务事件插件配置
    52  func DefaultDiscoverEventConfig() *DiscoverEventConfig {
    53  	return &DiscoverEventConfig{
    54  		QueueSize:          128,
    55  		OutputPath:         "./discover-event",
    56  		RotationMaxSize:    50,
    57  		RotationMaxAge:     7,
    58  		RotationMaxBackups: 100,
    59  	}
    60  }