Skip to content

Make --state command line option a config file option, too? #376

@jpmens

Description

@jpmens

Not an actual issue, just an observation with a question.

Cascade version 0.1.0-alpha5 built from source for architecture aarch64

For demonstration purposes, I choose to replace all system directories by my $HOME/cascade and therefore install and alter a config.toml as follows:

$ grep -- -dir config.toml 
# policy-dir = "/etc/cascade/policies"
policy-dir = "/home/jpm/cascade/policies"
# zone-state-dir = "/var/lib/cascade/zone-state"
zone-state-dir = "/home/jpm/cascade/zone-state"
# keys-dir = "/var/lib/cascade/keys"
keys-dir = "/home/jpm/cascade/keys"
# kmip-server-state-dir = "/var/lib/cascade/kmip"
kmip-server-state-dir = "/home/jpm/cascade/kmip"

I then launch and stop the server:

$ cascaded -c config.toml
... ^C
2025-11-28T09:40:34.565217Z  INFO cascade::manager: All units report ready.
^C2025-11-28T09:40:35.433631Z ERROR cascade::state: Could not save the global state to '/var/lib/cascade/state.db': Permission denied (os error 13)

I do not see how/where to configure that "global state" directory, and do not find it mentioned in the venerable documentation :-)

Using strings(1) on the binary has me think the path is hardcoded, and a search over the source confirms that, however, I do then find the server's --state option, and indeed, the following silences the error:

$ cascaded -c config.toml --state state.db

Is the server's state.db not configurable from within config.toml?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions