mirror of
https://github.com/hanzoai/base.git
synced 2026-10-21 03:41:50 +00:00
* feat(base): cloud.Mount entry point per HIP-0106 Adds pkg/base/mount.go exposing the canonical Mount(app *zip.App, deps cloud.Deps) error contract. cmd/cloud imports this package via the blank-import side-effect; init() registers base with cloud.Registry at order 60 — after iam (50) and kms (10) so the per-tenant SQLite substrate is up before subsystems that need it. The mount strategy is "wrap, don't rewrite": Mount constructs a Base instance with the per-deployment data dir, runs the existing Bootstrap (data + aux DB, migrations, cached collections, settings reload), builds the http.Handler from apis.NewRouter(app).BuildMux(), and attaches it under /v1/base/* + /healthz via zip's net/http adaptor. /v1/base/health and /v1/base/readyz are native zip handlers so probes work even when Bootstrap refuses to boot. DATA_DIR and BASE_API_PREFIX env vars are set inside Mount so Base's NewWithConfig path picks up the cloud-scoped data directory and the /v1/base prefix without any flag wiring. go.mod gains require + replace stanzas for hanzoai/cloud and hanzoai/zip; matches the kms / vfs convention. The standalone base binary is unchanged. schema/base.zap declares the minimum ZAP-typed surface (Health) needed by the Mount contract; richer ZAP handlers will land alongside the in-process BaseClient interface from cloud/pkg/cloud/deps.go. * refactor: collapse pkg/base/ → root for clean import path Subsystem code lives in package base at repo root. Importers now use `github.com/hanzoai/base` (no /pkg/base/ nesting). Standalone shim moved to cmd/base/ where applicable. Per Hanzo Go-stdlib pattern: repo IS the package. * refactor: flatten import path — github.com/hanzoai/cloud (drop /pkg/cloud)
28 lines
1.6 KiB
Plaintext
28 lines
1.6 KiB
Plaintext
-----BEGIN RSA PRIVATE KEY-----
|
|
MIIEoQIBAAKCAQEAoLEeA25oUEDuuCcqgMYnes9vK2oO/PYAaGWOJSCzptf9X6zN
|
|
Woo5nl5mB24LO2YRMLTVWfKAR1ojnTVI40+WAyASMLHfaeskzrU9vGqBG3vwXku/
|
|
Cx8Uog2knvpVLwJCjT9JekINidtw+Q+hmjobP2Xu5Ub2z6YsGOCc1FCBza2h0KTS
|
|
hnjYFniIKqQvTsU3K4QXQ069AVFGIJg16NB7NRH33f6ffDx9ZIG++J2SLimtBdd9
|
|
th7b0rgv9Ht1mvEqR3Dhx8o5iyUiA48yIIaqD2KDBAaCjGdyKirZtyaKnPMRfGvA
|
|
aqMgIaL0gGBSiBO8Pg9/YKUmXaqcCsoFJ060pwIDAQABAoH/PJv7CObfrb/fHWlO
|
|
D62ezRV/lSQ3CozsQBnRuD5Zoro+ZkjO0YxRTWMRZAdSYmfoX0Hz67WEYaGHgggX
|
|
FAAlbzWD4yVSJsbdQN39crHmafdsBRYFWsqiFEFcZU8GhulLx3NbPAWe6HcCLQz8
|
|
DM4LD4vE4ois+IdD7Yedn6Rjq6C42r63wKcrZEexmYf7xq3gwRJMfFAiIWEfJ10g
|
|
t6dwYY5MVVcDmQcsiiXbLsYKmOORPen6uzpRbS/3plu8wNMfbeR40eCYg7nDmYPu
|
|
kVQUeJRcdowWQLdWQlnyrUOid6Tx0FvZ9zaqoEdJtoLnx/Du6dvrzz6PG7jTxT09
|
|
hYoJAoGBAMAbwkSnikYlSt3PgEQJCoStDtazE5o5DwRbo5JUQSxJvjd+lRrvAb8k
|
|
yhYE9Fsw/G4a6tBJ6I0BRpWJtsMHTf5YHSxW55YGiJd8kWQkcg9Z4xfJayMNAv9T
|
|
6RlmioJHujEAi0gvzUAZjJYD+6xQvJdVaYFXBRnHh2Gw/7920hsPAoGBANYih9Su
|
|
Tfy7CjFrdw5nw5FzwNPyB77PKkX4YZtVWkJFj42DYjPatJpvDd4JJo3i7VX205sa
|
|
QRf7Eb0AtpIneWR/O6RE1nbPyZNBjW7xpKCLC4V463qyNbxvX4kIOtOhSlfmco0M
|
|
HFQE9Uz2ueB4UAamI2243p+nF++rGbPhuqzpAoGAYnTXl8AWCeVK/Ws/XZ8UmPLo
|
|
y/hzb3MW0zD0ICa2UDBrIJ3rZSZhSslcGPTpF2N/vB5ngeCfIsUom7M8y6+OtXAL
|
|
Y5IWlrk6gAkDqsNTAbMbxDEii5A7nQgwSyhWjHaeYkbZG2IEW3m8p5XbAnFOdnD7
|
|
5aHnp1Kve83vBP2sqNkCgYAwvVlXcnkzzkrqpsBJmhqsj8FTPKLArpy7omZtGcda
|
|
kES1fDMtBFnZUO/CGykYYI+O4oiVpCsuzynhcDkeGTgLRN6JbFW4Y2FJUEFmAEBt
|
|
fliX/8bxfYC3rE39fc8N/odSbJSkQB5ujVZcN0hlrFzitowX3F1nz3umRLar9/Qq
|
|
iQKBgQC91fgEnSp96ESDK3oU2H02PfEYoZ9JBd9cW1jujUCLcsLQw/TTQ9mWSu3q
|
|
vBFV3hHkSYVMmLQYW4tYIlDUmhO7taIFZynzanWO34KlKyFXMlPbtyRBnMXqSoQr
|
|
cfXm7p3flh77JZrqtsLDMGyVG0c5gJlPyTZpredUQnnMBcJF/Q==
|
|
-----END RSA PRIVATE KEY-----
|