@@ -793,27 +793,10 @@ func NewContext() {
793793 log .Fatal ("error generating JWT secret: %v" , err )
794794 return
795795 }
796- cfg := ini .Empty ()
797- isFile , err := util .IsFile (CustomConf )
798- if err != nil {
799- log .Error ("Unable to check if %s is a file. Error: %v" , CustomConf , err )
800- }
801- if isFile {
802- if err := cfg .Append (CustomConf ); err != nil {
803- log .Error ("failed to load custom conf %s: %v" , CustomConf , err )
804- return
805- }
806- }
807- cfg .Section ("oauth2" ).Key ("JWT_SECRET" ).SetValue (OAuth2 .JWTSecretBase64 )
808796
809- if err := os .MkdirAll (filepath .Dir (CustomConf ), os .ModePerm ); err != nil {
810- log .Fatal ("failed to create '%s': %v" , CustomConf , err )
811- return
812- }
813- if err := cfg .SaveTo (CustomConf ); err != nil {
814- log .Fatal ("error saving generating JWT secret to custom config: %v" , err )
815- return
816- }
797+ CreateOrAppendToCustomConf (func (cfg * ini.File ) {
798+ cfg .Section ("oauth2" ).Key ("JWT_SECRET" ).SetValue (OAuth2 .JWTSecretBase64 )
799+ })
817800 }
818801 }
819802
@@ -1075,26 +1058,9 @@ func loadOrGenerateInternalToken(sec *ini.Section) string {
10751058 }
10761059
10771060 // Save secret
1078- cfgSave := ini .Empty ()
1079- isFile , err := util .IsFile (CustomConf )
1080- if err != nil {
1081- log .Error ("Unable to check if %s is a file. Error: %v" , CustomConf , err )
1082- }
1083- if isFile {
1084- // Keeps custom settings if there is already something.
1085- if err := cfgSave .Append (CustomConf ); err != nil {
1086- log .Error ("Failed to load custom conf '%s': %v" , CustomConf , err )
1087- }
1088- }
1089-
1090- cfgSave .Section ("security" ).Key ("INTERNAL_TOKEN" ).SetValue (token )
1091-
1092- if err := os .MkdirAll (filepath .Dir (CustomConf ), os .ModePerm ); err != nil {
1093- log .Fatal ("Failed to create '%s': %v" , CustomConf , err )
1094- }
1095- if err := cfgSave .SaveTo (CustomConf ); err != nil {
1096- log .Fatal ("Error saving generated INTERNAL_TOKEN to custom config: %v" , err )
1097- }
1061+ CreateOrAppendToCustomConf (func (cfg * ini.File ) {
1062+ cfg .Section ("security" ).Key ("INTERNAL_TOKEN" ).SetValue (token )
1063+ })
10981064 }
10991065 return token
11001066}
@@ -1160,6 +1126,32 @@ func MakeManifestData(appName string, appURL string, absoluteAssetURL string) []
11601126 return bytes
11611127}
11621128
1129+ // CreateOrAppendToCustomConf creates or updates the custom config.
1130+ // Use the callback to set individual values.
1131+ func CreateOrAppendToCustomConf (callback func (cfg * ini.File )) {
1132+ cfg := ini .Empty ()
1133+ isFile , err := util .IsFile (CustomConf )
1134+ if err != nil {
1135+ log .Error ("Unable to check if %s is a file. Error: %v" , CustomConf , err )
1136+ }
1137+ if isFile {
1138+ if err := cfg .Append (CustomConf ); err != nil {
1139+ log .Error ("failed to load custom conf %s: %v" , CustomConf , err )
1140+ return
1141+ }
1142+ }
1143+
1144+ callback (cfg )
1145+
1146+ if err := os .MkdirAll (filepath .Dir (CustomConf ), os .ModePerm ); err != nil {
1147+ log .Fatal ("failed to create '%s': %v" , CustomConf , err )
1148+ return
1149+ }
1150+ if err := cfg .SaveTo (CustomConf ); err != nil {
1151+ log .Fatal ("error saving to custom config: %v" , err )
1152+ }
1153+ }
1154+
11631155// NewServices initializes the services
11641156func NewServices () {
11651157 InitDBConfig ()
0 commit comments