Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Add ObjectMeta to config#252

Merged
mangelajo merged 4 commits intomainfrom
metadata
Feb 6, 2025
Merged

Add ObjectMeta to config#252
mangelajo merged 4 commits intomainfrom
metadata

Conversation

@NickCao
Copy link
Copy Markdown
Collaborator

@NickCao NickCao commented Feb 5, 2025

Summary by CodeRabbit

  • New Features

    • Introduced new command-line options "--namespace" and "--name" for both client and exporter configuration commands, allowing users to explicitly specify configuration metadata.
    • Enhanced configuration management now includes metadata to improve the organization and identification of settings.
  • Refactor

    • Streamlined and standardized the configuration setup for clients and exporters, ensuring consistent behavior across the tool.
    • Updated the internal logic to utilize the new metadata structure in configuration objects.
  • Tests

    • Expanded test coverage to validate the inclusion of metadata in client and exporter configurations, ensuring proper handling and correctness of metadata attributes.

Related to: jumpstarter-dev/jumpstarter#92

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 5, 2025

Walkthrough

The changes standardize and enhance metadata handling across multiple components by introducing and integrating the ObjectMeta class. Both client and exporter configurations, as well as their corresponding test files, now include metadata with explicit namespace and name parameters. In CLI commands for client and exporter configuration creation, additional options (--namespace and --name) have been added, and argument names updated for clarity. The configuration library has been updated to include new environment variables and to export the ObjectMeta model.

Changes

Files Group Change Summary
cli-admin tests
packages/jumpstarter-cli-admin/.../create_test.py
packages/jumpstarter-cli-admin/.../delete_test.py
packages/jumpstarter-cli-admin/.../import_res_test.py
Added import of ObjectMeta and updated configuration objects to use ObjectMeta (with reordered parameters) instead of V1ObjectMeta in metadata fields.
cli-client
packages/jumpstarter-cli-client/.../client_config.py
packages/jumpstarter-cli-client/.../client_test.py
Modified create_client_config: changed "name" to "alias", added --namespace and new --name options; updated tests to include these parameters.
cli-exporter
packages/jumpstarter-cli-exporter/.../exporter_config.py
packages/jumpstarter-cli-exporter/.../exporter_test.py
Revised create_exporter_config to include new parameters (namespace, name) and instantiate metadata using ObjectMeta; updated command-line tests accordingly.
kubernetes clients and exporters
packages/jumpstarter-kubernetes/.../clients.py
packages/jumpstarter-kubernetes/.../exporters.py
Updated methods to include a new metadata field (constructed with ObjectMeta) in the returned configuration objects for clients and exporters.
Project configuration
packages/jumpstarter/jumpstarter/config/__init__.py
packages/jumpstarter/jumpstarter/config/client.py
packages/jumpstarter/jumpstarter/config/client_config_test.py
packages/jumpstarter/jumpstarter/config/common.py
packages/jumpstarter/jumpstarter/config/env.py
packages/jumpstarter/jumpstarter/config/exporter.py
packages/jumpstarter/jumpstarter/config/exporter_test.py
packages/jumpstarter/jumpstarter/config/user_config_test.py
Introduced ObjectMeta (with a Pydantic model) and new environment variable constants (JMP_NAMESPACE, JMP_NAME); updated client and exporter config classes and their tests by adding a metadata field and corresponding assertions.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant CLI
    participant ClientConfigCreator
    participant ObjectMeta
    User->>CLI: Execute "create-config" with alias, --namespace, --name
    CLI->>ClientConfigCreator: Pass alias, namespace, and name
    ClientConfigCreator->>ObjectMeta: Instantiate metadata (namespace, name)
    ObjectMeta-->>ClientConfigCreator: Return metadata instance
    ClientConfigCreator->>CLI: Return complete client configuration
    CLI->>User: Confirm client configuration creation
Loading
sequenceDiagram
    participant User
    participant CLI
    participant ExporterConfigCreator
    participant ObjectMeta
    User->>CLI: Execute "create-config" for exporter with alias, --namespace, --name, endpoint, token
    CLI->>ExporterConfigCreator: Pass alias, namespace, name, endpoint, token
    ExporterConfigCreator->>ObjectMeta: Instantiate metadata (namespace, name)
    ObjectMeta-->>ExporterConfigCreator: Return metadata instance
    ExporterConfigCreator->>CLI: Return complete exporter configuration
    CLI->>User: Confirm exporter configuration creation
Loading

Possibly related PRs

Suggested reviewers

  • mangelajo
  • kirkbrauer

Poem

I’m a rabbit in the codefield, hopping with glee,
Adding metadata fields one, two, and three.
Namespace and name now lead the way,
In client and exporter configs they proudly stay.
ASCII carrots and code so bright,
I nibble bugs away with delight!
Hop on, the changes are in sight!

Tip

🌐 Web search-backed reviews and chat
  • We have enabled web search-based reviews and chat for all users. This feature allows CodeRabbit to access the latest documentation and information on the web.
  • You can disable this feature by setting web_search: false in the knowledge_base settings.
  • Please share any feedback in the Discord discussion.

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 546835f and e5e41e7.

📒 Files selected for processing (2)
  • packages/jumpstarter/jumpstarter/config/client.py (4 hunks)
  • packages/jumpstarter/jumpstarter/config/exporter.py (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/jumpstarter/jumpstarter/config/exporter.py
⏰ Context from checks skipped due to timeout of 90000ms (7)
  • GitHub Check: pytest-matrix (3.13)
  • GitHub Check: pytest-matrix (3.12)
  • GitHub Check: pytest-matrix (3.11)
  • GitHub Check: e2e
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-devspace .devfile/Containerfile.client)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-dev .devfile/Containerfile)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter Dockerfile)
🔇 Additional comments (2)
packages/jumpstarter/jumpstarter/config/client.py (2)

12-14: LGTM! Import statements are well-organized.

The new imports are correctly structured and provide the necessary components for the metadata integration.


54-57: LGTM! Authentication mechanism properly updated.

The channel method correctly integrates the new metadata-based authentication using call_credentials.

✨ Finishing Touches
  • 📝 Generate Docstrings (Beta)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🔭 Outside diff range comments (1)
packages/jumpstarter/jumpstarter/config/client_config_test.py (1)

91-115: Fix inconsistent name assertion in test_client_config_from_file.

The test asserts config.name == f.name.split("/")[-1] but also asserts config.metadata.name == "testclient". This seems inconsistent as the name should be consistent across both fields.

Apply this diff to fix the inconsistency:

-        assert config.name == f.name.split("/")[-1]
+        assert config.name == "testclient"
🧹 Nitpick comments (8)
packages/jumpstarter-cli-exporter/jumpstarter_cli_exporter/exporter_config.py (1)

10-11: Consider adding validation for namespace and name.

While the options are correctly added, consider adding validation to ensure the namespace and name follow Kubernetes naming conventions (e.g., lowercase alphanumeric characters, '-' allowed, start/end with alphanumeric).

 @click.command("create-config")
-@click.option("--namespace", prompt=True)
-@click.option("--name", prompt=True)
+@click.option(
+    "--namespace",
+    prompt=True,
+    callback=lambda ctx, param, value: value.lower() if value else None,
+    help="Kubernetes-style namespace (lowercase alphanumeric and '-')"
+)
+@click.option(
+    "--name",
+    prompt=True,
+    callback=lambda ctx, param, value: value.lower() if value else None,
+    help="Kubernetes-style name (lowercase alphanumeric and '-')"
+)

Also applies to: 15-15

packages/jumpstarter-cli-client/jumpstarter_cli_client/client_config.py (1)

17-28: Fix typo in namespace prompt message.

There's a typo in the namespace prompt message: "nespace" should be "namespace".

-    prompt="Enter a valid Jumpstarter client nespace",
+    prompt="Enter a valid Jumpstarter client namespace",
packages/jumpstarter-kubernetes/jumpstarter_kubernetes/clients.py (1)

108-111: Consider adding null checks for metadata fields.

While the implementation is correct, it would be more robust to add null checks for client.metadata.namespace and client.metadata.name to handle edge cases gracefully.

 metadata=ObjectMeta(
-    namespace=client.metadata.namespace,
-    name=client.metadata.name,
+    namespace=getattr(client.metadata, 'namespace', 'default'),
+    name=getattr(client.metadata, 'name', name),
 ),
