Skip to content

Enhance otdfctl CLI to Manage Default Platform Key #512

@jrschumacher

Description

@jrschumacher

Story

As a platform administrator, I need the ability to set, update, and view the default platform key using the otdfctl CLI tool, so that I can manage this critical configuration without requiring access to the web interface.

Description

With the implementation of the default platform key feature in the KAS, the otdfctl CLI tool needs to be updated to provide command-line capabilities for managing this key. This will allow administrators to automate key management processes and integrate with existing operational workflows.

Acceptance Criteria

Functionality

Add new commands to otdfctl to set a default platform key

Add command to view the current default platform key details

Add command to update/change the default platform key

Add command to remove/unset the default platform key (with appropriate warnings)

Implement proper permission checks for these operations

Ensure consistent behavior with the web interface implementation

Testing

Unit tests for all new CLI commands

Integration tests verifying CLI operations correctly affect the KAS configuration

Test error handling for invalid inputs and unauthorized operations

Test output formatting for different verbosity levels

Documentation

Update CLI help text with detailed examples

Update administrator documentation to include new CLI commands

Add examples showing common workflows

Document any differences between CLI and web interface behavior

Migration

Ensure backward compatibility with previous CLI versions

Document any changes to existing command output formats

Notes

This feature depends on the implementation of the default platform key in the KAS (reference previous ticket). The CLI implementation should follow the same sharing and security considerations identified in that work.

Technical Considerations

Command syntax should follow existing CLI patterns

Consider JSON output format for automation/scripting purposes

Security implications of displaying key information in CLI output

Proper error reporting when server-side operations fail

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions