Skip to content

Commit d845be6

Browse files
authored
handle deprecated settings (#22992)
Fix #22736
1 parent d2128b4 commit d845be6

File tree

7 files changed

+41
-42
lines changed

7 files changed

+41
-42
lines changed

Diff for: modules/setting/config_provider.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ func mustMapSetting(rootCfg ConfigProvider, sectionName string, setting interfac
2525
}
2626
}
2727

28-
func deprecatedSetting(rootCfg ConfigProvider, oldSection, oldKey, newSection, newKey string) {
28+
func deprecatedSetting(rootCfg ConfigProvider, oldSection, oldKey, newSection, newKey, version string) {
2929
if rootCfg.Section(oldSection).HasKey(oldKey) {
30-
log.Error("Deprecated fallback `[%s]` `%s` present. Use `[%s]` `%s` instead. This fallback will be removed in v1.19.0", oldSection, oldKey, newSection, newKey)
30+
log.Error("Deprecated fallback `[%s]` `%s` present. Use `[%s]` `%s` instead. This fallback will be/has been removed in %s", oldSection, oldKey, newSection, newKey, version)
3131
}
3232
}
3333

Diff for: modules/setting/indexer.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,13 @@ func loadIndexerFrom(rootCfg ConfigProvider) {
5656
Indexer.IssueIndexerName = sec.Key("ISSUE_INDEXER_NAME").MustString(Indexer.IssueIndexerName)
5757

5858
// The following settings are deprecated and can be overridden by settings in [queue] or [queue.issue_indexer]
59-
// FIXME: DEPRECATED to be removed in v1.18.0
60-
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_TYPE", "queue.issue_indexer", "TYPE")
61-
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_DIR", "queue.issue_indexer", "DATADIR")
62-
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_CONN_STR", "queue.issue_indexer", "CONN_STR")
63-
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_BATCH_NUMBER", "queue.issue_indexer", "BATCH_LENGTH")
64-
deprecatedSetting(rootCfg, "indexer", "UPDATE_BUFFER_LEN", "queue.issue_indexer", "LENGTH")
59+
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
60+
// if these are removed, the warning will not be shown
61+
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_TYPE", "queue.issue_indexer", "TYPE", "v1.19.0")
62+
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_DIR", "queue.issue_indexer", "DATADIR", "v1.19.0")
63+
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_CONN_STR", "queue.issue_indexer", "CONN_STR", "v1.19.0")
64+
deprecatedSetting(rootCfg, "indexer", "ISSUE_INDEXER_QUEUE_BATCH_NUMBER", "queue.issue_indexer", "BATCH_LENGTH", "v1.19.0")
65+
deprecatedSetting(rootCfg, "indexer", "UPDATE_BUFFER_LEN", "queue.issue_indexer", "LENGTH", "v1.19.0")
6566

6667
Indexer.RepoIndexerEnabled = sec.Key("REPO_INDEXER_ENABLED").MustBool(false)
6768
Indexer.RepoType = sec.Key("REPO_INDEXER_TYPE").MustString("bleve")

Diff for: modules/setting/lfs.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ func loadLFSFrom(rootCfg ConfigProvider) {
3535
storageType := lfsSec.Key("STORAGE_TYPE").MustString("")
3636

3737
// Specifically default PATH to LFS_CONTENT_PATH
38-
// FIXME: DEPRECATED to be removed in v1.18.0
39-
deprecatedSetting(rootCfg, "server", "LFS_CONTENT_PATH", "lfs", "PATH")
38+
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
39+
// if these are removed, the warning will not be shown
40+
deprecatedSetting(rootCfg, "server", "LFS_CONTENT_PATH", "lfs", "PATH", "v1.19.0")
4041
lfsSec.Key("PATH").MustString(
4142
sec.Key("LFS_CONTENT_PATH").String())
4243

Diff for: modules/setting/mailer.go

+11-18
Original file line numberDiff line numberDiff line change
@@ -64,16 +64,16 @@ func loadMailerFrom(rootCfg ConfigProvider) {
6464
}
6565

6666
// Handle Deprecations and map on to new configuration
67-
// FIXME: DEPRECATED to be removed in v1.19.0
68-
deprecatedSetting(rootCfg, "mailer", "MAILER_TYPE", "mailer", "PROTOCOL")
67+
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
68+
// if these are removed, the warning will not be shown
69+
deprecatedSetting(rootCfg, "mailer", "MAILER_TYPE", "mailer", "PROTOCOL", "v1.19.0")
6970
if sec.HasKey("MAILER_TYPE") && !sec.HasKey("PROTOCOL") {
7071
if sec.Key("MAILER_TYPE").String() == "sendmail" {
7172
sec.Key("PROTOCOL").MustString("sendmail")
7273
}
7374
}
7475

75-
// FIXME: DEPRECATED to be removed in v1.19.0
76-
deprecatedSetting(rootCfg, "mailer", "HOST", "mailer", "SMTP_ADDR")
76+
deprecatedSetting(rootCfg, "mailer", "HOST", "mailer", "SMTP_ADDR", "v1.19.0")
7777
if sec.HasKey("HOST") && !sec.HasKey("SMTP_ADDR") {
7878
givenHost := sec.Key("HOST").String()
7979
addr, port, err := net.SplitHostPort(givenHost)
@@ -89,8 +89,7 @@ func loadMailerFrom(rootCfg ConfigProvider) {
8989
sec.Key("SMTP_PORT").MustString(port)
9090
}
9191

92-
// FIXME: DEPRECATED to be removed in v1.19.0
93-
deprecatedSetting(rootCfg, "mailer", "IS_TLS_ENABLED", "mailer", "PROTOCOL")
92+
deprecatedSetting(rootCfg, "mailer", "IS_TLS_ENABLED", "mailer", "PROTOCOL", "v1.19.0")
9493
if sec.HasKey("IS_TLS_ENABLED") && !sec.HasKey("PROTOCOL") {
9594
if sec.Key("IS_TLS_ENABLED").MustBool() {
9695
sec.Key("PROTOCOL").MustString("smtps")
@@ -99,38 +98,32 @@ func loadMailerFrom(rootCfg ConfigProvider) {
9998
}
10099
}
101100

102-
// FIXME: DEPRECATED to be removed in v1.19.0
103-
deprecatedSetting(rootCfg, "mailer", "DISABLE_HELO", "mailer", "ENABLE_HELO")
101+
deprecatedSetting(rootCfg, "mailer", "DISABLE_HELO", "mailer", "ENABLE_HELO", "v1.19.0")
104102
if sec.HasKey("DISABLE_HELO") && !sec.HasKey("ENABLE_HELO") {
105103
sec.Key("ENABLE_HELO").MustBool(!sec.Key("DISABLE_HELO").MustBool())
106104
}
107105

108-
// FIXME: DEPRECATED to be removed in v1.19.0
109-
deprecatedSetting(rootCfg, "mailer", "SKIP_VERIFY", "mailer", "FORCE_TRUST_SERVER_CERT")
106+
deprecatedSetting(rootCfg, "mailer", "SKIP_VERIFY", "mailer", "FORCE_TRUST_SERVER_CERT", "v1.19.0")
110107
if sec.HasKey("SKIP_VERIFY") && !sec.HasKey("FORCE_TRUST_SERVER_CERT") {
111108
sec.Key("FORCE_TRUST_SERVER_CERT").MustBool(sec.Key("SKIP_VERIFY").MustBool())
112109
}
113110

114-
// FIXME: DEPRECATED to be removed in v1.19.0
115-
deprecatedSetting(rootCfg, "mailer", "USE_CERTIFICATE", "mailer", "USE_CLIENT_CERT")
111+
deprecatedSetting(rootCfg, "mailer", "USE_CERTIFICATE", "mailer", "USE_CLIENT_CERT", "v1.19.0")
116112
if sec.HasKey("USE_CERTIFICATE") && !sec.HasKey("USE_CLIENT_CERT") {
117113
sec.Key("USE_CLIENT_CERT").MustBool(sec.Key("USE_CERTIFICATE").MustBool())
118114
}
119115

120-
// FIXME: DEPRECATED to be removed in v1.19.0
121-
deprecatedSetting(rootCfg, "mailer", "CERT_FILE", "mailer", "CLIENT_CERT_FILE")
116+
deprecatedSetting(rootCfg, "mailer", "CERT_FILE", "mailer", "CLIENT_CERT_FILE", "v1.19.0")
122117
if sec.HasKey("CERT_FILE") && !sec.HasKey("CLIENT_CERT_FILE") {
123118
sec.Key("CERT_FILE").MustString(sec.Key("CERT_FILE").String())
124119
}
125120

126-
// FIXME: DEPRECATED to be removed in v1.19.0
127-
deprecatedSetting(rootCfg, "mailer", "KEY_FILE", "mailer", "CLIENT_KEY_FILE")
121+
deprecatedSetting(rootCfg, "mailer", "KEY_FILE", "mailer", "CLIENT_KEY_FILE", "v1.19.0")
128122
if sec.HasKey("KEY_FILE") && !sec.HasKey("CLIENT_KEY_FILE") {
129123
sec.Key("KEY_FILE").MustString(sec.Key("KEY_FILE").String())
130124
}
131125

132-
// FIXME: DEPRECATED to be removed in v1.19.0
133-
deprecatedSetting(rootCfg, "mailer", "ENABLE_HTML_ALTERNATIVE", "mailer", "SEND_AS_PLAIN_TEXT")
126+
deprecatedSetting(rootCfg, "mailer", "ENABLE_HTML_ALTERNATIVE", "mailer", "SEND_AS_PLAIN_TEXT", "v1.19.0")
134127
if sec.HasKey("ENABLE_HTML_ALTERNATIVE") && !sec.HasKey("SEND_AS_PLAIN_TEXT") {
135128
sec.Key("SEND_AS_PLAIN_TEXT").MustBool(!sec.Key("ENABLE_HTML_ALTERNATIVE").MustBool(false))
136129
}

Diff for: modules/setting/mirror.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ var Mirror = struct {
2727
func loadMirrorFrom(rootCfg ConfigProvider) {
2828
// Handle old configuration through `[repository]` `DISABLE_MIRRORS`
2929
// - please note this was badly named and only disabled the creation of new pull mirrors
30-
// FIXME: DEPRECATED to be removed in v1.18.0
31-
deprecatedSetting(rootCfg, "repository", "DISABLE_MIRRORS", "mirror", "ENABLED")
30+
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
31+
// if these are removed, the warning will not be shown
32+
deprecatedSetting(rootCfg, "repository", "DISABLE_MIRRORS", "mirror", "ENABLED", "v1.19.0")
3233
if rootCfg.Section("repository").Key("DISABLE_MIRRORS").MustBool(false) {
3334
Mirror.DisableNewPull = true
3435
}

Diff for: modules/setting/server.go

+10-8
Original file line numberDiff line numberDiff line change
@@ -178,38 +178,40 @@ func loadServerFrom(rootCfg ConfigProvider) {
178178
switch protocolCfg {
179179
case "https":
180180
Protocol = HTTPS
181-
// FIXME: DEPRECATED to be removed in v1.18.0
181+
182+
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
183+
// if these are removed, the warning will not be shown
182184
if sec.HasKey("ENABLE_ACME") {
183185
EnableAcme = sec.Key("ENABLE_ACME").MustBool(false)
184186
} else {
185-
deprecatedSetting(rootCfg, "server", "ENABLE_LETSENCRYPT", "server", "ENABLE_ACME")
187+
deprecatedSetting(rootCfg, "server", "ENABLE_LETSENCRYPT", "server", "ENABLE_ACME", "v1.19.0")
186188
EnableAcme = sec.Key("ENABLE_LETSENCRYPT").MustBool(false)
187189
}
188190
if EnableAcme {
189191
AcmeURL = sec.Key("ACME_URL").MustString("")
190192
AcmeCARoot = sec.Key("ACME_CA_ROOT").MustString("")
191-
// FIXME: DEPRECATED to be removed in v1.18.0
193+
192194
if sec.HasKey("ACME_ACCEPTTOS") {
193195
AcmeTOS = sec.Key("ACME_ACCEPTTOS").MustBool(false)
194196
} else {
195-
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_ACCEPTTOS", "server", "ACME_ACCEPTTOS")
197+
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_ACCEPTTOS", "server", "ACME_ACCEPTTOS", "v1.19.0")
196198
AcmeTOS = sec.Key("LETSENCRYPT_ACCEPTTOS").MustBool(false)
197199
}
198200
if !AcmeTOS {
199201
log.Fatal("ACME TOS is not accepted (ACME_ACCEPTTOS).")
200202
}
201-
// FIXME: DEPRECATED to be removed in v1.18.0
203+
202204
if sec.HasKey("ACME_DIRECTORY") {
203205
AcmeLiveDirectory = sec.Key("ACME_DIRECTORY").MustString("https")
204206
} else {
205-
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_DIRECTORY", "server", "ACME_DIRECTORY")
207+
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_DIRECTORY", "server", "ACME_DIRECTORY", "v1.19.0")
206208
AcmeLiveDirectory = sec.Key("LETSENCRYPT_DIRECTORY").MustString("https")
207209
}
208-
// FIXME: DEPRECATED to be removed in v1.18.0
210+
209211
if sec.HasKey("ACME_EMAIL") {
210212
AcmeEmail = sec.Key("ACME_EMAIL").MustString("")
211213
} else {
212-
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_EMAIL", "server", "ACME_EMAIL")
214+
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_EMAIL", "server", "ACME_EMAIL", "v1.19.0")
213215
AcmeEmail = sec.Key("LETSENCRYPT_EMAIL").MustString("")
214216
}
215217
} else {

Diff for: modules/setting/task.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33

44
package setting
55

6-
// FIXME: DEPRECATED to be removed in v1.18.0
6+
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
7+
// if these are removed, the warning will not be shown
78
// - will need to set default for [queue.task] LENGTH to 1000 though
89
func loadTaskFrom(rootCfg ConfigProvider) {
910
taskSec := rootCfg.Section("task")
1011
queueTaskSec := rootCfg.Section("queue.task")
1112

12-
deprecatedSetting(rootCfg, "task", "QUEUE_TYPE", "queue.task", "TYPE")
13-
deprecatedSetting(rootCfg, "task", "QUEUE_CONN_STR", "queue.task", "CONN_STR")
14-
deprecatedSetting(rootCfg, "task", "QUEUE_LENGTH", "queue.task", "LENGTH")
13+
deprecatedSetting(rootCfg, "task", "QUEUE_TYPE", "queue.task", "TYPE", "v1.19.0")
14+
deprecatedSetting(rootCfg, "task", "QUEUE_CONN_STR", "queue.task", "CONN_STR", "v1.19.0")
15+
deprecatedSetting(rootCfg, "task", "QUEUE_LENGTH", "queue.task", "LENGTH", "v1.19.0")
1516

1617
switch taskSec.Key("QUEUE_TYPE").MustString("channel") {
1718
case "channel":

0 commit comments

Comments
 (0)