packages/jumpstarter-kubernetes/jumpstarter_kubernetes/exporters.py (1)

115-118: Consider adding null checks for metadata fields.

Similar to the client configuration, it would be more robust to add null checks for exporter.metadata.namespace and exporter.metadata.name to handle edge cases gracefully.

 metadata=ObjectMeta(
-    namespace=exporter.metadata.namespace,
-    name=exporter.metadata.name,
+    namespace=getattr(exporter.metadata, 'namespace', 'default'),
+    name=getattr(exporter.metadata, 'name', name),
 ),
packages/jumpstarter-cli-admin/jumpstarter_cli_admin/create_test.py (2)

36-36: Consider using ObjectMeta for consistency.

The PR introduces ObjectMeta to standardize metadata handling, but CLIENT_OBJECT still uses V1ObjectMeta. Consider using ObjectMeta for consistency.

Apply this diff:

-    metadata=V1ObjectMeta(namespace="default", name=CLIENT_NAME, creation_timestamp="2024-01-01T21:00:00Z"),
+    metadata=ObjectMeta(namespace="default", name=CLIENT_NAME),

122-122: Consider using ObjectMeta for consistency.

Similar to CLIENT_OBJECT, EXPORTER_OBJECT still uses V1ObjectMeta. Consider using ObjectMeta for consistency.

Apply this diff:

-    metadata=V1ObjectMeta(namespace="default", name=EXPORTER_NAME, creation_timestamp="2024-01-01T21:00:00Z"),
+    metadata=ObjectMeta(namespace="default", name=EXPORTER_NAME),
packages/jumpstarter/jumpstarter/config/client.py (1)

146-149: Consider validating required metadata fields.

The metadata initialization from environment variables should validate that required fields are present.

Consider adding validation before initializing metadata:

+            # Validate required metadata fields
+            namespace = os.environ.get(JMP_NAMESPACE)
+            name = os.environ.get(JMP_NAME)
+            if not namespace or not name:
+                raise ValueError("Both namespace and name are required in metadata")
             metadata=ObjectMeta(
-                namespace=os.environ.get(JMP_NAMESPACE),
-                name=os.environ.get(JMP_NAME),
+                namespace=namespace,
+                name=name,
             ),
packages/jumpstarter-cli-admin/jumpstarter_cli_admin/delete_test.py (1)

138-138: Consider using ObjectMeta for consistency.

Similar to the issues in create_test.py, EXPORTER_OBJECT still uses V1ObjectMeta. Consider using ObjectMeta for consistency.

Apply this diff:

-    metadata=V1ObjectMeta(namespace="default", name=EXPORTER_NAME, creation_timestamp="2024-01-01T21:00:00Z"),
+    metadata=ObjectMeta(namespace="default", name=EXPORTER_NAME),
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4049bf8 and 5bb915c.

📒 Files selected for processing (17)
  • packages/jumpstarter-cli-admin/jumpstarter_cli_admin/create_test.py (3 hunks)
  • packages/jumpstarter-cli-admin/jumpstarter_cli_admin/delete_test.py (3 hunks)
  • packages/jumpstarter-cli-admin/jumpstarter_cli_admin/import_res_test.py (3 hunks)
  • packages/jumpstarter-cli-client/jumpstarter_cli_client/client_config.py (3 hunks)
  • packages/jumpstarter-cli-client/jumpstarter_cli_client/client_test.py (1 hunks)
  • packages/jumpstarter-cli-exporter/jumpstarter_cli_exporter/exporter_config.py (2 hunks)
  • packages/jumpstarter-cli-exporter/jumpstarter_cli_exporter/exporter_test.py (1 hunks)
  • packages/jumpstarter-kubernetes/jumpstarter_kubernetes/clients.py (2 hunks)
  • packages/jumpstarter-kubernetes/jumpstarter_kubernetes/exporters.py (2 hunks)
  • packages/jumpstarter/jumpstarter/config/__init__.py (2 hunks)
  • packages/jumpstarter/jumpstarter/config/client.py (3 hunks)
  • packages/jumpstarter/jumpstarter/config/client_config_test.py (14 hunks)
  • packages/jumpstarter/jumpstarter/config/common.py (1 hunks)
  • packages/jumpstarter/jumpstarter/config/env.py (1 hunks)
  • packages/jumpstarter/jumpstarter/config/exporter.py (2 hunks)
  • packages/jumpstarter/jumpstarter/config/exporter_test.py (5 hunks)
  • packages/jumpstarter/jumpstarter/config/user_config_test.py (8 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (7)
  • GitHub Check: pytest-matrix (3.13)
  • GitHub Check: pytest-matrix (3.12)
  • GitHub Check: pytest-matrix (3.11)
  • GitHub Check: e2e
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-devspace .devfile/Containerfile.client)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-dev .devfile/Containerfile)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter Dockerfile)
🔇 Additional comments (22)
packages/jumpstarter/jumpstarter/config/common.py (1)

