// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        (unknown)
// source: model/app-config.proto

package model

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type LogLevel int32

const (
	LogLevel_PANIC LogLevel = 0
	LogLevel_FATAL LogLevel = 1
	LogLevel_ERROR LogLevel = 2
	LogLevel_WARN  LogLevel = 3
	LogLevel_INFO  LogLevel = 4
	LogLevel_DEBUG LogLevel = 5
	LogLevel_TRACE LogLevel = 6
)

// Enum value maps for LogLevel.
var (
	LogLevel_name = map[int32]string{
		0: "PANIC",
		1: "FATAL",
		2: "ERROR",
		3: "WARN",
		4: "INFO",
		5: "DEBUG",
		6: "TRACE",
	}
	LogLevel_value = map[string]int32{
		"PANIC": 0,
		"FATAL": 1,
		"ERROR": 2,
		"WARN":  3,
		"INFO":  4,
		"DEBUG": 5,
		"TRACE": 6,
	}
)

func (x LogLevel) Enum() *LogLevel {
	p := new(LogLevel)
	*p = x
	return p
}

func (x LogLevel) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (LogLevel) Descriptor() protoreflect.EnumDescriptor {
	return file_model_app_config_proto_enumTypes[0].Descriptor()
}

func (LogLevel) Type() protoreflect.EnumType {
	return &file_model_app_config_proto_enumTypes[0]
}

func (x LogLevel) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use LogLevel.Descriptor instead.
func (LogLevel) EnumDescriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{0}
}

type LogFormat int32

const (
	LogFormat_TEXT LogFormat = 0
	LogFormat_JSON LogFormat = 1
)

// Enum value maps for LogFormat.
var (
	LogFormat_name = map[int32]string{
		0: "TEXT",
		1: "JSON",
	}
	LogFormat_value = map[string]int32{
		"TEXT": 0,
		"JSON": 1,
	}
)

func (x LogFormat) Enum() *LogFormat {
	p := new(LogFormat)
	*p = x
	return p
}

func (x LogFormat) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (LogFormat) Descriptor() protoreflect.EnumDescriptor {
	return file_model_app_config_proto_enumTypes[1].Descriptor()
}

func (LogFormat) Type() protoreflect.EnumType {
	return &file_model_app_config_proto_enumTypes[1]
}

func (x LogFormat) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use LogFormat.Descriptor instead.
func (LogFormat) EnumDescriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{1}
}

type InitRecord struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Namespace string  `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
	Resource  string  `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
	Override  bool    `protobuf:"varint,3,opt,name=override,proto3" json:"override,omitempty"`
	Record    *Record `protobuf:"bytes,4,opt,name=record,proto3" json:"record,omitempty"`
}

func (x *InitRecord) Reset() {
	*x = InitRecord{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InitRecord) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InitRecord) ProtoMessage() {}

func (x *InitRecord) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InitRecord.ProtoReflect.Descriptor instead.
func (*InitRecord) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{0}
}

func (x *InitRecord) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *InitRecord) GetResource() string {
	if x != nil {
		return x.Resource
	}
	return ""
}

func (x *InitRecord) GetOverride() bool {
	if x != nil {
		return x.Override
	}
	return false
}

func (x *InitRecord) GetRecord() *Record {
	if x != nil {
		return x.Record
	}
	return nil
}

type InfluxDBConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HostUrl      string `protobuf:"bytes,1,opt,name=hostUrl,proto3" json:"hostUrl,omitempty"`
	Token        string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	Bucket       string `protobuf:"bytes,3,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Organization string `protobuf:"bytes,4,opt,name=organization,proto3" json:"organization,omitempty"`
}

func (x *InfluxDBConfig) Reset() {
	*x = InfluxDBConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InfluxDBConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InfluxDBConfig) ProtoMessage() {}

func (x *InfluxDBConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InfluxDBConfig.ProtoReflect.Descriptor instead.
func (*InfluxDBConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{1}
}

func (x *InfluxDBConfig) GetHostUrl() string {
	if x != nil {
		return x.HostUrl
	}
	return ""
}

func (x *InfluxDBConfig) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *InfluxDBConfig) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *InfluxDBConfig) GetOrganization() string {
	if x != nil {
		return x.Organization
	}
	return ""
}

type RedisConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Prefix   string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Addr     string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Db       int32  `protobuf:"varint,4,opt,name=db,proto3" json:"db,omitempty"`
}

func (x *RedisConfig) Reset() {
	*x = RedisConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RedisConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RedisConfig) ProtoMessage() {}

func (x *RedisConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RedisConfig.ProtoReflect.Descriptor instead.
func (*RedisConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{2}
}

func (x *RedisConfig) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *RedisConfig) GetAddr() string {
	if x != nil {
		return x.Addr
	}
	return ""
}

func (x *RedisConfig) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *RedisConfig) GetDb() int32 {
	if x != nil {
		return x.Db
	}
	return 0
}

type MetricsConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Enabled   bool            `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Interval  *int32          `protobuf:"varint,2,opt,name=interval,proto3,oneof" json:"interval,omitempty"`   // defaults to 10 seconds
	Retention *int32          `protobuf:"varint,3,opt,name=retention,proto3,oneof" json:"retention,omitempty"` // defaults to 1 day
	Influxdb  *InfluxDBConfig `protobuf:"bytes,4,opt,name=influxdb,proto3" json:"influxdb,omitempty"`
}

func (x *MetricsConfig) Reset() {
	*x = MetricsConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetricsConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricsConfig) ProtoMessage() {}

func (x *MetricsConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricsConfig.ProtoReflect.Descriptor instead.
func (*MetricsConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{3}
}

func (x *MetricsConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *MetricsConfig) GetInterval() int32 {
	if x != nil && x.Interval != nil {
		return *x.Interval
	}
	return 0
}

func (x *MetricsConfig) GetRetention() int32 {
	if x != nil && x.Retention != nil {
		return *x.Retention
	}
	return 0
}

func (x *MetricsConfig) GetInfluxdb() *InfluxDBConfig {
	if x != nil {
		return x.Influxdb
	}
	return nil
}

type StatsConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Enabled bool         `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Redis   *RedisConfig `protobuf:"bytes,2,opt,name=redis,proto3" json:"redis,omitempty"`
}

func (x *StatsConfig) Reset() {
	*x = StatsConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StatsConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StatsConfig) ProtoMessage() {}

func (x *StatsConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StatsConfig.ProtoReflect.Descriptor instead.
func (*StatsConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{4}
}

func (x *StatsConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *StatsConfig) GetRedis() *RedisConfig {
	if x != nil {
		return x.Redis
	}
	return nil
}

type Limitations struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Enabled           bool  `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	MaxRecordCount    int32 `protobuf:"varint,2,opt,name=maxRecordCount,proto3" json:"maxRecordCount,omitempty"`
	MaxResourceCount  int32 `protobuf:"varint,3,opt,name=maxResourceCount,proto3" json:"maxResourceCount,omitempty"`
	MaxNamespaceCount int32 `protobuf:"varint,4,opt,name=maxNamespaceCount,proto3" json:"maxNamespaceCount,omitempty"`
	RequestPerMinute  int32 `protobuf:"varint,5,opt,name=requestPerMinute,proto3" json:"requestPerMinute,omitempty"`
	RequestPerHour    int32 `protobuf:"varint,6,opt,name=requestPerHour,proto3" json:"requestPerHour,omitempty"`
	RequestPerDay     int32 `protobuf:"varint,7,opt,name=requestPerDay,proto3" json:"requestPerDay,omitempty"`
	RequestPerMonth   int32 `protobuf:"varint,8,opt,name=requestPerMonth,proto3" json:"requestPerMonth,omitempty"`
	RequestPerYear    int32 `protobuf:"varint,9,opt,name=requestPerYear,proto3" json:"requestPerYear,omitempty"`
}

func (x *Limitations) Reset() {
	*x = Limitations{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Limitations) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Limitations) ProtoMessage() {}

func (x *Limitations) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Limitations.ProtoReflect.Descriptor instead.
func (*Limitations) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{5}
}

func (x *Limitations) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *Limitations) GetMaxRecordCount() int32 {
	if x != nil {
		return x.MaxRecordCount
	}
	return 0
}

func (x *Limitations) GetMaxResourceCount() int32 {
	if x != nil {
		return x.MaxResourceCount
	}
	return 0
}

func (x *Limitations) GetMaxNamespaceCount() int32 {
	if x != nil {
		return x.MaxNamespaceCount
	}
	return 0
}

func (x *Limitations) GetRequestPerMinute() int32 {
	if x != nil {
		return x.RequestPerMinute
	}
	return 0
}

func (x *Limitations) GetRequestPerHour() int32 {
	if x != nil {
		return x.RequestPerHour
	}
	return 0
}

func (x *Limitations) GetRequestPerDay() int32 {
	if x != nil {
		return x.RequestPerDay
	}
	return 0
}

func (x *Limitations) GetRequestPerMonth() int32 {
	if x != nil {
		return x.RequestPerMonth
	}
	return 0
}

func (x *Limitations) GetRequestPerYear() int32 {
	if x != nil {
		return x.RequestPerYear
	}
	return 0
}

type EventChannelConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MaxChannelSize int32 `protobuf:"varint,1,opt,name=maxChannelSize,proto3" json:"maxChannelSize,omitempty"`
	MaxWaitTimeMs  int32 `protobuf:"varint,2,opt,name=maxWaitTimeMs,proto3" json:"maxWaitTimeMs,omitempty"`
}

func (x *EventChannelConfig) Reset() {
	*x = EventChannelConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EventChannelConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventChannelConfig) ProtoMessage() {}

func (x *EventChannelConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventChannelConfig.ProtoReflect.Descriptor instead.
func (*EventChannelConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{6}
}

func (x *EventChannelConfig) GetMaxChannelSize() int32 {
	if x != nil {
		return x.MaxChannelSize
	}
	return 0
}

func (x *EventChannelConfig) GetMaxWaitTimeMs() int32 {
	if x != nil {
		return x.MaxWaitTimeMs
	}
	return 0
}

type LoggingConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Level        LogLevel  `protobuf:"varint,1,opt,name=level,proto3,enum=model.LogLevel" json:"level,omitempty"`
	Format       LogFormat `protobuf:"varint,2,opt,name=format,proto3,enum=model.LogFormat" json:"format,omitempty"`
	ReportCaller bool      `protobuf:"varint,3,opt,name=reportCaller,proto3" json:"reportCaller,omitempty"`
}

func (x *LoggingConfig) Reset() {
	*x = LoggingConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LoggingConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoggingConfig) ProtoMessage() {}

func (x *LoggingConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoggingConfig.ProtoReflect.Descriptor instead.
func (*LoggingConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{7}
}

func (x *LoggingConfig) GetLevel() LogLevel {
	if x != nil {
		return x.Level
	}
	return LogLevel_PANIC
}

func (x *LoggingConfig) GetFormat() LogFormat {
	if x != nil {
		return x.Format
	}
	return LogFormat_TEXT
}

func (x *LoggingConfig) GetReportCaller() bool {
	if x != nil {
		return x.ReportCaller
	}
	return false
}

type ModuleConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Disabled bool              `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
	Options  map[string]string `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *ModuleConfig) Reset() {
	*x = ModuleConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModuleConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModuleConfig) ProtoMessage() {}

