Skip to content

feat(eaglercraft-server): declare open and share entries in the Template spec - #758

Merged
yangchuansheng merged 1 commit into
labring-actions:kb-0.9from
aimeritething:feat/eaglercraft-template-entries
Sep 8, 2026
Merged

feat(eaglercraft-server): declare open and share entries in the Template spec#758
yangchuansheng merged 1 commit into
labring-actions:kb-0.9from
aimeritething:feat/eaglercraft-template-entries

Conversation

@aimeritething

@aimeritething aimeritething commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

What

Adds an optional spec.entries field to the Template metadata CR and uses it in the EaglerCraft template.

spec:
  entries:
    open: https://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }}/admin
    share: https://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }}/?server=wss://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }}/
Key Meaning When omitted
open Page the operator lands on after deployment url of the template's kind: App, else the first public HTTP address at /
share Page meant for end users Same as open

Why

EaglerCraft has two audiences on one host. The operator needs /admin. Players need the game client, but the bundled EaglercraftX client opens with an empty Multiplayer list, so a bare / link forces them to type wss://<host>/ by hand. The quick-join link (/?server=wss://<host>/, the same link the admin console's "Open and join game" button builds) makes the client connect on its own. Today the platform has no way to tell these two addresses apart.

The field is Sealos-native and platform-agnostic: consumers that do not know it ignore it (both the Sealos template frontend and Brain pick spec fields by name). 212 of 256 templates already carry a kind: App with a url, which remains the fallback for open, so no other template needs to change.

Verification

Related

🤖 Generated with Claude Code

https://claude.ai/code/session_012nPEVVc7yiShA1SrfuTUqM

…ate spec

Add an optional `spec.entries` field to the Template metadata CR so a
template can say which URL the platform opens after deployment and which
URL it offers for sharing. Document the field in example.md and
example_zh.md.

EaglerCraft is the first template to use it: the operator lands on the
admin console (`/admin`), while the address meant for players is the
quick-join link (`/?server=wss://<host>/`). The bundled browser client
opens with an empty server list, so a bare `/` link forces players to
type the WebSocket address by hand; the quick-join link makes the client
connect on its own.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012nPEVVc7yiShA1SrfuTUqM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants