Repository navigation
server: start the standalone server and add the embeddable OpenSharing builder - #91
Conversation
7a9dd7f to
2fa5381
Compare
28116de to
fe78020
Compare
fe78020 to
d24ffa5
Compare
d24ffa5 to
9fdcdb4
Compare
9fdcdb4 to
514a93f
Compare
514a93f to
63be999
Compare
63be999 to
74c5068
Compare
74c5068 to
b85dd76
Compare
3623544 to
4a35255
Compare
4a35255 to
de1f264
Compare
…ity Catalog does.
|
Is the description correct (Spring Boot application)? |
chakankardb
left a comment
There was a problem hiding this comment.
From claude: Following on from the description question above: the config keys in the deleted application.yml aren't carried over to server.properties: protocol-prefix, asset-credentials.ttl, pagination limits, storage.gcs-service-account-key-file, delta.*, and the Jackson settings (non_null, ISO dates, case-insensitive enums). Nothing reads them yet, but the Jackson settings change what protocol responses look like, so is dropping them intended? If so, could the updated description list them?
…snake case environment variables, and reject program arguments.
|
@chakankardb On the description: it was stale (it still described the Spring Boot application). It's rewritten to match the current diff. On the dropped
|
Summary
OpenSharingServerloads the configured catalog, buildsOpenSharing, and listens onserver.port;mainserves until the JVM shuts down and rejects program argumentsServerPropertiesreadsserver.propertiesfrom the classpath. A JVM system property overrides a key, then an environment variable with the same name or its upper snake case form, such asSERVER_PORT. A blank value anywhere keeps the defaultserver.port(default 8080),catalog.type(onlylocalso far), andcatalog.local.file(defaultclasspath:local-catalog.yml)LocalCatalogLoader.load(location)reads the local catalog from aclasspath:resource or a file path, with or withoutfile:OpenSharing.builder()in core, which builds OpenSharing from the parts its host supplies; it requires aCatalogConnectoropensharing-server-*-exec.jarwith the shade plugin, and log through Logbacknetty-bom, over the 4.1.108 Armeria brings, for its HTTP/2 fixes; the AWS SDK already in core expects it tooapplication.yml. Nothing read its keys yet; each comes back where it is used:ApiJson(server: return protocol error bodies for HTTP failures #92), so every host renders responses the same wayhibernate.properties(server: add provider-admin share entities and CRUD #96)protocol.base-path(server: redeem recipient activation URLs into a profile #100)urlaccess mode, replacingdelta.url-ttlanddelta.url-access-enabled(protocol: Query Table snapshot API #109)Testing
mvn clean install: 41 tests passedOpenSharingServerTest: loads the configured local catalog, rejects a missing catalog file and an unknown catalog type, buildsOpenSharingwith the configured catalog, and rejects program argumentsServerPropertiesTest: readsserver.propertiesfrom the classpath, keeps the default of blank keys and blank overrides, lets system properties override the file, reads environment variables by key or upper snake case name, and rejects a port that is not a number