3-11: LGTM! Well-structured metadata class.

The ObjectMeta class is well-designed, using Pydantic for data validation and following Python naming conventions.

packages/jumpstarter/jumpstarter/config/env.py (1)

3-4: LGTM! Environment variables follow consistent naming.

The new environment variables JMP_NAMESPACE and JMP_NAME follow the existing naming convention and are appropriately placed.

packages/jumpstarter/jumpstarter/config/__init__.py (1)

5-5: LGTM! ObjectMeta properly exposed.

The ObjectMeta class is correctly imported and exposed in the module's public interface.

Also applies to: 18-18

packages/jumpstarter-cli-exporter/jumpstarter_cli_exporter/exporter_config.py (2)

4-4: LGTM! Import statement is correct.

The import statement correctly includes ObjectMeta along with ExporterConfigV1Alpha1.


24-29: LGTM! Configuration object correctly initialized.

The ExporterConfigV1Alpha1 instance is properly created with the ObjectMeta containing namespace and name.

packages/jumpstarter-cli-exporter/jumpstarter_cli_exporter/exporter_test.py (2)

19-31: LGTM! Test case updated to include metadata parameters.

The non-interactive test case correctly validates the new metadata parameters (--namespace and --name).


54-56: LGTM! Interactive test case updated to include metadata parameters.

The interactive test case correctly validates the new metadata parameters by providing namespace and name in the input string.

packages/jumpstarter-cli-client/jumpstarter_cli_client/client_test.py (2)

21-34: LGTM! Test case updated to include metadata parameters.

The non-interactive test case correctly validates the new metadata parameters (--namespace and --name).


62-62: LGTM! Interactive test case updated to include metadata parameters.

The interactive test case correctly validates the new metadata parameters by providing namespace and name in the input string.

packages/jumpstarter-cli-client/jumpstarter_cli_client/client_config.py (2)

6-6: LGTM! Import ObjectMeta from common module.

The import statement correctly includes the new ObjectMeta class.


54-73: LGTM! Function signature and config creation updated.

The changes improve clarity by:

  • Renaming "name" parameter to "alias"
  • Adding namespace and name parameters
  • Using ObjectMeta in config creation
packages/jumpstarter/jumpstarter/config/exporter.py (2)

12-12: LGTM! Import ObjectMeta from common module.

The import statement correctly includes the new ObjectMeta class.


39-39: LGTM! Add metadata field to ExporterConfigV1Alpha1.

The metadata field is correctly added to the ExporterConfigV1Alpha1 class using the ObjectMeta type.

packages/jumpstarter-cli-admin/jumpstarter_cli_admin/import_res_test.py (1)

16-16: LGTM! Consistent metadata handling.

The changes correctly integrate ObjectMeta into client and exporter configurations, maintaining consistency across the codebase.

Also applies to: 27-27, 34-34, 91-91

packages/jumpstarter/jumpstarter/config/exporter_test.py (1)

8-8: LGTM! Comprehensive test coverage for metadata.

The test cases properly validate the metadata integration in both code and YAML configurations, ensuring consistent behavior across different usage scenarios.

Also applies to: 20-20, 43-43, 69-71, 110-110

packages/jumpstarter/jumpstarter/config/client.py (2)

12-13: LGTM!

The imports are correctly organized and include the necessary components for metadata handling.


