Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
.playwright-mcp
CLAUDE.local.md
dist/
dist-test-*/
gui_test_screenshots/
node_modules/
tests/.auth/
38 changes: 38 additions & 0 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Local development image: builds only the current (main) plugin variant.
# No git submodules required — use instead of Dockerfile for CRC / single-version clusters.
#
# docker build -f Dockerfile.dev -t quay.io/jpinsonn/lightspeed-console-plugin:dev .
# docker push quay.io/jpinsonn/lightspeed-console-plugin:dev

FROM registry.access.redhat.com/ubi9/nodejs-22-minimal:latest AS build
USER root
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN NODE_OPTIONS=--max-old-space-size=4096 npm ci --omit=dev --omit=optional --ignore-scripts --no-fund
COPY console-extensions.json LICENSE tsconfig.json types.d.ts webpack.config.ts ./
COPY locales ./locales
COPY src ./src
RUN npm run build

FROM registry.access.redhat.com/ubi9-minimal@sha256:83006d535923fcf1345067873524a3980316f51794f01d8655be55d6e9387183
USER 0

RUN microdnf install -y nginx && microdnf clean all

COPY --from=build /usr/src/app/dist /builds/main

RUN mkdir -p /licenses
COPY --from=build /usr/src/app/LICENSE /licenses/LICENSE

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

RUN rm -rf /usr/share/nginx/html && \
ln -s /tmp/nginx/html /usr/share/nginx/html && \
mkdir -p /tmp/nginx && \
chgrp -R 0 /var/log/nginx /var/lib/nginx /tmp/nginx /builds && \
chmod -R g=u /var/log/nginx /var/lib/nginx /tmp/nginx /builds

USER 1001

