M5 / final M2-stack work. The fork now identifies itself unambiguously
in logs, the API, and the README without changing the Go module path
(internal imports stay at github.com/datarhei/core/v16 — see NOTES.md
for the rationale).
Identity surfaces:
- app/version.go gains Variant ('dragonfork') and Fork ('Datarhei —
Dragon Fork') as vars (overridable via -ldflags for downstream
re-packagers).
- api.About + the /api endpoint expose 'variant' and 'fork' fields;
Swagger docs regenerated.
- Startup banner logs 'variant' + 'fork' alongside the existing
application + version fields, so a TrueNAS sysadmin tail-following
/var/log can tell at a glance which fork is running.
Documentation:
- README.md rewritten with a Dragon Fork header and Quick start; the
upstream feature surface is summarised in 'From upstream Datarhei'
with a clear additivity statement. Sample process JSON, multi-input
pipeline guidance, link to the design + testing docs.
- NOTICE: Apache 2.0 §4(d) attribution to upstream datarhei Core,
Pion, Echo, FFmpeg.
- CREDITS: enumerated dependency list with licenses.
- CHANGELOG.md prepended with a 'Datarhei — Dragon Fork' section
starting at v0.1.0-dragonfork; upstream's '# Core' history preserved
below.
Module path stays github.com/datarhei/core/v16 by design — the fork is
distinguished by repo location and branch history, not import path.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
package api
|
|
|
|
// About is some general information about the API
|
|
type About struct {
|
|
App string `json:"app"`
|
|
// Variant identifies the build flavor — empty (or "core") for an
|
|
// upstream Datarhei build, "dragonfork" for the Dragon Fork.
|
|
Variant string `json:"variant,omitempty"`
|
|
// Fork is the human-readable fork name (e.g. "Datarhei — Dragon Fork").
|
|
Fork string `json:"fork,omitempty"`
|
|
Auths []string `json:"auths"`
|
|
Name string `json:"name"`
|
|
ID string `json:"id"`
|
|
CreatedAt string `json:"created_at"`
|
|
Uptime uint64 `json:"uptime_seconds"`
|
|
Version Version `json:"version"`
|
|
}
|
|
|
|
// Version is some information about the binary
|
|
type Version struct {
|
|
Number string `json:"number"`
|
|
Commit string `json:"repository_commit"`
|
|
Branch string `json:"repository_branch"`
|
|
Build string `json:"build_date"`
|
|
Arch string `json:"arch"`
|
|
Compiler string `json:"compiler"`
|
|
}
|
|
|
|
// MinimalAbout is the minimal information about the API
|
|
type MinimalAbout struct {
|
|
App string `json:"app"`
|
|
Auths []string `json:"auths"`
|
|
Version VersionMinimal `json:"version"`
|
|
}
|
|
|
|
type VersionMinimal struct {
|
|
Number string `json:"number"`
|
|
}
|