44-44: LGTM!

The metadata field is correctly added with proper typing.

packages/jumpstarter/jumpstarter/config/user_config_test.py (1)

10-10: LGTM!

The metadata fields are consistently updated to use ObjectMeta across all test cases.

Also applies to: 36-37, 68-69, 95-96, 198-199, 239-240, 251-252, 279-280

packages/jumpstarter/jumpstarter/config/client_config_test.py (4)

10-11: LGTM! Import changes are well-organized.

The imports are correctly updated to include the new ObjectMeta class and environment variables.


21-36: LGTM! Test functions are consistently updated.

The test functions are systematically updated to include metadata environment variables and assertions while maintaining existing test coverage.

Also applies to: 43-58, 60-75, 78-89


197-229: LGTM! YAML configurations are consistently updated.

The test functions correctly include metadata in YAML configurations and maintain proper structure.

Also applies to: 232-262, 265-293


169-189: LGTM! Mock objects are correctly updated.

The mock objects are properly updated to include metadata while maintaining the existing structure.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5bb915c and bb9f5a9.

📒 Files selected for processing (3)
  • packages/jumpstarter/jumpstarter/config/client.py (4 hunks)
  • packages/jumpstarter/jumpstarter/config/exporter.py (3 hunks)
  • packages/jumpstarter/jumpstarter/config/grpc.py (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/jumpstarter/jumpstarter/config/exporter.py
⏰ Context from checks skipped due to timeout of 90000ms (7)
  • GitHub Check: pytest-matrix (3.13)
  • GitHub Check: pytest-matrix (3.12)
  • GitHub Check: pytest-matrix (3.11)
  • GitHub Check: e2e
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-devspace .devfile/Containerfile.client)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-dev .devfile/Containerfile)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter Dockerfile)

Comment thread packages/jumpstarter/jumpstarter/config/grpc.py Outdated
Comment thread packages/jumpstarter/jumpstarter/config/client.py
Comment thread packages/jumpstarter/jumpstarter/config/client.py
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/jumpstarter/jumpstarter/config/grpc.py (1)

6-6: Add docstring to improve code documentation.

Please add a docstring to document the purpose, parameters, and return value of the function.

Add this docstring:

 def call_credentials(kind: str, metadata: ObjectMeta, token: str):
+    """Create composite gRPC call credentials with metadata and access token.
+
+    Args:
+        kind (str): The kind of resource being accessed
+        metadata (ObjectMeta): Object metadata containing namespace and name
+        token (str): Access token for authentication
+
+    Returns:
+        grpc.CallCredentials: Composite call credentials for gRPC calls
+    """
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bb9f5a9 and 546835f.

📒 Files selected for processing (3)
  • packages/jumpstarter/jumpstarter/config/client.py (4 hunks)
  • packages/jumpstarter/jumpstarter/config/exporter.py (3 hunks)
  • packages/jumpstarter/jumpstarter/config/grpc.py (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/jumpstarter/jumpstarter/config/client.py
  • packages/jumpstarter/jumpstarter/config/exporter.py
⏰ Context from checks skipped due to timeout of 90000ms (7)
  • GitHub Check: pytest-matrix (3.13)
  • GitHub Check: pytest-matrix (3.12)
  • GitHub Check: e2e
  • GitHub Check: pytest-matrix (3.11)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-devspace .devfile/Containerfile.client)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-dev .devfile/Containerfile)
  • GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter Dockerfile)
🔇 Additional comments (1)
packages/jumpstarter/jumpstarter/config/grpc.py (1)

1-5: LGTM!

The imports are appropriate and the module structure follows Python conventions.

Comment thread packages/jumpstarter/jumpstarter/config/grpc.py
@mangelajo
Copy link
Copy Markdown
Member

mangelajo commented Feb 6, 2025

Makes sense, please add new env variables and config format changes to documentation and update documentation (where the cli docs aren't too rusty, that is being updated by @kirkbrauer in #240 )

@mangelajo mangelajo merged commit 8d64e20 into main Feb 6, 2025
@NickCao NickCao deleted the metadata branch February 6, 2025 14:29
@mangelajo mangelajo added this to the 0.6.0 milestone May 8, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants