Skip to content

Commit 6db7b36

Browse files
committed
📂 Custom .ws dir
1 parent d78ebb6 commit 6db7b36

File tree

4 files changed

+27
-2
lines changed

4 files changed

+27
-2
lines changed

‎cmd/info/version.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
package info
22

3-
var Version = "0.0.48"
3+
var Version = "0.0.49"

‎internals/config/defaults.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ const (
1212
EnvMetricsPort = "WS_METRICS_PORT"
1313
EnvMetricsCollectors = "WS_METRICS_COLLECTORS"
1414

15-
DefaultSecretsKeyPath = "/etc/workspace/master.key"
15+
DefaultSecretsKeyPath = "/etc/workspace/master.key"
16+
DefaultSecretsVaultPath = "~/.ws/vault/secrets.yaml"
1617
DefaultEnvFilePath = "~/.zshenv"
1718
DefaultLoggingDir = "/var/log/workspace"
1819
DefaultLoggingFile = "workspace.log"

‎internals/secrets/vault.go‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,15 @@ func ResolveVaultPath(inputFlag string) (string, error) {
139139
return vaultPath, nil
140140
}
141141

142+
defaultPath, err := path.Expand(config.DefaultSecretsVaultPath)
143+
if err != nil {
144+
return "", fmt.Errorf("failed to resolve default vault path: %w", err)
145+
}
146+
147+
if _, err := os.Stat(defaultPath); err == nil {
148+
return defaultPath, nil
149+
}
150+
142151
return "", fmt.Errorf("vault file not specified (use --input or %s)", config.EnvSecretsVault)
143152
}
144153

‎internals/secrets/vault_test.go‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,22 @@ func TestResolveVaultPath(t *testing.T) {
280280
assert.Equal(t, "/env/vault.yaml", path)
281281
})
282282

283+
t.Run("FromDefault", func(t *testing.T) {
284+
home := t.TempDir()
285+
t.Setenv("HOME", home)
286+
t.Setenv("WS_SECRETS_VAULT", "")
287+
288+
defaultVault := filepath.Join(home, ".ws", "vault", "secrets.yaml")
289+
assert.NilError(t, os.MkdirAll(filepath.Dir(defaultVault), 0o755))
290+
assert.NilError(t, os.WriteFile(defaultVault, []byte("secrets:\n"), 0o600))
291+
292+
path, err := ResolveVaultPath("")
293+
assert.NilError(t, err)
294+
assert.Equal(t, defaultVault, path)
295+
})
296+
283297
t.Run("NotSpecified", func(t *testing.T) {
298+
t.Setenv("HOME", t.TempDir())
284299
t.Setenv("WS_SECRETS_VAULT", "")
285300
_, err := ResolveVaultPath("")
286301
assert.ErrorContains(t, err, "vault file not specified")

0 commit comments

Comments
 (0)