v3.0.0-alpha.4
This new release adds many new features! With its comprehensive documentation and many unit tests.
Merges
- Update README.md by @SamerW in #38
- Patch install process by @LeChatP in #39
- v3.0.0-alpha.4 by @LeChatP in #42
- Bugfixes, Tests & Docs by @LeChatP in #43
- Hashchecker fix + docs by @LeChatP in #44
- Tests and bugfixes by @LeChatP in #45
- Capable: Add json output by @LeChatP in #46
- Fixes and tests + Better conflict resolution + Scenarios in documentation by @LeChatP in #47
- Fix env vars + erasing password in-memory by @LeChatP in #48
Replacing XML to JSON file format
- The project now embraces JSON for configuration management, offering improved flexibility.
- After careful consideration among JSON, YAML, or KDL, JSON emerged as the preferred choice.
chsr
is simple enough to avoid direct file manipulation- JSON is the industry's most used and interoperable.
- Discouraging text editing because
rootasrole.json
should be immutable, as usingchattr
is annoying - Other formats allow commenting but these would be deleted each time using
chsr
tool.
Adding new configuration file for storage configuration
As RootAsRole implements the RBAC model, it would be interesting to plan the database integration, such as LDAP for user assignment and SQLite/PostgreSQL/MySQL for role and task definitions.
Rewrite of chsr
tool
- The
chsr
tool has undergone a complete rewrite, eliminating the Text User Interface (TUI). - Concerns regarding usability inefficiency drove the decision to move away from TUI.
- The new Command-Line Interface (CLI) offers enhanced usability and efficiency in managing roles.
- Inspired by tools like
ip
ornftables
, the new CLI syntax is intuitive and user-friendly. - We developed a grammar
pest
to enable syntax management like these tools, asclap-rs
couldn't suffice.
- Inspired by tools like
- Closing #41
Plugin-based features
RBAC-0 features are now core program features, with the implementation of hierarchical roles moved to an 'API'. This facilitates the addition of new features for the separation of duties.
Other new features
- The sr command now operates in a pty, mitigating tty hijacking risks.
- password is now erased from memory after use.
- Enhanced options include:
- Multiple environment variable management policies for flexibility in handling environment variables.
- Inheritable option management allows administrators to define general and specific options with inheritance control.
- Timeout is now an option per-task, providing granular control over task execution.
- Fixes #40
Full Changelog: v3.0.0-alpha.3...v3.0.0-alpha.4