Dan Hansen
11/25/2025, 3:08 AM!store.get which the docs say is explicitly for fetching arbitrary, non-prefixed keys.
It seems that only the Azure Key Vault store has this behavior, the rest add a prefix. I can put together a PR with fixes + test updates if this is in fact the correct behavior.Dan Hansen
11/25/2025, 3:18 AM• Exact Key Matching: The key you provide must match exactly how it is stored in the backend, including any required prefix, path, or normalization specific to that store
Andriy Knysh (Cloud Posse)
11/25/2025, 3:22 AMDan Hansen
11/25/2025, 3:33 AMGabriela Campana (Cloud Posse)
11/25/2025, 5:56 PMDan Hansen
12/04/2025, 6:40 PMAndriy Knysh (Cloud Posse)
12/04/2025, 6:41 PMAndriy Knysh (Cloud Posse)
12/04/2025, 11:08 PMWindows Test Failure Explanation
The test failure is caused by cross-platform path handling in artifactory_store.go:310:
repoPath := filepath.Join(s.repoName, filePath)
Problem
filepath.Join uses the OS-specific path separator:
- Linux/macOS: / (forward slash)
- Windows: \ (backslash)
The test expects:
params.Pattern == "test-repo/config/app-settings.json"
But on Windows, filepath.Join("test-repo", "config/app-settings.json") produces:
"test-repo\config/app-settings.json"
This causes the mock matcher to fail because the pattern doesn't match.
Solution
The PR author should use path.Join instead of filepath.Join for URL/remote paths, or manually construct the path with /:
// Option 1: Use path.Join (always uses forward slashes)
import "path"
repoPath := path.Join(s.repoName, filePath)
// Option 2: Manual string concatenation
repoPath := s.repoName + "/" + filePathAndriy Knysh (Cloud Posse)
12/04/2025, 11:09 PMpath.Join