Skip to content

secretspec check shows incorrect information after rename project name #48

@unkcpz

Description

@unkcpz

I have two keys set for my project, here is my secretspec.toml:

[project]
name = "dev-environment"
revision = "1.0"

[profiles.default]
# DATABASE_URL = { description = "Database connection string", required = true }

[profiles.development]
EINFRACZ_API_KEY = { description = "API key for einfracz" }
OPENROUTER_API_KEY = { description = "API Key for openrounter.ai" }

after I rename the project name, I run secretspec check it shows ticks for both keys but they are empty inside the devenv shell.

I have my devenv.yaml as

secretspec:
  enable: true
  provider: keyring
  profile: development
inputs:
  nixpkgs:
...

If I change the project name back, the keys are available again. I believe the behavior is correct that after change the project name I need to reset the keys, but the states are wrongly shown. Let me know if more debug info needed.

Is the provider "keyring" using linux native keyring or it uses desktop keyring?

UPDATE: I can confirmed using seahorse that shows keyring stored using desktop keyring not kernel keyring, and the key name has the project name with it that's why after rename the project lead to key not available.

Thus there are three unsound behaviors when secretspec interops with devenv:

  1. if no proper secret key which is set in the secrectspec.yaml found yet, the devenv command frozen.
  2. ctrl+c not gracefully kill the process but frozen there.
  3. After press enter in the frozen session after ctrl+c, the process end but an empty key is created in my keyring app.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions