Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#7690 Add plain server chassis - for custom chassis composition #7691

Merged
merged 1 commit into from May 24, 2023

Conversation

planetf1
Copy link
Member

@planetf1 planetf1 commented May 24, 2023

Description

Adds the 'plain' server chassis into the server-chass-spring artifact as per issue #7690

This can be consumed via

    implementation "org.odpi.egeria:server-chassis-spring:${egeriaversion}:plain"

Related Issue(s)

Fixes #7690

Testing

  1. Apply PR [Enhancement] Add 'plain' server chassis jar into published artifact #7690 into core egeria & rebuild with ./gradlew build publishToMavenLocal
  2. Build this project with ./gradlew clean build
  3. Go to healthcheck/build/libs
  4. cp ../../src/main/resources/*p12 .
  5. jar ./healthcheck.jar

This will launch the chassis. Then the new API can be verified with

 egeria-cloudnative git:(main) ✗ http --verify=no --pretty=format GET https://localhost:9443/open-metadata/healthcheck/platform/health
HTTP/1.1 200
Connection: keep-alive
Content-Length: 19
Content-Type: text/plain;charset=UTF-8
Date: Wed, 24 May 2023 12:41:41 GMT
Keep-Alive: timeout=60

Platform is healthy

Release Notes & Documentation

Additional notes

Signed-off-by: Nigel Jones <nigel.l.jones+git@gmail.com>
Copy link
Contributor

@mandy-chessell mandy-chessell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"plain" is not very descriptive . It would be easier to use if the name matched the build option - eg server-chassis-only

@mandy-chessell mandy-chessell dismissed their stale review May 24, 2023 14:53

Misunderstanding of purpose of change

@planetf1
Copy link
Member Author

Thanks @mandy-chessell will be useful for prototyping.

The 'plain' designation is build technical, and spring-boot default. It refers to only the java code contained within this module, not any dependencies. It isn't even runnable in any way.

  • A similar pattern may be useful in other maven artifacts where we currently build an uber jar, as it facilitates external composition
  • The same approach of using classifiers can be used for any purpose - so we could define useful combinations of dependencies that provide different variations such as 'minimal-chassis' or 'integration-chassis' if we wanted, labelling each with a different classifier. Though they would all go into the same artifact which would get bigger. For the HMS connector we have a need to build variants for different levels of HMS
  • An alternative to classifiers is to publish to different artifacts. Which to use may depend on how similar or different the jar/file/archive is.

@planetf1 planetf1 merged commit 6b06232 into odpi:main May 24, 2023
6 checks passed
@planetf1 planetf1 deleted the chassisplain branch May 24, 2023 15:07
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.

[Enhancement] Add 'plain' server chassis jar into published artifact
2 participants