enhance: add ACME profile setting

Assisted-by: Copilot:gpt-5.6-terra

Co-authored-by: techknowlogick <164197+techknowlogick@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-09-21 15:47:14 +00:00
committed by GitHub
parent ad68a56950
commit 30069d248c
3 changed files with 42 additions and 0 deletions
+1
View File
@@ -83,6 +83,7 @@ func runACME(listenAddr string, m http.Handler) error {
TrustedRoots: certPool,
Email: setting.AcmeEmail,
Agreed: setting.AcmeTOS,
Profile: setting.AcmeProfile,
DisableHTTPChallenge: !enableHTTPChallenge,
DisableTLSALPNChallenge: !enableTLSALPNChallenge,
ListenHost: setting.HTTPAddr,
+2
View File
@@ -100,6 +100,7 @@ var (
AcmeLiveDirectory string
AcmeEmail string
AcmeURL string
AcmeProfile string
AcmeCARoot string
SSLMinimumVersion string
SSLMaximumVersion string
@@ -142,6 +143,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
Protocol = HTTPS
if EnableAcme {
AcmeURL = sec.Key("ACME_URL").MustString("")
AcmeProfile = sec.Key("ACME_PROFILE").MustString("")
AcmeCARoot = sec.Key("ACME_CA_ROOT").MustString("")
if sec.HasKey("ACME_ACCEPTTOS") {
+39
View File
@@ -0,0 +1,39 @@
// Copyright 2026 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package setting
import (
"testing"
"gitea.dev/modules/test"
"github.com/stretchr/testify/assert"
)
func TestLoadServerFromACMEProfile(t *testing.T) {
defer test.MockVariableValue(&Protocol)()
defer test.MockVariableValue(&EnableAcme)()
defer test.MockVariableValue(&AcmeTOS)()
defer test.MockVariableValue(&AcmeURL)()
defer test.MockVariableValue(&AcmeProfile)()
defer test.MockVariableValue(&AcmeCARoot)()
defer test.MockVariableValue(&AcmeLiveDirectory)()
defer test.MockVariableValue(&AcmeEmail)()
cfg, err := NewConfigProviderFromData(`
[server]
PROTOCOL = https
ENABLE_ACME = true
ACME_ACCEPTTOS = true
ACME_DIRECTORY = /tmp/acme
ACME_EMAIL = acme@example.com
ACME_PROFILE = shortlived
`)
assert.NoError(t, err)
loadServerFrom(cfg)
assert.Equal(t, HTTPS, Protocol)
assert.Equal(t, "shortlived", AcmeProfile)
}