Skip to content

Values Store initial implementation#228

Merged
akremenetsky merged 1 commit intomasterfrom
feat/163/vs-support
Feb 3, 2026
Merged

Values Store initial implementation#228
akremenetsky merged 1 commit intomasterfrom
feat/163/vs-support

Conversation

@akremenetsky
Copy link
Member

@akremenetsky akremenetsky commented Jan 23, 2026

There main entities in VS:

  • Profiles. Allow to adaptate installation for various environments such as local development, stage, production.
  • Values. Allow to specify values of different types such as int, float, list, object, string, bool.
  • Variables. The entities with internal logic to calculate value based on profiles or values.

Support of profiles as on the global scope as the element scope. Additional actions in EM API to set and clear profiles.

Closes #163

@akremenetsky akremenetsky self-assigned this Jan 23, 2026
@gemini-code-assist
Copy link

Summary of Changes

Hello @akremenetsky, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces the foundational "Values Store" system, designed to provide a flexible and dynamic way to manage configuration values across different environments and elements. It establishes core entities like Profiles for environment adaptation, Values for typed data storage, and Variables for intelligent value resolution. The changes integrate this new system into the existing API and service architecture, allowing elements to be associated with profiles and enabling variables to automatically determine their values based on these profiles or explicit selections.

Highlights

  • Values Store (VS) Introduction: Implements the core components of the Values Store, including Profiles, Values, and Variables, to manage dynamic configurations and environment adaptation.
  • API Endpoints: New API routes (/v1/vs/) are exposed for interacting with Profiles, Variables, and Values, allowing for CRUD operations and specific actions like profile activation and variable value selection.
  • Element-Profile Integration: The Element model now includes a profile relationship, enabling elements to be associated with specific Values Store profiles. New API actions (set_profile, clear_profile) are added to the Element Manager (EM) API to manage this association.
  • Dynamic Variable Resolution: The VSBuilderService is introduced to dynamically calculate and set variable values based on defined setters (ProfileVariableSetter or SelectorVariableSetter), considering both global and element-specific profiles.
  • Database Schema: New database tables (vs_profiles, vs_variables, vs_values) are created to persist the Values Store entities, along with an update to em_elements to include a profile foreign key.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the Values Store (VS) feature, which includes profiles, values, and variables to adapt installations for various environments. The changes span multiple files, adding new models, API endpoints, and builder services to support this functionality. The review focuses on identifying potential issues related to correctness and maintainability, particularly in the new code related to VS.

@akremenetsky akremenetsky force-pushed the feat/163/vs-support branch 4 times, most recently from 14dbbe7 to 3702ec7 Compare January 30, 2026 17:33
@akremenetsky akremenetsky force-pushed the feat/163/vs-support branch 2 times, most recently from 2fe77b9 to c743b9b Compare February 2, 2026 17:24
@akremenetsky akremenetsky marked this pull request as ready for review February 2, 2026 17:38
There main entities in VS:
- Profiles. Allow to adaptate installation for various environments such
  as local development, stage, production.
- Values. Allow to specify values of different types such as int, float,
  list, object, string, bool.
- Variables. The entities with internal logic to calculate value based
  on profiles or values.

Support of profiles as on the global scope as the element scope.
Additional actions in EM API to set and clear profiles.

Signed-off-by: Anton Kremenetsky <anton.kremenetsky@gmail.com>
@akremenetsky akremenetsky merged commit 6ec3365 into master Feb 3, 2026
15 of 16 checks passed
@akremenetsky akremenetsky deleted the feat/163/vs-support branch February 3, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Values & Profiles

3 participants