• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

KusionStack / karpor
66%
main: 66%

Build:
Build:
LAST BUILD BRANCH: fix/pod-log-query-validation
DEFAULT BRANCH: main
Repo Added 20 May 2024 03:33AM UTC
Files 68
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix/pod-log-query-validation
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 02-22-demo_fb33d3ef_add_activity_feed_api
  • add-auto-milestone-summary-action
  • add-community-plan-and-task-updater
  • add-growth-to-planning-updater-ci
  • add-ingress-watch
  • add-japanese-readme-security
  • add-missing-version-bump-in-badge
  • add-new-contributor-Cookiery
  • add-new-contributor-Cookiery-for-doc
  • add-new-contributor-eltociear
  • add-new-contributor-jinjiaKarl-for-code
  • add-new-contributor-rajp152k
  • add-new-contributor-wujunwei
  • add-new-contributor-wujunwei-for-code
  • add-yes-to-updater-ci
  • addClusterLatency
  • addPodStatus
  • addPodStatusInSummary
  • adjust-ai-panel-style
  • adjust-milestone-planning-action
  • adjust-milestone-planning-action-categories
  • adjust-readonly-middleware-logic
  • ai-analysis-dialog-show
  • ai-analysis-pretty
  • all-contributors/add-LeoSofl
  • all-contributors/add-jinjiaKarl
  • all-contributors/add-nueavv
  • all-contributors/add-rajp152k
  • auto/issue-735
  • auto/issue-767
  • c0472
  • chart-version-updater
  • chore/optimize-makefile
  • codex/karpor-796-ai-panel
  • cursor/fix-markdown-link-check-c618
  • cursor/fix-nilnil-search-test-5171
  • dependabot/go_modules/github.com/go-chi/chi/v5-5.2.2
  • dependabot/go_modules/github.com/sirupsen/logrus-1.9.1
  • dependabot/go_modules/golang.org/x/crypto-0.31.0
  • dependabot/go_modules/golang.org/x/net-0.33.0
  • dependabot/go_modules/golang.org/x/oauth2-0.27.0
  • enhance-metrics-exp-with-trend-charts
  • event-ai-style
  • event-ai-style-pretty
  • feat-connect-control
  • feat-ha-push
  • feat-karpor-agent
  • feat-karpor-agent-highversion
  • feat/i18n-hindi
  • feat/i18n-japanese
  • feat/karpor-llm-api-proxy
  • feat/locale-parity
  • feat/status-cluster-syncregistry
  • feat/support-wildcard-sync-strategy
  • feat/topology-node-tooltip
  • feat/yaml-refresh-sofl
  • fix-404-username
  • fix-event-tab
  • fix-frontend-runtime-bug
  • fix-golangci-lint-issues-again
  • fix-jitter-when-log-reconnecting
  • fix-md-lint
  • fix-mk-lint
  • fix-redundant-code-block
  • fix-topology-graph-interactive
  • fix-topology-interactive-1223
  • fix-upgrading-nodeV23-build-error
  • fix-wrong-app-version-when-update-chart
  • fix/ai-default-model
  • fix/ai-no-proxy-port
  • fix/ai-stream-goroutine-leak
  • fix/azure-openai-top-p
  • fix/cluster-endpoint-without-port
  • fix/hf-top-p
  • fix/hf-top-p-c2075
  • fix/huggingface-empty-response
  • fix/pod-log-query-validation
  • fix/search-pagesize
  • fix/search-pagesize-one
  • fix/syncer-kind-from-discovery
  • fix/validate-exec-kubeconfig
  • fixNLSearch
  • fixStreamRbac
  • korean
  • main
  • mcp-support
  • misc-optimize
  • optiServerConfig
  • optimize-seo
  • optimizeServerConfig
  • pretty-ai-interpret-style
  • pretty-ai-panel-style
  • pretty-insight-add-mothod
  • pretty-podlogs-style
  • pretty-topology-graph
  • refine-log-aggregator
  • refine-readme
  • remove-dry-run
  • remove-internal-resources
  • rename-community-planning-updater-action
  • standardize-event-log-tab-names
  • support-ai-based-event-dignosis
  • support-ai-based-issue-interpret
  • support-ai-based-log-dignosis
  • support-ai-based-yaml-interpret
  • support-default-model-when-backend-is-deepseek
  • support-go-alias-in-makefile
  • test/ui-playwright-e2e
  • translate-readme-ko
  • unify-isAIEnabled-usage
  • update-demo-video
  • update-milestone-summary-action
  • update-planning-action-triggers
  • update-readme-iter-instru
  • update-zh-readme
  • use-default-version-when-occur-error

11 Nov 2026 05:18PM UTC coverage: 66.053% (-0.03%) from 66.082%
43066903481

Pull #880

github

NopeCharon
fix(insight): reject invalid pod log filters instead of ignoring them