func (x *ModuleConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModuleConfig.ProtoReflect.Descriptor instead.
func (*ModuleConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{8}
}

func (x *ModuleConfig) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

func (x *ModuleConfig) GetOptions() map[string]string {
	if x != nil {
		return x.Options
	}
	return nil
}

type AppConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Host                  string                   `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	Port                  int32                    `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	JwtPrivateKey         string                   `protobuf:"bytes,3,opt,name=jwtPrivateKey,proto3" json:"jwtPrivateKey,omitempty"`
	JwtPublicKey          string                   `protobuf:"bytes,4,opt,name=jwtPublicKey,proto3" json:"jwtPublicKey,omitempty"`
	DisableAuthentication bool                     `protobuf:"varint,5,opt,name=disableAuthentication,proto3" json:"disableAuthentication,omitempty"`
	DisableCache          bool                     `protobuf:"varint,6,opt,name=disableCache,proto3" json:"disableCache,omitempty"`
	PluginsPath           string                   `protobuf:"bytes,7,opt,name=pluginsPath,proto3" json:"pluginsPath,omitempty"`
	Metrics               *MetricsConfig           `protobuf:"bytes,8,opt,name=metrics,proto3" json:"metrics,omitempty"`
	Stats                 *StatsConfig             `protobuf:"bytes,9,opt,name=stats,proto3" json:"stats,omitempty"`
	Limitations           *Limitations             `protobuf:"bytes,10,opt,name=limitations,proto3" json:"limitations,omitempty"`
	ServiceId             string                   `protobuf:"bytes,11,opt,name=serviceId,proto3" json:"serviceId,omitempty"`
	SystemDataSource      *Record                  `protobuf:"bytes,12,opt,name=systemDataSource,proto3" json:"systemDataSource,omitempty"`
	InitResources         []*Resource              `protobuf:"bytes,13,rep,name=initResources,proto3" json:"initResources,omitempty"`
	InitRecords           []*InitRecord            `protobuf:"bytes,14,rep,name=initRecords,proto3" json:"initRecords,omitempty"`
	ApplyPaths            []string                 `protobuf:"bytes,15,rep,name=applyPaths,proto3" json:"applyPaths,omitempty"`
	EventChannelConfig    *EventChannelConfig      `protobuf:"bytes,16,opt,name=eventChannelConfig,proto3" json:"eventChannelConfig,omitempty"`
	LoggingConfig         *LoggingConfig           `protobuf:"bytes,17,opt,name=loggingConfig,proto3" json:"loggingConfig,omitempty"`
	EnablePprof           bool                     `protobuf:"varint,18,opt,name=enablePprof,proto3" json:"enablePprof,omitempty"`
	Modules               map[string]*ModuleConfig `protobuf:"bytes,19,rep,name=modules,proto3" json:"modules,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *AppConfig) Reset() {
	*x = AppConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_model_app_config_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AppConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AppConfig) ProtoMessage() {}

func (x *AppConfig) ProtoReflect() protoreflect.Message {
	mi := &file_model_app_config_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AppConfig.ProtoReflect.Descriptor instead.
func (*AppConfig) Descriptor() ([]byte, []int) {
	return file_model_app_config_proto_rawDescGZIP(), []int{9}
}

func (x *AppConfig) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *AppConfig) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *AppConfig) GetJwtPrivateKey() string {
	if x != nil {
		return x.JwtPrivateKey
	}
	return ""
}

func (x *AppConfig) GetJwtPublicKey() string {
	if x != nil {
		return x.JwtPublicKey
	}
	return ""
}

func (x *AppConfig) GetDisableAuthentication() bool {
	if x != nil {
		return x.DisableAuthentication
	}
	return false
}

func (x *AppConfig) GetDisableCache() bool {
	if x != nil {
		return x.DisableCache
	}
	return false
}

func (x *AppConfig) GetPluginsPath() string {
	if x != nil {
		return x.PluginsPath
	}
	return ""
}

func (x *AppConfig) GetMetrics() *MetricsConfig {
	if x != nil {
		return x.Metrics
	}
	return nil
}

func (x *AppConfig) GetStats() *StatsConfig {
	if x != nil {
		return x.Stats
	}
	return nil
}

func (x *AppConfig) GetLimitations() *Limitations {
	if x != nil {
		return x.Limitations
	}
	return nil
}

func (x *AppConfig) GetServiceId() string {
	if x != nil {
		return x.ServiceId
	}
	return ""
}

func (x *AppConfig) GetSystemDataSource() *Record {
	if x != nil {
		return x.SystemDataSource
	}
	return nil
}

func (x *AppConfig) GetInitResources() []*Resource {
	if x != nil {
		return x.InitResources
	}
	return nil
}

func (x *AppConfig) GetInitRecords() []*InitRecord {
	if x != nil {
		return x.InitRecords
	}
	return nil
}

func (x *AppConfig) GetApplyPaths() []string {
	if x != nil {
		return x.ApplyPaths
	}
	return nil
}

func (x *AppConfig) GetEventChannelConfig() *EventChannelConfig {
	if x != nil {
		return x.EventChannelConfig
	}
	return nil
}

func (x *AppConfig) GetLoggingConfig() *LoggingConfig {
	if x != nil {
		return x.LoggingConfig
	}
	return nil
}

func (x *AppConfig) GetEnablePprof() bool {
	if x != nil {
		return x.EnablePprof
	}
	return false
}

func (x *AppConfig) GetModules() map[string]*ModuleConfig {
	if x != nil {
		return x.Modules
	}
	return nil
}

var File_model_app_config_proto protoreflect.FileDescriptor

var file_model_app_config_proto_rawDesc = []byte{
	0x0a, 0x16, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x61, 0x70, 0x70, 0x2d, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x1a,
	0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x0a, 0x49, 0x6e,
	0x69, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x25,
	0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72,
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x7c, 0x0a, 0x0e, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44,
	0x42, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x55,
	0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x72,
	0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12,
	0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64,
	0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1a,
	0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x62,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x64, 0x62, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x4d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07,
	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76,
	0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65,
	0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65,
	0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x08, 0x69, 0x6e,
	0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44, 0x42, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x42, 0x0b, 0x0a,
	0x09, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72,
	0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74,
	0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x22, 0xf5, 0x02, 0x0a, 0x0b,
	0x4c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x63, 0x6f,
	0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d,
	0x61, 0x78, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a,
	0x10, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78,
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e,
	0x75, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65,
	0x72, 0x48, 0x6f, 0x75, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x44, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x44, 0x61,
	0x79, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x4d,
	0x6f, 0x6e, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x59, 0x65, 0x61, 0x72, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x59,
	0x65, 0x61, 0x72, 0x22, 0x62, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78,
	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a,
	0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x4d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x69,
	0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x67,
	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x05, 0x6c, 0x65, 0x76,
	0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
	0x12, 0x28, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d,
	0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65,
	0x70, 0x6f, 0x72, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0xa2,
	0x01, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
	0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x22, 0xa1, 0x07, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x77, 0x74,
	0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x6a, 0x77, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12,
	0x22, 0x0a, 0x0c, 0x6a, 0x77, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x77, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
	0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75,
	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73,
	0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x20, 0x0a,
	0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x50, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12,
	0x2e, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
	0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
	0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x39, 0x0a,
	0x10, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e,
	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x10, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x44, 0x61,
	0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74,
	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x52, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
	0x33, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0e,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x69,
	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x63,
	0x6f, 0x72, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x61, 0x74,
	0x68, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50,
	0x61, 0x74, 0x68, 0x73, 0x12, 0x49, 0x0a, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x76, 0x65,
	0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
	0x3a, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c,
	0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6c, 0x6f,
	0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x70, 0x72, 0x6f, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x70, 0x72, 0x6f, 0x66, 0x12, 0x37, 0x0a,
	0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d,
	0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x4f, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e,
	0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x55, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x09,
	0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52,
	0x4f, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x08,
	0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55,
	0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x2a, 0x1f,
	0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x08, 0x0a, 0x04, 0x54,
	0x45, 0x58, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x42,
	0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70,
	0x69, 0x62, 0x72, 0x65, 0x77, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x72, 0x65, 0x77, 0x2f, 0x70, 0x6b,
	0x67, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_model_app_config_proto_rawDescOnce sync.Once
	file_model_app_config_proto_rawDescData = file_model_app_config_proto_rawDesc
)

func file_model_app_config_proto_rawDescGZIP() []byte {
	file_model_app_config_proto_rawDescOnce.Do(func() {
		file_model_app_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_app_config_proto_rawDescData)
	})
	return file_model_app_config_proto_rawDescData
}

var file_model_app_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_model_app_config_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_model_app_config_proto_goTypes = []interface{}{
	(LogLevel)(0),              // 0: model.LogLevel
	(LogFormat)(0),             // 1: model.LogFormat
	(*InitRecord)(nil),         // 2: model.InitRecord
	(*InfluxDBConfig)(nil),     // 3: model.InfluxDBConfig
	(*RedisConfig)(nil),        // 4: model.RedisConfig
	(*MetricsConfig)(nil),      // 5: model.MetricsConfig
	(*StatsConfig)(nil),        // 6: model.StatsConfig
	(*Limitations)(nil),        // 7: model.Limitations
	(*EventChannelConfig)(nil), // 8: model.EventChannelConfig
	(*LoggingConfig)(nil),      // 9: model.LoggingConfig
	(*ModuleConfig)(nil),       // 10: model.ModuleConfig
	(*AppConfig)(nil),          // 11: model.AppConfig
	nil,                        // 12: model.ModuleConfig.OptionsEntry
	nil,                        // 13: model.AppConfig.ModulesEntry
	(*Record)(nil),             // 14: model.Record
	(*Resource)(nil),           // 15: model.Resource
}
var file_model_app_config_proto_depIdxs = []int32{
	14, // 0: model.InitRecord.record:type_name -> model.Record
	3,  // 1: model.MetricsConfig.influxdb:type_name -> model.InfluxDBConfig
	4,  // 2: model.StatsConfig.redis:type_name -> model.RedisConfig
	0,  // 3: model.LoggingConfig.level:type_name -> model.LogLevel
	1,  // 4: model.LoggingConfig.format:type_name -> model.LogFormat
	12, // 5: model.ModuleConfig.options:type_name -> model.ModuleConfig.OptionsEntry
	5,  // 6: model.AppConfig.metrics:type_name -> model.MetricsConfig
	6,  // 7: model.AppConfig.stats:type_name -> model.StatsConfig
	7,  // 8: model.AppConfig.limitations:type_name -> model.Limitations
	14, // 9: model.AppConfig.systemDataSource:type_name -> model.Record
	15, // 10: model.AppConfig.initResources:type_name -> model.Resource
	2,  // 11: model.AppConfig.initRecords:type_name -> model.InitRecord
	8,  // 12: model.AppConfig.eventChannelConfig:type_name -> model.EventChannelConfig
	9,  // 13: model.AppConfig.loggingConfig:type_name -> model.LoggingConfig
	13, // 14: model.AppConfig.modules:type_name -> model.AppConfig.ModulesEntry
	10, // 15: model.AppConfig.ModulesEntry.value:type_name -> model.ModuleConfig
	16, // [16:16] is the sub-list for method output_type
	16, // [16:16] is the sub-list for method input_type
	16, // [16:16] is the sub-list for extension type_name
	16, // [16:16] is the sub-list for extension extendee
	0,  // [0:16] is the sub-list for field type_name
}

func init() { file_model_app_config_proto_init() }
func file_model_app_config_proto_init() {
	if File_model_app_config_proto != nil {
		return
	}
	file_model_record_proto_init()
	file_model_resource_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_model_app_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InitRecord); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InfluxDBConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RedisConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricsConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatsConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Limitations); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EventChannelConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LoggingConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModuleConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_model_app_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_model_app_config_proto_msgTypes[3].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_model_app_config_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_model_app_config_proto_goTypes,
		DependencyIndexes: file_model_app_config_proto_depIdxs,
		EnumInfos:         file_model_app_config_proto_enumTypes,
		MessageInfos:      file_model_app_config_proto_msgTypes,
	}.Build()
	File_model_app_config_proto = out.File
	file_model_app_config_proto_rawDesc = nil
	file_model_app_config_proto_goTypes = nil
	file_model_app_config_proto_depIdxs = nil
}
