Compare commits
No commits in common. "main" and "fix/issue-1" have entirely different histories.
main
...
fix/issue-
@ -71,8 +71,6 @@ func getUnlockerIDsCompletionFunc(fs afero.Fs, stateDir string) func(
|
|||||||
unlockersDir := filepath.Join(vaultDir, "unlockers.d")
|
unlockersDir := filepath.Join(vaultDir, "unlockers.d")
|
||||||
files, err := afero.ReadDir(fs, unlockersDir)
|
files, err := afero.ReadDir(fs, unlockersDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read unlockers directory during completion", "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,15 +85,11 @@ func getUnlockerIDsCompletionFunc(fs afero.Fs, stateDir string) func(
|
|||||||
// Check if this is the right unlocker by comparing metadata
|
// Check if this is the right unlocker by comparing metadata
|
||||||
metadataBytes, err := afero.ReadFile(fs, metadataPath)
|
metadataBytes, err := afero.ReadFile(fs, metadataPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read unlocker metadata during completion", "path", metadataPath, "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var diskMetadata secret.UnlockerMetadata
|
var diskMetadata secret.UnlockerMetadata
|
||||||
if err := json.Unmarshal(metadataBytes, &diskMetadata); err != nil {
|
if err := json.Unmarshal(metadataBytes, &diskMetadata); err != nil {
|
||||||
secret.Warn("Could not parse unlocker metadata during completion", "path", metadataPath, "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.eeqj.de/sneak/secret/internal/secret"
|
|
||||||
"github.com/spf13/afero"
|
"github.com/spf13/afero"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -29,8 +28,6 @@ func gatherVaultStats(
|
|||||||
// Count secrets in this vault
|
// Count secrets in this vault
|
||||||
secretEntries, err := afero.ReadDir(fs, secretsPath)
|
secretEntries, err := afero.ReadDir(fs, secretsPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read secrets directory for vault", "vault", vaultEntry.Name(), "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,8 +43,6 @@ func gatherVaultStats(
|
|||||||
versionsPath := filepath.Join(secretPath, "versions")
|
versionsPath := filepath.Join(secretPath, "versions")
|
||||||
versionEntries, err := afero.ReadDir(fs, versionsPath)
|
versionEntries, err := afero.ReadDir(fs, versionsPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read versions directory for secret", "secret", secretEntry.Name(), "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -507,7 +507,7 @@ func (cli *Instance) ImportSecret(cmd *cobra.Command, secretName, sourceFile str
|
|||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := file.Close(); err != nil {
|
if err := file.Close(); err != nil {
|
||||||
secret.Warn("Failed to close file", "error", err)
|
secret.Debug("Failed to close file", "error", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|||||||
@ -271,8 +271,6 @@ func (cli *Instance) UnlockersList(jsonOutput bool) error {
|
|||||||
// Create unlocker instance to get the proper ID
|
// Create unlocker instance to get the proper ID
|
||||||
vaultDir, err := vlt.GetDirectory()
|
vaultDir, err := vlt.GetDirectory()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not get vault directory while listing unlockers", "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,8 +278,6 @@ func (cli *Instance) UnlockersList(jsonOutput bool) error {
|
|||||||
unlockersDir := filepath.Join(vaultDir, "unlockers.d")
|
unlockersDir := filepath.Join(vaultDir, "unlockers.d")
|
||||||
files, err := afero.ReadDir(cli.fs, unlockersDir)
|
files, err := afero.ReadDir(cli.fs, unlockersDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read unlockers directory", "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -297,16 +293,12 @@ func (cli *Instance) UnlockersList(jsonOutput bool) error {
|
|||||||
// Check if this is the right unlocker by comparing metadata
|
// Check if this is the right unlocker by comparing metadata
|
||||||
metadataBytes, err := afero.ReadFile(cli.fs, metadataPath)
|
metadataBytes, err := afero.ReadFile(cli.fs, metadataPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read unlocker metadata file", "path", metadataPath, "error", err)
|
continue // FIXME this error needs to be handled
|
||||||
|
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var diskMetadata secret.UnlockerMetadata
|
var diskMetadata secret.UnlockerMetadata
|
||||||
if err := json.Unmarshal(metadataBytes, &diskMetadata); err != nil {
|
if err := json.Unmarshal(metadataBytes, &diskMetadata); err != nil {
|
||||||
secret.Warn("Could not parse unlocker metadata file", "path", metadataPath, "error", err)
|
continue // FIXME this error needs to be handled
|
||||||
|
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Match by type and creation time
|
// Match by type and creation time
|
||||||
@ -332,7 +324,6 @@ func (cli *Instance) UnlockersList(jsonOutput bool) error {
|
|||||||
} else {
|
} else {
|
||||||
// Generate ID as fallback
|
// Generate ID as fallback
|
||||||
properID = fmt.Sprintf("%s-%s", metadata.CreatedAt.Format("2006-01-02.15.04"), metadata.Type)
|
properID = fmt.Sprintf("%s-%s", metadata.CreatedAt.Format("2006-01-02.15.04"), metadata.Type)
|
||||||
secret.Warn("Could not create unlocker instance, using fallback ID", "fallback_id", properID, "type", metadata.Type)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unlockerInfo := UnlockerInfo{
|
unlockerInfo := UnlockerInfo{
|
||||||
@ -599,16 +590,12 @@ func (cli *Instance) checkUnlockerExists(vlt *vault.Vault, unlockerID string) er
|
|||||||
// Get the list of unlockers and check if any match the ID
|
// Get the list of unlockers and check if any match the ID
|
||||||
unlockers, err := vlt.ListUnlockers()
|
unlockers, err := vlt.ListUnlockers()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not list unlockers during duplicate check", "error", err)
|
|
||||||
|
|
||||||
return nil // If we can't list unlockers, assume it doesn't exist
|
return nil // If we can't list unlockers, assume it doesn't exist
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get vault directory to construct unlocker instances
|
// Get vault directory to construct unlocker instances
|
||||||
vaultDir, err := vlt.GetDirectory()
|
vaultDir, err := vlt.GetDirectory()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not get vault directory during duplicate check", "error", err)
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -618,8 +605,6 @@ func (cli *Instance) checkUnlockerExists(vlt *vault.Vault, unlockerID string) er
|
|||||||
unlockersDir := filepath.Join(vaultDir, "unlockers.d")
|
unlockersDir := filepath.Join(vaultDir, "unlockers.d")
|
||||||
files, err := afero.ReadDir(cli.fs, unlockersDir)
|
files, err := afero.ReadDir(cli.fs, unlockersDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read unlockers directory during duplicate check", "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -634,15 +619,11 @@ func (cli *Instance) checkUnlockerExists(vlt *vault.Vault, unlockerID string) er
|
|||||||
// Check if this matches our metadata
|
// Check if this matches our metadata
|
||||||
metadataBytes, err := afero.ReadFile(cli.fs, metadataPath)
|
metadataBytes, err := afero.ReadFile(cli.fs, metadataPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
secret.Warn("Could not read unlocker metadata during duplicate check", "path", metadataPath, "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var diskMetadata secret.UnlockerMetadata
|
var diskMetadata secret.UnlockerMetadata
|
||||||
if err := json.Unmarshal(metadataBytes, &diskMetadata); err != nil {
|
if err := json.Unmarshal(metadataBytes, &diskMetadata); err != nil {
|
||||||
secret.Warn("Could not parse unlocker metadata during duplicate check", "path", metadataPath, "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -164,7 +164,7 @@ func (cli *Instance) ListVersions(cmd *cobra.Command, secretName string) error {
|
|||||||
|
|
||||||
// Load metadata
|
// Load metadata
|
||||||
if err := sv.LoadMetadata(ltIdentity); err != nil {
|
if err := sv.LoadMetadata(ltIdentity); err != nil {
|
||||||
secret.Warn("Failed to load version metadata", "version", version, "error", err)
|
secret.Debug("Failed to load version metadata", "version", version, "error", err)
|
||||||
// Display version with error
|
// Display version with error
|
||||||
status := "error"
|
status := "error"
|
||||||
if version == currentVersion {
|
if version == currentVersion {
|
||||||
|
|||||||
@ -53,10 +53,7 @@ func DetermineStateDir(customConfigDir string) (string, error) {
|
|||||||
return "", fmt.Errorf("unable to determine state directory: config dir: %w, home dir: %w", err, homeErr)
|
return "", fmt.Errorf("unable to determine state directory: config dir: %w, home dir: %w", err, homeErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
fallbackDir := filepath.Join(homeDir, ".config", AppID)
|
return filepath.Join(homeDir, ".config", AppID), nil
|
||||||
Warn("Could not determine user config directory, falling back to default", "fallback", fallbackDir, "error", err)
|
|
||||||
|
|
||||||
return fallbackDir, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return filepath.Join(configDir, AppID), nil
|
return filepath.Join(configDir, AppID), nil
|
||||||
|
|||||||
@ -102,8 +102,6 @@ func GenerateVersionName(fs afero.Fs, secretDir string) (string, error) {
|
|||||||
|
|
||||||
var serial int
|
var serial int
|
||||||
if _, err := fmt.Sscanf(parts[1], "%03d", &serial); err != nil {
|
if _, err := fmt.Sscanf(parts[1], "%03d", &serial); err != nil {
|
||||||
Warn("Skipping malformed version directory name", "name", entry.Name(), "error", err)
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user