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

KusionStack / karpor
66%

Build:
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 main
branch: main
CHANGE BRANCH
x
Reset
  • main
  • 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
  • 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

10 Nov 2026 02:25AM UTC coverage: 66.082% (+0.5%) from 65.608%
42742650943

push

github

web-flow
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/project/demos/virtualcluster/xxxx`, token,
`insecure-skip-tls-verify`) is accepted, but Karpor then fails with:

```
address hostname: missing port in address
```

That message comes from `net.SplitHostPort`. `NewConfigFromCluster` uses
it to derive the TLS server name from the cluster endpoint, and it fails
for any endpoint without an explicit port. Proxy URLs from vCluster
Platform or Rancher (`https://example.com/k8s/clusters/c-xxxxx`) don't
have one, so every client built for such a cluster, and the cluster
proxy, fails with that error.

This PR:

- uses `u.Hostname()` in both copies of `NewConfigFromCluster`
(`pkg/infra/multicluster` and
`pkg/kubernetes/registry/cluster/proxy.go`). It returns the same host as
`SplitHostPort` when a port is present, works without one, and also
strips the brackets of IPv6 literals.
- builds the fallback `:443` address in `checkEndpointConnectivity`
(used when validating a kubeconfig) with `net.JoinHostPort` instead of
`fmt.Sprintf("%s:443", ...)`. The old format produced an invalid address
for IPv6 hosts such as `https://[fd00::1]`.

Tests:

- `pkg/infra/multicluster/multicluster_test.go` (new) checks
`Host`/`ServerName` for endpoints with and without a port, IPv6
endpoints, and exec credentials, which keep an empty `ServerName`.
- `TestCheckEndpointConnectivity` now records the dialed address and
covers ports and IPv6.

With the old code, the portless and IPv6 cases fail. `go test
-gcflags=all=-l ./pkg/infra/multicluster/ ./pkg/core/manager/cluster/`,
`go build ./pkg/...` and `golangci-lint` v1.62.0 on the touched packages
pass.

## Which issue(s) this PR fixes:

Fixes #819

Signed-off-by: NopeCharon <115794254+NopeCharon@users.noreply.github.com>

2 of 2 new or added lines in 2 files covered. (100.0%)

4555 of 6893 relevant lines covered (66.08%)

0.73 hits per line

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

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
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
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
39894634967 main fix(ai): default the OpenAI model to gpt-5.6-terra (#864) Replace the gpt-3.5-turbo default (shut down 2026-10-23) with gpt-5.6-terra, omit default top_p from the request body, and cover both with tests. Co-authored-by: pcbeingused333 push 23 Oct 2026 03:22AM UTC web-flow github
65.44
39579317773 main fix(ai): stop the stream goroutine when the context is cancelled (#866) ## What type of PR is this? /kind bug ## What this PR does / why we need it: `GenerateStream` of the OpenAI, Azure OpenAI and DeepSeek clients (`pkg/infra/ai`) starts a go... push 21 Oct 2026 09:45AM UTC web-flow github
65.21
39578577111 main fix(ai): don't panic on an empty or short Hugging Face response (#865) ## What type of PR is this? /kind bug ## What this PR does / why we need it: `HuggingfaceClient.Generate` returns `resp[0].GeneratedText[len(prompt):]`. That expression pan... push 21 Oct 2026 09:39AM UTC web-flow github
64.03
39356401477 main fix(i18n): fill missing keys in de, pt and zh locales (#861) ## What type of PR is this? /kind bug ## What this PR does / why we need it: Follow-up to #859, as offered on #468. `de.json` and `pt.json` each miss 7 keys that `en.json` has, and `... push 20 Oct 2026 01:59AM UTC web-flow github
63.8
39356395367 main test(ui): add a Playwright e2e prototype for login and search (#862) ## What type of PR is this? /kind test ## What this PR does / why we need it: A small Playwright prototype for the UI e2e suite in #460, as suggested there: login and search ... push 20 Oct 2026 01:59AM UTC web-flow github
63.8
38717177540 main feat(i18n): add Hindi language support (#859) Ref #468 This adds Hindi (हिन्दी) to Karpor, following the same pattern as the Korean PR #828. ## What changed - `ui/src/locales/hi.json`: the Hindi UI locale. It has all 220 keys from `en.json`, wi... push 15 Oct 2026 10:01AM UTC web-flow github
63.8
38129332663 main docs: fix broken links in markdown link check (#858) <!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## What type of PR is this? /kind bug ## What this PR does / why we need it: The Constraints workflow's Markdown Link Check job fails on every pull reques... push 11 Oct 2026 09:43AM UTC web-flow github
63.83
38127088878 main fix(ui): stop error toast spam and stuck spinner for stale pod rows (#854) ## What type of PR is this? /kind bug ## What this PR does / why we need it: On the topology view, expanding a ReplicaSet's Pod table renders one `PodStatusCell` per ro... push 11 Oct 2026 09:05AM UTC web-flow github
63.83
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