@@ -11,7 +11,6 @@ import (
1111 "github.com/CodeMonkeyCybersecurity/eos/pkg/container"
1212 "github.com/CodeMonkeyCybersecurity/eos/pkg/crypto"
1313 "github.com/CodeMonkeyCybersecurity/eos/pkg/eos_io"
14- "github.com/CodeMonkeyCybersecurity/eos/pkg/secrets"
1514 "github.com/CodeMonkeyCybersecurity/eos/pkg/shared"
1615 "github.com/uptrace/opentelemetry-go-extra/otelzap"
1716 "go.uber.org/zap"
@@ -27,18 +26,14 @@ type InstallConfig struct {
2726
2827 // SSHPort is the SSH port for Git operations (default: 2222)
2928 SSHPort int
30-
31- // SecretManager is the initialized secret manager for credential storage
32- SecretManager * secrets.Manager
3329}
3430
3531// DefaultInstallConfig returns the default installation configuration
36- func DefaultInstallConfig (secretManager * secrets. Manager ) * InstallConfig {
32+ func DefaultInstallConfig () * InstallConfig {
3733 return & InstallConfig {
38- InstallDir : GiteaDir ,
39- Port : GiteaPort ,
40- SSHPort : GiteaSSHPort ,
41- SecretManager : secretManager ,
34+ InstallDir : GiteaDir ,
35+ Port : GiteaPort ,
36+ SSHPort : GiteaSSHPort ,
4237 }
4338}
4439
@@ -105,33 +100,13 @@ func interveneInstall(rc *eos_io.RuntimeContext, config *InstallConfig) error {
105100 }
106101 }
107102
108- // Step 3: Generate or retrieve database password
109- logger .Info ("Managing secrets for Gitea" )
110- requiredSecrets := map [string ]secrets.SecretType {
111- "db_password" : secrets .SecretTypePassword ,
112- }
113- serviceSecrets , err := config .SecretManager .EnsureServiceSecrets (rc .Ctx , "gitea" , requiredSecrets )
103+ // Step 3: Generate database password
104+ logger .Info ("Generating database password" )
105+ dbPassword , err := crypto .GeneratePassword (32 )
114106 if err != nil {
115- // Fallback: generate password locally if secret manager fails
116- logger .Warn ("Failed to manage secrets via secret manager, generating locally" , zap .Error (err ))
117- password , genErr := crypto .GeneratePassword (32 )
118- if genErr != nil {
119- return fmt .Errorf ("failed to generate password: %w" , genErr )
120- }
121- serviceSecrets = & secrets.ServiceSecrets {
122- Secrets : map [string ]interface {}{
123- "db_password" : password ,
124- },
125- Backend : "local" ,
126- }
127- }
128-
129- dbPassword , ok := serviceSecrets .Secrets ["db_password" ].(string )
130- if ! ok {
131- return fmt .Errorf ("database password is not a string" )
107+ return fmt .Errorf ("failed to generate database password: %w" , err )
132108 }
133- logger .Info ("Secrets managed" ,
134- zap .String ("backend" , serviceSecrets .Backend ))
109+ logger .Debug ("Database password generated" )
135110
136111 // Step 4: Create docker-compose.yml
137112 composeFilePath := filepath .Join (config .InstallDir , GiteaComposeFile )
@@ -189,7 +164,8 @@ func evaluateInstallation(rc *eos_io.RuntimeContext, config *InstallConfig) erro
189164 zap .String ("installation_directory" , config .InstallDir ),
190165 zap .String ("compose_file" , filepath .Join (config .InstallDir , GiteaComposeFile )),
191166 zap .String ("data_directory" , filepath .Join (config .InstallDir , "data" )),
192- zap .String ("database_password_location" , "Retrieve via: eos read credentials --service gitea" ))
167+ zap .String ("env_file" , filepath .Join (config .InstallDir , ".env" )),
168+ zap .String ("database_password_note" , "Database password stored in .env file" ))
193169
194170 logger .Info ("Next steps" ,
195171 zap .String ("step_1" , fmt .Sprintf ("Navigate to http://%s:%d" , shared .GetInternalHostname (), config .Port )),
0 commit comments