feat(plugin): support multi-format manifest sources
This commit is contained in:
113
examples/plugins/mc-auth-proxy/manifest.yaml
Normal file
113
examples/plugins/mc-auth-proxy/manifest.yaml
Normal file
@@ -0,0 +1,113 @@
|
||||
# Human-maintained plugin manifest. Build packages normalize this into manifest.json.
|
||||
schema_version: mc-gateway.plugin/v1
|
||||
id: mc-auth-proxy
|
||||
name: Minecraft Auth Proxy
|
||||
version: 0.1.0
|
||||
description: Protocol-proxy example that owns Minecraft login handling and returns a stable fixture disconnect.
|
||||
artifact_type: binary
|
||||
runtime:
|
||||
type: go-plugin
|
||||
entry: plugin.so
|
||||
entry_symbol: Plugin
|
||||
api_version: plugin-api/v1
|
||||
sdk_module: github.com/tursom/mc-gateway/plugin/api
|
||||
sdk_module_version: v0.1.0
|
||||
go_version: go1.24.0
|
||||
go_os: linux
|
||||
go_arch: amd64
|
||||
extension_points:
|
||||
- type: hook
|
||||
key: upstream.connect/v1
|
||||
capabilities:
|
||||
upstream_connect:
|
||||
mode: protocol-proxy
|
||||
minecraft:
|
||||
protocol_versions:
|
||||
min: 47
|
||||
max: 767
|
||||
tested:
|
||||
- 47
|
||||
- 760
|
||||
- 763
|
||||
- 767
|
||||
unsupported_policy: kick
|
||||
states:
|
||||
status: transparent
|
||||
login: handled
|
||||
configuration: transparent
|
||||
play: transparent
|
||||
auth_modes:
|
||||
- fixture
|
||||
forwarding:
|
||||
supported:
|
||||
- none
|
||||
- velocity-modern
|
||||
default: none
|
||||
requires_secret: false
|
||||
unsupported_policy: kick
|
||||
modded:
|
||||
forge: transparent
|
||||
fabric: transparent
|
||||
fml: unsupported
|
||||
unknown: pass
|
||||
runtime_limits:
|
||||
handler_timeout_ms: 3000
|
||||
initial_write_timeout_ms: 1000
|
||||
events:
|
||||
- name: auth.success
|
||||
fields:
|
||||
- result
|
||||
- mode
|
||||
- name: auth.failure
|
||||
fields:
|
||||
- result
|
||||
- mode
|
||||
custom_metrics:
|
||||
- name: auth.attempts
|
||||
type: counter
|
||||
labels:
|
||||
- result
|
||||
- mode
|
||||
external_dependencies:
|
||||
- name: backend
|
||||
endpoint: tcp://
|
||||
purpose: auth
|
||||
required: true
|
||||
timeout: 3s
|
||||
retry: 0
|
||||
fail_policy: fail_closed
|
||||
data_classes:
|
||||
- operational
|
||||
background_tasks:
|
||||
- id: profile-cache-gc
|
||||
name: Profile cache GC
|
||||
mode: manual
|
||||
manual: true
|
||||
timeout: 1s
|
||||
data_stores:
|
||||
- name: profile-cache
|
||||
schema_version: 1
|
||||
data_class: profile_cache
|
||||
quota_bytes: 1048576
|
||||
retention: 24h
|
||||
exportable: false
|
||||
file_stores:
|
||||
- namespace: cache
|
||||
data_class: profile_cache
|
||||
quota_bytes: 1048576
|
||||
retention: 24h
|
||||
- namespace: diagnostic
|
||||
data_class: diagnostic
|
||||
quota_bytes: 1048576
|
||||
retention: 24h
|
||||
config_schema:
|
||||
type: object
|
||||
properties:
|
||||
match_host:
|
||||
type: string
|
||||
fixture_accept:
|
||||
type: boolean
|
||||
disconnect_message:
|
||||
type: string
|
||||
backend:
|
||||
type: string
|
||||
Reference in New Issue
Block a user