· 5 years ago · May 12, 2020, 09:44 AM
1{
2 "appsettings.json": "{
3 \"AllowedHosts\": \"*\",
4 \"Kestrel\": {
5 \"Endpoints\": {
6 \"HTTP\": { \"Url\": \"http://*:5028\" }
7 }
8 },
9 \"Logging\": {
10 \"LogLevel\": {
11 \"Microsoft\": \"Information\",
12 \"Microsoft.EntityFrameworkCore\": \"Error\",
13 \"Default\": \"Information\",
14 \"System.Net.Http.HttpClient\": \"Information\"
15 }
16 },
17 \"Sentry\": {
18 \"Dsn\": \"https://4f3c471112aa44bfbd0f13c3cca53c16@sentry.paragon-software.com/3\",
19 \"Environment\": \"Staging\",
20 \"IncludeRequestPayload\": true,
21 \"SendDefaultPii\": true,
22 \"IncludeActivityData\": true,
23 \"MinimumBreadcrumbLevel\": \"Information\",
24 \"MinimumEventLevel\": \"Warning\",
25 \"AttachStackTrace\": true,
26 \"ReportAssemblies\": false,
27 \"Debug\": false,
28 \"DiagnosticsLevel\": \"Error\",
29 \"DefaultTags\": {
30 \"environmentId\": \"psg-registry.aks2.azure.paragonbox.com\",
31 \"app\": \"registryengine\"
32 }
33 },
34 \"LogOptions\": {
35 \"IsEnableConsoleLog\": true,
36 \"FileName\": \"Paragon.Registry.Engine\",
37 \"Path\": /opt/app/log\",
38 \"ComponentName\": \"Paragon.Registry.Engine\"
39 },
40 \"ConnectionStrings\": {
41 \"Provider\": \"PostgreSQL\",
42 \"NpgsqlDatabase\": \"User ID=user_ivs;Password=ivs;Host=postgresql.psg-3rdparty.svc.cluster.local;Port=5432;Database=psg_registryengine;Pooling=true;\",
43 \"SqlServerDatabase\": \"Data Source=mssql.psg-3rdparty.svc.cluster.local,1433;Initial Catalog=RegistryEngine;Integrated Security=False;MultipleActiveResultSets=True;User Id=sa;Password=Qwerty123;Max Pool Size=100\",
44 \"Redis\": \"redis.psg-3rdparty.svc.cluster.local:6379,syncTimeout=5000,allowAdmin=True,connectTimeout=500,connectRetry=10\"
45 },
46 \"RegistryClientOptions\": {
47 \"BaseUri\": \"http://registry:5027\",
48 \"AppName\": \"Registry.Engine\",
49 \"RegistryCredentials\": {
50 \"SecretKey\": \"eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNyc2Etc2hhMjU2IiwidHlwIjoiSldUIn0.eyJqdGkiOiJiMzY4MjZkOC1mN2ViLTRkYmMtOTZlMS0zYjcwZWM5MTY0NTkiLCJhcHBsaWNhdGlvbklkIjoiNzdjN2QyNDgtM2ZmMy00NTg0LWFmMTktZTkzMTYzYWRlNGZhIiwiZXhwIjoxNjIwODEwMDY1LCJpc3MiOiJSZWdpc3RyeSIsImF1ZCI6IlJlZ2lzdHJ5In0.M1tgcQW0beaJHg5SGZDcjHK_6S8f05Pgi8LPWnCxodA8X-XNZMuW7YIeY6KOWK1Vn1ldfnPRbrgtSrT9WVkv6s5X2Tf8ih_qxpnxTj4VFX-isTHAz3TrX-8DNgeBrq7gNPJrtQVJn30g-VTHKS074tT1J5Gn_PRuS3k06nN4gAFoxyZMxIAckhOwz-26UVvGtpMj2vrojJTaz6o-QsX7UQD96h6uzyEzdrSGJGgrPI9ieWWZVij9BSHPn9nYZDEIGRPrgJka-CUmEAHPrbWKM15o5PgAX7VXKmMFBSImQwNz2VMiMrSflsspxNn7AEkznkoBSCOAOmEeOmXstNIpzg\"
51 }
52 },
53 \"Kafka\": {
54 \"BootstrapServers\": \"kafka.psg-3rdparty.svc.cluster.local:9092\",
55 \"ServiceName\": \"Registry.Engine\",
56 \"ProducerId\": \"F14464CE-F3A0-4434-B830-3DD3529B8CF7\",
57 \"DescribeConfigsOptions\": {
58 \"RequestTimeout\": \"00:00:02\"
59 },
60 \"Producers\": {
61 \"MailMessage\": { \"MessageTimeoutMs\": 60000 }
62 }
63 },
64 \"InvitationUserFromTrustorMailMessageSettings\": {
65 \"ResponseType\": \"InvitationLinkMailSent\",
66 \"MailData\": {
67 \"Subject\": \"Join {0} and {1} workspace on Paragon Box Cloud\",
68 \"From\": \"k8s-uc-staging@paragon-software.com\"
69 },
70 \"TemplateData\": {
71 \"TemplateName\": \"customer.inviter.trustor.invitation.link\",
72 \"TemplateType\": \"email\",
73 \"Locale\": \"en\",
74 \"Data\": {
75 \"Link\": \"https://uc-staging.paragonbox.com/#/invites/accept\",
76 \"RejectionLink\": \"https://uc-staging.paragonbox.com/#/invites/reject\"
77 }
78 }
79 },
80 \"InvitationNewUserFromTrustorMailMessageSettings\": {
81 \"ResponseType\": \"InvitationLinkMailSent\",
82 \"MailData\": {
83 \"Subject\": \"Join {0} and {1} workspace on Paragon Box Cloud\",
84 \"From\": \"k8s-uc-staging@paragon-software.com\"
85 },
86 \"TemplateData\": {
87 \"TemplateName\": \"new.customer.inviter.trustor.invitation.link\",
88 \"TemplateType\": \"email\",
89 \"Locale\": \"en\",
90 \"Data\": {
91 \"Link\": \"https://uc-staging.paragonbox.com/#/invites/register\",
92 \"RejectionLink\": \"https://uc-staging.paragonbox.com/#/invites/reject\"
93 }
94 }
95 },
96 \"InvitationUserFromUserMailMessageSettings\": {
97 \"ResponseType\": \"InvitationLinkMailSent\",
98 \"MailData\": {
99 \"Subject\": \"Join {0} workspace on Paragon Box Cloud\",
100 \"From\": \"k8s-uc-staging@paragon-software.com\"
101 },
102 \"TemplateData\": {
103 \"TemplateName\": \"customer.trustor.invitation.link\",
104 \"TemplateType\": \"email\",
105 \"Locale\": \"en\",
106 \"Data\": {
107 \"Link\": \"https://uc-staging.paragonbox.com/#/invites/accept\",
108 \"RejectionLink\": \"https://uc-staging.paragonbox.com/#/invites/reject\"
109 }
110 }
111 },
112 \"InvitationNewUserFromUserMailMessageSettings\": {
113 \"ResponseType\": \"InvitationLinkMailSent\",
114 \"MailData\": {
115 \"Subject\": \"Join {0} workspace on Paragon Box Cloud\",
116 \"From\": \"k8s-uc-staging@paragon-software.com\"
117 },
118 \"TemplateData\": {
119 \"TemplateName\": \"new.customer.trustor.invitation.link\",
120 \"TemplateType\": \"email\",
121 \"Locale\": \"en\",
122 \"Data\": {
123 \"Link\": \"https://uc-staging.paragonbox.com/#/invites/register\",
124 \"RejectionLink\": \"https://uc-staging.paragonbox.com/#/invites/reject\"
125 }
126 }
127 },
128 \"ErrorHandlingSettings\": {
129 \"HandleConcurrencyExceptions\": true,
130 \"HandleConnectionExceptions\": true,
131 \"MaxRetryCount\": \"16\",
132 \"RetryInterval\": \"00:00:00.0100\"
133 },
134 \"SwaggerSettings\": {
135 \"Enabled\": true,
136 \"RoutePrefix\": \"swagger/registryengine\"
137 },
138 \"Cors\": {
139 \"Policies\": {
140 \"DefaultPolicy\": {
141 \"Headers\": [ \"*\" ],
142 \"Origins\": [ \"*\" ],
143 \"Methods\": [ \"*\" ]
144 }
145 }
146 },
147 \"Jaeger\": {
148 \"Enabled\": true,
149 \"Reporter\": {
150 \"MaxQueueSize\": 100,
151 \"FlushInterval\": \"00:00:01\",
152 \"Sender\": {
153 \"MaxPacketSize\": 65536,
154 \"Endpoint\": \"udp://jaegeragent:6831\"
155 }
156 },
157 \"Sampler\": {
158 \"Const\": { \"Sample\": true }
159 }
160 },
161 \"MetricsWebTrackingOptions\": {
162 \"ApdexTrackingEnabled\": true,
163 \"ApdexTSeconds\": 0.1,
164 \"IgnoredHttpStatusCodes\": [ 404 ],
165 \"IgnoredRoutesRegexPatterns\": [],
166 \"OAuth2TrackingEnabled\": false
167 },
168 \"MetricEndpointsOptions\": {
169 \"MetricsEndpointEnabled\": true,
170 \"MetricsTextEndpointEnabled\": false,
171 \"EnvironmentInfoEndpointEnabled\": false
172 },
173 \"MetricsReportingInfluxDbOptions\": {
174 \"InfluxDb\": {
175 \"BaseUri\": \"http://127.0.0.1:8086\",
176 \"Database\": \"metrics\"
177 },
178 \"HttpPolicy\": {
179 \"BackoffPeriod\": \"00:00:30\",
180 \"FailuresBeforeBackoff\": 5,
181 \"Timeout\": \"00:00:40\"
182 },
183 \"ReportInterval\": \"00:00:01\"
184 },
185 \"HealthOptions\": {
186 \"Enabled\": true
187 },
188 \"HealthEndpointsOptions\": {
189 \"HealthEndpointEnabled\": false,
190 \"PingEndpointEnabled\": false,
191 \"Timeout\": \"0:0:10\"
192 }
193 }
194 ",
195 "filebeat.yml": "filebeat.inputs:
196 - type: log
197 enabled: true
198 paths:
199 - /opt/app/log/Service.json
200 - /opt/app/log/*.json
201 exclude_files: ['\\.gz$']
202 fields:
203 log_type: services-json
204 encoding: utf-8
205 json.keys_under_root: true
206 json.add_error_key: true
207 fields_under_root: true
208 tags: [\"registryengine-service-json\"]
209 #==================== Elasticsearch template setting ==========================
210 setup.template.enabled: true
211 setup.template.overwrite: true
212 setup.template.settings:
213 index.number_of_shards: 1
214 index.number_of_replicas: 0
215 _source.enabled: true
216 # index.codec: best_compression
217 #_source.enabled: false
218 #================================ General =====================================
219 # The name of the shipper that publishes the network data. It can be used to group
220 # all the transactions sent by a single shipper in the web interface.
221 #name:
222 # The tags of the shipper are included in their own field with each
223 # transaction published.
224 tags: [\"registryengine\",\"[]\", \"psg-registry\"]
225 # Optional fields that you can specify to add additional information to the
226 # output.
227 #fields:
228 # env: staging
229 #============================== Kibana =====================================
230 # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
231 # This requires a Kibana endpoint configuration.
232 setup.kibana:
233 # Kibana Host
234 # Scheme and port can be left out and will be set to the default (http and 5601)
235 # In case you specify and additional path, the scheme is required: http://localhost:5601/path
236 # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
237 host: \"kibana:5601\"
238 #================================ Outputs =====================================
239 # Configure what output to use when sending the data collected by the beat.
240 #----------------------------- Logstash output --------------------------------
241 output.logstash:
242 hosts: [\"logstash:5044\"]
243 bulk_max_size: 8192
244 compression_level: 9
245 slow_start: true
246 timeout: 60s
247 pipelining: 1
248 max_retries: -1
249 #================================ Logging =====================================
250 # Sets log level. The default log level is info.
251 # Available log levels are: critical, error, warning, info, debug
252 logging.level: debug
253 # At debug level, you can selectively enable logging only for some components.
254 # To enable all selectors use [\"*\"]. Examples of other selectors are \"beat\",
255 # \"publish\", \"service\".
256 logging.selectors: [\"logstash\", \"input\", \"service\"]",
257 "log4net.config": "<?xml version=\"1.0\" encoding=\"utf-8\"?>
258 <log4net xmlns=\"http://schemas.microsoft.com/practices/2010/log4net\">
259 <appender name=\"main_log\" type=\"log4net.Appender.RollingFileAppender\">
260 <file value=\"/opt/app/log/Service.log\" />
261 <param name=\"appendToFile\" value=\"true\" />
262 <param name=\"immediateFlush\" value=\"false\" />
263 <param name=\"rollingStyle\" value=\"Size\" />
264 <param name=\"maxSizeRollBackups\" value=\"1\" />
265 <maximumFileSize value=\"50MB\" />
266 <param name=\"preserveLogFileNameExtension\" value=\"true\" />
267 <lockingModel type=\"log4net.Appender.FileAppender+MinimalLock,log4net\" />
268 <layout type=\"log4net.Layout.PatternLayout\">
269 <converter>
270 <name value=\"level\" />
271 <type value=\"Paragon.Components.Logging.LevelConverter, Paragon.Components.Logging\" />
272 </converter>
273 <conversionPattern value=\"%utcdate{yyyy.MM.dd HH:mm:ss.fff},%level,%-3thread: %message%newline\" />
274 </layout>
275 </appender>
276
277 <appender name=\"JsonAppender\" type=\"log4net.Appender.RollingFileAppender\">
278 <file value=\"/opt/app/log/Service.json\" />
279 <param name=\"appendToFile\" value=\"true\" />
280 <param name=\"immediateFlush\" value=\"false\" />
281 <param name=\"rollingStyle\" value=\"Size\" />
282 <param name=\"maxSizeRollBackups\" value=\"2\" />
283 <maximumFileSize value=\"200MB\" />
284 <param name=\"preserveLogFileNameExtension\" value=\"true\" />
285 <lockingModel type=\"log4net.Appender.FileAppender+MinimalLock,log4net\" />
286 <layout type=\"Paragon.Components.Logging.Json.Layout.JsonLayout, Paragon.Components.Logging.Json\">
287 <IgnoresException value=\"False\" />
288 </layout>
289 </appender>
290 <appender name=\"console\" type=\"log4net.Appender.ManagedColoredConsoleAppender\">
291 <mapping>
292 <level value=\"FATAL\" />
293 <foreColor value=\"Magenta\" />
294 </mapping>
295 <mapping>
296 <level value=\"ERROR\" />
297 <foreColor value=\"Red\" />
298 </mapping>
299 <mapping>
300 <level value=\"WARN\" />
301 <foreColor value=\"Yellow\" />
302 </mapping>
303 <mapping>
304 <level value=\"INFO\" />
305 <foreColor value=\"White\" />
306 </mapping>
307 <mapping>
308 <level value=\"DEBUG\" />
309 <foreColor value=\"Cyan\" />
310 </mapping>
311 <layout type=\"log4net.Layout.PatternLayout\">
312 <converter>
313 <name value=\"level\" />
314 <type value=\"Paragon.Components.Logging.LevelConverter, Paragon.Components.Logging\" />
315 </converter>
316 <conversionPattern value=\"%date{yyyy.MM.dd HH:mm:ss.fff},%level,%-3thread: %message%newline\" />
317 </layout>
318 <filter type=\"log4net.Filter.LevelRangeFilter\">
319 <levelMin value=\"Debug\" />
320 </filter>
321 </appender>
322 <appender name=\"SentryAppender\" type=\"Sentry.Log4Net.SentryAppender, Sentry.Log4Net\">
323 <threshold value=\"WARN\" />
324 <!--
325 If duplicate messages will annoy you - apply those filters. They can help.
326 <filter type=\"log4net.Filter.PropertyFilter\">
327 <key value=\"ComponentName\" />
328 <stringToMatch value=\"Microsoft\" />
329 <acceptOnMatch value=\"false\" />
330 </filter>
331 <filter type=\"log4net.Filter.PropertyFilter\">
332 <key value=\"ComponentName\" />
333 <stringToMatch value=\"System\" />
334 <acceptOnMatch value=\"false\" />
335 </filter>
336 -->
337 </appender>
338 <root>
339 <level value=\"DEBUG\" />
340 <!-- <appender-ref ref=\"main_log\" /> -->
341 <appender-ref ref=\"JsonAppender\" />
342 <appender-ref ref=\"console\" />
343 <appender-ref ref=\"SentryAppender\" />
344 </root>
345 </log4net>
346 "
347}