-
Notifications
You must be signed in to change notification settings - Fork 2
Inline editor component #17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: new-crd
Are you sure you want to change the base?
Conversation
…ogs of a component
…s and context handling; add PluginConditionEvaluator for extension filtering
…mproved clarity and performance; add evaluateSingleCondition for condition evaluation
- Moved `choreo-context` from plugins to libs for better organization. - Updated `pnpm-lock.yaml` to reflect new paths and added dependencies for the `choreo-context` library. - Modified `rush.json` to point to the new project folder for `choreo-context`. - Updated imports in various files to accommodate the new structure. - Implemented hooks for client, color mode, global state, and organizations. - Created context providers for API client and global state management. - Added reducers for application state management. - Removed old plugin structure and integrated necessary components into the new library structure. - Added TypeScript configuration and ESLint setup for the new library.
…tructure and basePath handling
…and navigation - Implemented ComponentListPage with loading and error handling. - Created ComponentListPanel for displaying project components. - Developed ProjectListPanel for managing project lists with search functionality. - Added ComponentSummary to summarize component details. - Integrated navigation items for accessing components. - Defined plugin manifest for resource listing with all extensions.
- Removed deprecated overview plugin components and their associated files. - Updated the plugin registry to include projectListing and componentListing. - Corrected spelling of 'extensionPoint' in multiple locations. - Consolidated organization and project overview components into a new structure. - Ensured backward compatibility by maintaining necessary exports.
…sePath from IAppState
… context and add URL parameter hooks
…er clarity and performance
…s and context handling; add PluginConditionEvaluator for extension filtering
…mproved clarity and performance; add evaluateSingleCondition for condition evaluation
…improved clarity and consistency
…aluateWhenExpression functions
…logic for clarity
…adability and maintainability
…d organization references
…r/openchoreo into rendering-conditionally
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request introduces multiple Helm charts for deploying OpenChoreo components across different architectural planes (Control Plane, Data Plane, Build Plane, Identity Provider, and Observability Plane). The PR also removes outdated documentation and samples while updating CRD definitions to consolidate resources and improve the overall architecture.
Key changes include:
- New Helm charts for all OpenChoreo planes with comprehensive configuration options
- Removal of legacy v2 CRDs (BuildV2, ComponentV2, EndpointV2, EndpointClass) in favor of consolidated resources
- Enhanced status tracking for bindings and releases with endpoint information
- Updated workflow templates for the build plane with registry configuration options
Reviewed Changes
Copilot reviewed 211 out of 516 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| install/helm/openchoreo-identity-provider/* | New Helm chart for identity provider with database persistence and post-install hooks |
| install/helm/openchoreo-data-plane/values.yaml | Updated logging paths and OpenSearch hostname configuration |
| install/helm/openchoreo-control-plane/* | Updated CRDs, removed legacy resources, added new component classes |
| install/helm/openchoreo-build-plane/* | New workflow templates and registry configuration options |
| install/check-status.sh | Complete rewrite with improved component grouping and status visualization |
| Various CRD files | Consolidated endpoint types, removed operations field, updated connection specifications |
Files not reviewed (1)
- choreo-ui/common/config/rush/pnpm-lock.yaml: Language not supported
| restartPolicy: Never | ||
| containers: | ||
| - name: post-install-setup | ||
| image: curlimages/curl:8.4.0 |
Copilot
AI
Aug 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The curl image version 8.4.0 may have known security vulnerabilities. Consider using the latest version or a more recent stable version with security patches.
| image: curlimages/curl:8.4.0 | |
| image: curlimages/curl:8.8.0 |
| runAsUser: 0 | ||
| runAsGroup: 0 |
Copilot
AI
Aug 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running the init container as root (runAsUser: 0) poses security risks. Consider using a non-root user or implementing proper capability management instead of running as root.
| runAsUser: 0 | |
| runAsGroup: 0 | |
| runAsUser: 1000 | |
| runAsGroup: 1000 |
| LANG="{{ "{{" }}workflow.parameters.language{{ "}}" }}" | ||
| LANG_VER="{{ "{{" }}workflow.parameters.language-version{{ "}}" }}" | ||
| BUILDER="gcr.io/buildpacks/builder@sha256:5977b4bd47d3e9ff729eefe9eb99d321d4bba7aa3b14986323133f40b622aef1" |
Copilot
AI
Aug 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The hardcoded SHA256 digest for the builder image makes updates difficult. Consider using a configurable parameter or at least a comment explaining why this specific digest is required.
| BUILDER="gcr.io/buildpacks/builder@sha256:5977b4bd47d3e9ff729eefe9eb99d321d4bba7aa3b14986323133f40b622aef1" | |
| # The builder image is pinned to a specific digest for reproducibility and security. | |
| # To update, change the value of 'googleBuildpacks.builderImage' in your values.yaml. | |
| BUILDER="{{ .Values.googleBuildpacks.builderImage }}" |
| else | ||
| echo "Cloning branch: $BRANCH with latest commit" | ||
| git clone --single-branch --branch $BRANCH --depth 1 "REPO" /mnt/vol/source | ||
| git clone --single-branch --branch $BRANCH --depth 1 "$REPO" /mnt/vol/source |
Copilot
AI
Aug 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's an inconsistency in the git clone command. Line 59 uses 'REPO' while line 65 uses '$REPO'. This could cause the clone to fail when REPO is not defined as an environment variable.
| printf "\n%b%b╔══════════════════════════════════════════════════════════════════════╗%b\n" "$BOLD" "$BLUE" "$RESET" | ||
| printf "%b%b║ OpenChoreo Component Status ║%b\n" "$BOLD" "$BLUE" "$RESET" | ||
| printf "%b%b╚══════════════════════════════════════════════════════════════════════╝%b\n" "$BOLD" "$BLUE" "$RESET" |
Copilot
AI
Aug 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The hardcoded border width (70 characters) could cause alignment issues if component names or status text exceed expected lengths. Consider making the border width dynamic or adding validation for content width.
| printf "\n%b%b╔══════════════════════════════════════════════════════════════════════╗%b\n" "$BOLD" "$BLUE" "$RESET" | |
| printf "%b%b║ OpenChoreo Component Status ║%b\n" "$BOLD" "$BLUE" "$RESET" | |
| printf "%b%b╚══════════════════════════════════════════════════════════════════════╝%b\n" "$BOLD" "$BLUE" "$RESET" | |
| # Dynamically determine the box width | |
| local title="OpenChoreo Component Status" | |
| local min_width=70 | |
| local max_content_width=${#title} | |
| # Calculate max width of group names and component lines | |
| for group in "${group_order[@]}"; do | |
| group_display_name=$(get_group_display_name "$group") | |
| if (( ${#group_display_name} > max_content_width )); then | |
| max_content_width=${#group_display_name} | |
| fi | |
| components_str=$(get_component_group "$group") | |
| read -r -a components <<< "$components_str" | |
| for component in "${components[@]}"; do | |
| # Compose a sample line as it would be printed (icon + name + status) | |
| status=$(get_component_status "$component" "$context") | |
| icon=$(get_status_icon "$status") | |
| status_color=$(get_status_color "$status") | |
| status_text="$status" | |
| line_length=$(( 2 + 1 + ${#component} + 3 + ${#status_text} )) # icon + space + name + " - " + status | |
| if (( line_length > max_content_width )); then | |
| max_content_width=$line_length | |
| fi | |
| done | |
| done | |
| # Add padding for aesthetics | |
| local padding=4 | |
| local box_width=$(( max_content_width + padding )) | |
| if (( box_width < min_width )); then | |
| box_width=$min_width | |
| fi | |
| # Build border lines | |
| local border_top="╔$(printf '═%.0s' $(seq 1 $box_width))╗" | |
| local border_bottom="╚$(printf '═%.0s' $(seq 1 $box_width))╝" | |
| # Center the title | |
| local title_pad_left=$(( (box_width - ${#title}) / 2 )) | |
| local title_pad_right=$(( box_width - ${#title} - title_pad_left )) | |
| local title_line="║$(printf ' %.0s' $(seq 1 $title_pad_left))$title$(printf ' %.0s' $(seq 1 $title_pad_right))║" | |
| printf "\n%b%b%s%b\n" "$BOLD" "$BLUE" "$border_top" "$RESET" | |
| printf "%b%b%s%b\n" "$BOLD" "$BLUE" "$title_line" "$RESET" | |
| printf "%b%b%s%b\n" "$BOLD" "$BLUE" "$border_bottom" "$RESET" |
…uginConditionEvaluator
Purpose
Approach
Related Issues
Checklist
Remarks