ENTRYPOINT ["/entrypoint.sh"]
82 changes: 81 additions & 1 deletion locales/en/plugin__lightspeed-console-plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@
"Cancel": "Cancel",
"Cancelled": "Cancelled",
"Changes you made may not be saved.": "Changes you made may not be saved.",
"Change timeline": "Change timeline",
"Failed to load change timeline": "Failed to load change timeline",
"Loading change timeline": "Loading change timeline",
"No recent changes found": "No recent changes found",
"Timeline for {{target}} (last 2 hours)": "Timeline for {{target}} (last 2 hours)",
"Timeline severity error": "Error",
"Timeline severity info": "Info",
"Timeline severity normal": "Normal",
"Timeline severity warning": "Warning",
"Clear chat": "Clear chat",
"Collapse": "Collapse",
"Compressed in {{seconds}} seconds": "Compressed in {{seconds}} seconds",
Expand All @@ -40,6 +49,7 @@
"Edit": "Edit",
"email the Red Hat team": "email the Red Hat team",
"Erase and start new chat": "Erase and start new chat",
"End tour": "End tour",
"Error converting ManagedCluster to YAML: {{e}}": "Error converting ManagedCluster to YAML: {{e}}",
"Error converting ManagedClusterInfo to YAML: {{e}}": "Error converting ManagedClusterInfo to YAML: {{e}}",
"Error converting to YAML: {{e}}": "Error converting to YAML: {{e}}",
Expand All @@ -50,6 +60,7 @@
"Error querying OpenShift Lightspeed service": "Error querying OpenShift Lightspeed service",
"Error submitting feedback": "Error submitting feedback",
"Events": "Events",
"Guided tour": "Guided tour",
"Expand": "Expand",
"Expert guidance and clear answers": "Expert guidance and clear answers",
"Explore deeper insights, engage in meaningful discussions, and unlock new possibilities with Red Hat OpenShift Lightspeed. Answers are provided by generative AI technology, please use appropriate caution when following recommendations.": "Explore deeper insights, engage in meaningful discussions, and unlock new possibilities with Red Hat OpenShift Lightspeed. Answers are provided by generative AI technology, please use appropriate caution when following recommendations.",
Expand All @@ -69,7 +80,8 @@
"For questions or feedback about OpenShift Lightspeed,": "For questions or feedback about OpenShift Lightspeed,",
"Full YAML file": "Full YAML file",
"Good response": "Good response",
"History compressed": "History compressed",
"View timeline": "View timeline",
"Hide timeline": "Hide timeline",
"History truncated": "History truncated",
"If this error persists, please contact an administrator. Error details: {{e}}": "If this error persists, please contact an administrator. Error details: {{e}}",
"Import to console": "Import to console",
Expand All @@ -78,6 +90,62 @@
"Kind, Metadata, and Status sections only": "Kind, Metadata, and Status sections only",
"Large prompt": "Large prompt",
"Leave": "Leave",
"Evidence sources": "Evidence sources",
"Live cluster resources": "Live cluster resources",
"live resource": "live resource",
"live resources": "live resources",
"Next live resource": "Next live resource",
"Previous live resource": "Previous live resource",
"Showing {{shown}} of {{total}} live resources": "Showing {{shown}} of {{total}} live resources",
"Live cluster resource": "Live cluster resource",
"Living metric CPU": "CPU (5m rate)",
"Living metric memory": "Memory working set",
"Living metric replicas": "Available replicas",
"Living metric ready scheduled": "Ready scheduled",
"Living metric storage used": "Storage used",
"Living metric storage capacity": "Storage capacity",
"Living detail ready": "Ready",
"Living detail status": "Status",
"Living detail restarts": "Restarts",
"Living detail age": "Age",
"Living detail IP": "IP",
"Living detail node": "Node",
"Living detail replicas": "Replicas",
"Living detail updated": "Updated",
"Living detail available": "Available",
"Living detail internal IP": "Internal IP",
"Living detail roles": "Roles",
"Living detail version": "Version",
"Living detail phase": "Phase",
"Living detail reason": "Reason",
"Living detail message": "Message",
"Living detail type": "Type",
"Living detail cluster IP": "Cluster IP",
"Living detail ports": "Ports",
"Living detail host": "Host",
"Living detail path": "Path",
"Living detail TLS": "TLS",
"Living detail data keys": "Data keys",
"Living detail schedule": "Schedule",
"Living detail suspend": "Suspend",
"Living detail last schedule": "Last schedule",
"Living detail active jobs": "Active jobs",
"Living detail completions": "Completions",
"Living detail succeeded": "Succeeded",
"Living detail failed": "Failed",
"Living detail active": "Active",
"Living detail capacity": "Capacity",
"Living detail storage class": "Storage class",
"Living detail volume": "Volume",
"Living detail claim": "Claim",
"Living detail min replicas": "Min replicas",
"Living detail max replicas": "Max replicas",
"Living detail desired replicas": "Desired replicas",
"Living detail current replicas": "Current replicas",
"Living detail hosts": "Hosts",
"Living detail ingress class": "Ingress class",
"Living detail load balancer": "Load balancer",
"Loading live resource status": "Loading live resource status",
"Loading MCP App...": "Loading MCP App...",
"Logs": "Logs",
"MCP App Error": "MCP App Error",
Expand All @@ -87,6 +155,8 @@
"Minimize": "Minimize",
"Most recent {{lines}} lines": "Most recent {{lines}} lines",
"Most recent {{numEvents}} events": "Most recent {{numEvents}} events",
"Next": "Next",
"Next source": "Next source",
"No events": "No events",
"No logs found": "No logs found",
"No output returned": "No output returned",
Expand All @@ -97,23 +167,32 @@
"Only one event available for this resource.": "Only one event available for this resource.",
"OpenShift Lightspeed authentication failed. Contact your system administrator for more information.": "OpenShift Lightspeed authentication failed. Contact your system administrator for more information.",
"OpenShift Lightspeed chat history": "OpenShift Lightspeed chat history",
"OpenShift Lightspeed guided tour": "OpenShift Lightspeed guided tour",
"Open in console": "Open in console",
"Unable to start guided tour": "Unable to start guided tour",
"OpenShift Lightspeed is now available to help you with your OpenShift questions and tasks. Try asking about deployments, troubleshooting, best practices, or any other OpenShift-related topics. This notice will disappear once you minimize the chat.": "OpenShift Lightspeed is now available to help you with your OpenShift questions and tasks. Try asking about deployments, troubleshooting, best practices, or any other OpenShift-related topics. This notice will disappear once you minimize the chat.",
"OpenShift Lightspeed uses AI technology to help answer your questions. Do not include personal information or other sensitive information in your input. Interactions may be used to improve Red Hat's products or services.": "OpenShift Lightspeed uses AI technology to help answer your questions. Do not include personal information or other sensitive information in your input. Interactions may be used to improve Red Hat's products or services.",
"pending": "pending",
"Please retry or contact support if the issue persists.": "Please retry or contact support if the issue persists.",
"Pod": "Pod",
"Preview attachment": "Preview attachment",
"Preview attachment - modified": "Preview attachment - modified",
"Previous": "Previous",
"Previous source": "Previous source",
"Red Hat OpenShift Lightspeed": "Red Hat OpenShift Lightspeed",
"Refresh": "Refresh",
"Reject": "Reject",
"Restore": "Restore",
"Revert to original": "Revert to original",
"Review required": "Review required",
"Save": "Save",
"Guide me": "Guide me",
"source": "source",
"sources": "sources",
"Silence": "Silence",
"Status": "Status",
"Stay": "Stay",
"Step {{current}} of {{total}}": "Step {{current}} of {{total}}",
"Structured content": "Structured content",
"Submit": "Submit",
"The following output was generated when running <2>{{name}}</2> with arguments <5>{{argsFormatted}}</5>.": "The following output was generated when running <2>{{name}}</2> with arguments <5>{{argsFormatted}}</5>.",
Expand All @@ -125,6 +204,7 @@
"Tool output": "Tool output",
"Total size of attachments exceeds {{max}} characters.": "Total size of attachments exceeds {{max}} characters.",
"Troubleshooting": "Troubleshooting",
"Unable to watch resource": "Unable to watch resource",
"UI resource": "UI resource",
"Upload from computer": "Upload from computer",
"Uploaded file is not valid YAML": "Uploaded file is not valid YAML",
Expand Down
Loading