-
Notifications
You must be signed in to change notification settings - Fork 644
/
IAppConfiguration.cs
146 lines (118 loc) · 4.69 KB
/
IAppConfiguration.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Net.Mail;
namespace NuGetGallery.Configuration
{
public interface IAppConfiguration
{
/// <summary>
/// Gets a boolean inidicating if this environment provides a background worker.
/// </summary>
bool HasWorker { get; set; }
/// <summary>
/// Gets the location in which the Lucene Index is stored
/// </summary>
LuceneIndexLocation LuceneIndexLocation { get; set; }
/// <summary>
/// Gets the name of the environment in which the gallery is deployed
/// </summary>
string Environment { get; set; }
/// <summary>
/// Gets a setting indicating if SSL is required for all operations once logged in.
/// </summary>
bool RequireSSL { get; set; }
/// <summary>
/// Gets the port used for SSL
/// </summary>
int SSLPort { get; set; }
/// <summary>
/// Gets the connection string to use when connecting to azure storage
/// </summary>
string AzureStorageConnectionString { get; set; }
/// <summary>
/// Gets a setting if Read Access Geo Redundant is enabled in azure storage
/// </summary>
bool AzureStorageReadAccessGeoRedundant { get; set; }
/// <summary>
/// Gets the URI to the search service
/// </summary>
Uri ServiceDiscoveryUri { get; set; }
/// <summary>
/// Gets the @type for the Search endpoint
/// </summary>
string SearchServiceResourceType { get; set; }
/// <summary>
/// Gets the @type for the Autocomplete endpoint
/// </summary>
string AutocompleteServiceResourceType { get; set; }
/// <summary>
/// Gets the URI to the metrics service
/// </summary>
Uri MetricsServiceUri { get; set; }
/// <summary>
/// Gets a boolean indicating if the site requires that email addresses be confirmed
/// </summary>
bool ConfirmEmailAddresses { get; set; }
/// <summary>
/// Gets a boolean indicating if the site is in read only mode
/// </summary>
bool ReadOnlyMode { get; set; }
/// <summary>
/// Gets if only service feeds should be registered
/// </summary>
bool FeedOnlyMode { get; set; }
/// <summary>
/// Gets the local directory in which to store files.
/// </summary>
string FileStorageDirectory { get; set; }
/// <summary>
/// Gets the site brand name i.e. 'NuGet Gallery' by default. Cobranding feature.
/// </summary>
string Brand { get; set; }
/// <summary>
/// Gets the gallery owner name and email address
/// </summary>
MailAddress GalleryOwner { get; set; }
/// <summary>
/// Gets the storage mechanism used by this instance of the gallery
/// </summary>
StorageType StorageType { get; set; }
/// <summary>
/// Gets the URI of the SMTP host to use. Or null if SMTP is not being used. Use <see cref="NuGetGallery.Configuration.SmtpUri"/> to parse it
/// </summary>
Uri SmtpUri { get; set; }
/// <summary>
/// Gets the SQL Connection string used to connect to the database
/// </summary>
string SqlConnectionString { get; set; }
/// <summary>
/// Gets the host name of the Azure CDN being used
/// </summary>
string AzureCdnHost { get; set; }
/// <summary>
/// Gets the App ID of the Facebook app associated with this deployment
/// </summary>
string FacebookAppId { get; set; }
/// <summary>
/// Gets the Application Insights instrumentation key associated with this deployment.
/// </summary>
string AppInsightsInstrumentationKey { get; set; }
/// <summary>
/// Gets the protocol-independent site root
/// </summary>
string SiteRoot { get; set; }
/// <summary>
/// Gets the Google Analytics Property ID being used, if any.
/// </summary>
string GoogleAnalyticsPropertyId { get; set; }
/// <summary>
/// Gets a boolean indicating if perf logs should be collected
/// </summary>
bool CollectPerfLogs { get; set; }
/// <summary>
/// Gets a boolean indicating if the search index should be updated automatically in the background
/// </summary>
bool AutoUpdateSearchIndex { get; set; }
}
}