The pod log endpoint parsed the since, sinceTime and tailLines query
parameters but dropped any value it could not parse, then streamed the
logs as if no filter had been set. The log settings dialog makes this
easy to hit: its "Show logs since" field suggests "e.g. 1h, 2d", but
time.ParseDuration has no day unit, so entering "2d" silently returned
the last 1000 lines instead of the last two days.

Move the query parsing into buildPodLogOptions and make it return an
error for:

- a since value that is not a positive Go duration (for example "2d",
  "0s" or "-5m"). Sub-second durations are rounded up to 1s, because
  the Kubernetes API rejects sinceSeconds=0;
- a sinceTime value that is not an RFC3339 timestamp;
- a tailLines value that is not a non-negative integer.

GetPodLogs sends the error through the existing SSE error entry, which
the log viewer already shows as an alert, and does so before building
the cluster client. Valid requests produce the same PodLogOptions as
before.

The placeholder of the since field now shows supported values
("e.g. 5m, 1h, 48h"), matching the units accepted by kubectl logs
--since and the API docs of the endpoint.

Add table-driven tests for buildPodLogOptions covering the defaults for
streaming and download, valid and invalid since, sinceTime and
tailLines values, and since taking precedence over sinceTime.

Signed-off-by: NopeCharon <115794254+NopeCharon@users.noreply.github.com>
Pull Request #880: fix(insight): reject invalid pod log filters instead of ignoring them

4553 of 6893 relevant lines covered (66.05%)

0.73 hits per line

Relevant lines Covered
Build:
Build:
6893 RELEVANT LINES 4553 COVERED LINES
0.73 HITS PER LINE
Source Files on main
  • Tree
  • List 68
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
43066903481 fix/pod-log-query-validation fix(insight): reject invalid pod log filters instead of ignoring them The pod log endpoint parsed the since, sinceTime and tailLines query parameters but dropped any value it could not parse, then streamed the logs as if no filter had been set. T... Pull #880 11 Nov 2026 05:19PM UTC NopeCharon github
66.05
43066846105 feat/i18n-japanese feat(i18n): add Japanese language support Add Japanese (日本語) to the Web UI language switcher. Karpor already ships a Japanese README, but the UI itself could not be used in Japanese. - ui/src/locales/ja.json: the Japanese locale. It has all 220 ... Pull #879 11 Nov 2026 05:19PM UTC NopeCharon github
66.05
43038455061 feat/topology-node-tooltip feat(ui): enrich topology graph node tooltips The topology node tooltip only printed the raw node id (or the GVK label in the cluster view), so users had to click through to learn anything about a node. Render the tooltip as a small card instead... Pull #878 11 Nov 2026 02:27PM UTC NopeCharon github
66.08
43036457008 feat/topology-node-tooltip feat(ui): enrich topology graph node tooltips The topology node tooltip only printed the raw node id (or the GVK label in the cluster view), so users had to click through to learn anything about a node. Render the tooltip as a small card instead... Pull #878 11 Nov 2026 02:14PM UTC NopeCharon github
66.08
42796149978 fix/validate-exec-kubeconfig fix(cluster): validate the current context and mask exec env in cluster objects Validation picked the first cluster and user of the kubeconfig, while creating the cluster goes through clientcmd and follows current-context. A multi-context kubecon... Pull #867 10 Nov 2026 10:06AM UTC NopeCharon github
66.56
42742650943 main fix(cluster): support cluster endpoints without an explicit port (#869) ## What type of PR is this? /kind bug ## What this PR does / why we need it: In #819, the kubeconfig exported from vCluster Platform (server `https://xxxx/kubernetes/proje... push 10 Nov 2026 02:26AM UTC web-flow github
66.08
42630332294 fix/cluster-endpoint-without-port fix(cluster): support cluster endpoints without an explicit port Clusters whose API server URL has no port, such as Rancher or vCluster platform proxy URLs like https://example.com/k8s/clusters/c-xxxxx, cannot be used after registration. NewConfi... Pull #869 10 Nov 2026 02:14AM UTC NopeCharon github
66.05
42533971881 fix/hf-top-p-c2075 fix(ai): pass --ai-top-p to the Hugging Face backend Signed-off-by: Alex Castillo <alex.castillog33@gmail.com> Pull #877 08 Nov 2026 11:12PM UTC pcbeingused333 github
65.76
42371599401 fix/search-pagesize fix(search): honor pageSize=1 in the search API The handler treated any pageSize <= 1 as unset and replaced it with 10, so a client asking for a single result per page got ten. Only values below 1 are invalid; same guard for page. Pull #876 07 Nov 2026 12:15PM UTC pcbeingused333 github
65.64
42347965157 main fix(ai): pass the configured top-p to the Azure OpenAI backend (#874) `--ai-top-p` is ignored by the Azure OpenAI backend: `AzureAIClient` never stores `cfg.TopP` and builds its requests (`Generate` and `GenerateStream`) with only `Temperature`. ... push 07 Nov 2026 06:41AM UTC web-flow github
65.61
See All Builds (734)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc