roapi icon indicating copy to clipboard operation
roapi copied to clipboard

Proposal: Persistent Configuration File for Dynamic Table Management in ROAPI

Open mrchypark opened this issue 1 year ago • 1 comments

First of all, I'd like to express my gratitude for the excellent work on ROAPI. It's an incredibly useful tool, and I appreciate the effort put into its development.

Current Situation

Currently, ROAPI offers three ways to configure settings:

  1. CLI
  2. Config file
  3. Config API

Proposal

I'd like to suggest an enhancement to the configuration management system, particularly focusing on the config file option. The idea is to make the config file persistently reflect the latest configuration state, regardless of how changes are made.

Key Points:

  1. Dynamic Updates: When configuration changes are made through any method (CLI, Config API, etc.), these changes should be automatically written to the config file.

  2. Persistent Storage: The config file should always contain the most up-to-date configuration.

  3. Use Case: This feature would be particularly useful for scenarios where ROAPI is used to dynamically register and deregister multiple tables from object storage that are frequently updated.

Benefits:

  1. Resilience: In case of server issues or restarts, ROAPI can safely reinitialize using the latest configuration from the file.

  2. Backup and Restore: Enables easy configuration backup and restore processes.

  3. Consistency: Ensures that the on-disk configuration always matches the in-memory state.

Implementation Considerations

  • Implement a mechanism to write configuration changes to the file system in real-time.
  • Ensure thread-safety for concurrent read/write operations on the config file.
  • Consider providing options for users to specify the location of this persistent config file.

I believe this enhancement would significantly improve the user experience for those of us working with dynamic table configurations. It would add an extra layer of reliability and ease of management to the already powerful ROAPI system.

Thank you for considering this proposal. I'm looking forward to your thoughts on this idea.

mrchypark avatar Aug 04 '24 13:08 mrchypark