Skip to content

OSL Internship ‐ 2024 ‐ 2nd Cycle

Ivan Ogasawara edited this page Apr 17, 2024 · 1 revision

Envers


Project Idea 1: Improve the Initial Structure of Envers

Abstract

This proposal outlines a structured approach to enhancing 'Envers', a command-line tool designed for efficient and secure management of environment variables across various deployment stages, including staging, development, and production. Envers leverages uses encryption in order to ensure a high level of security in configuration management.

The proposal for OSL Internship Program aims to implement several key improvements to Envers, focusing on both functionality enhancement and code quality. The specific tasks include:

  1. Password Management Enhancement:

    • Implement a feature to allow users to change the encryption password. This is critical for maintaining security, especially in scenarios where password compromise is suspected.
  2. Selective Profile Loading:

    • Enhance the profile-load command to support loading of specific environment files. This feature will provide users with greater flexibility in managing different environment configurations.
  3. Support for Xonsh Environment Variables:

    • Introduce the capability to handle 'xonsh' shell environment variables. This will extend Envers' applicability to a broader range of development environments.
    • Implement rendering of these variables in the profile-load process, thereby integrating seamlessly with existing functionalities.
  4. Documentation Improvement:

    • Revise and augment the existing documentation to reflect new features and provide clear, concise, and up-to-date guidance for users. This includes expanding on usage examples, detailing new command options, and updating the setup instructions.
  5. Enhanced Testing:

    • Strengthen the unit and smoke test suites to ensure comprehensive coverage and robustness of the application. This includes adding tests for new features and refining existing tests for better reliability and efficiency.

Current State

Envers is a young project that aims to help teams to handle environment variables in different kind of environments (production, staging, dev, etc)

Tasks

Expected Outcomes

  • Option for changing the password for a specific profile
  • Option for load just a specific file for a specific profile and version
  • A better experience for the documentation, with more information and examples
  • More tests for unit test and smoke tests

Details

  • Prerequisites:
    • Python
    • Object-oriented programming (OOP)
    • YAML
    • Shell Script (basic)
  • Expected Time: 350 hours
  • Potential Mentor(s): Ivan Ogasawara

References