Skip to content

HMS Listener - update connector catalog / release process #717

@davidradl

Description

@davidradl

Name

egeria-listener-hms

Owner

davidradl

Deliverable

Provides a Hive Metastore listener to feed HMS changes into an Egeria ecosystem

Build, test and CI-CD process

How will the deliverables identified above be created & distributed? - bau
Will maven, gradle (preferred for new repos) be used? Gradle
What languages are used - Python, Java, Go, .... are particular versions needed? Java
will a container image be required? probably with HMS
What should be checked before a PR can be merged? usual
How about after merging, on main? usual
Are additional tests needed? no - junits

Dependencies

To be decided - there maybe Egeria dependancies if there are then they will be brought in by gradle if possible. I suspect that if we want to depend on Egeria code for example EntityDetails - this currently resides in a module in Egeria core with executable java as well as beans like EntityDetails - and the Egeria module is java 17.

We may therefore:

  • manually copy code in the project from the Egeria project.
  • copy code from Egeria project during the build into generated code.
  • separate out the Egeria beans into their own project - so we can depend on them.

Justification

This was discussed in the Egeria community. We think that this should have its own repository as it runs in a different context to the other HMS repository which is a connector that runs in a OMAG Platform. The HMS listener runs in the HMS process at Java 8. So it will have different dependancies from anything running in the OMAG Platform

Assumptions

Yes - all true

Additional Information

No response

Work Plan

Before creating the repo

  • [ x] review overall request & get clarifications
  • [ x] get approval on developer/TSC call from maintainers

Creating the repo

  • Create the repo under the odpi organization (default gitignore, license, readme)
  • Setup branch protection rules
  • Set pull request options (allow merge, squash, rebase, suggest updating, allow automerge, do not delete head)
  • Update security settings in repo (policy, advisories, alerts)
  • set up permissions

First steps

  • Initial code-drop (author)

Getting CI/CD started & refining settings

  • Add initial build script for PR (including gradle wrapper if required)
  • Add initial build script for merge

Further Refinement

Release

  • Add release pipeline

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions