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

Add new script to start the GossipRouter #145

Merged
merged 1 commit into from
Aug 24, 2021

Conversation

pruivo
Copy link
Member

@pruivo pruivo commented Jul 23, 2021

In k8s, we can use the same image to start the infinispan server (default entrypoint)
or the gossip router server

The gossip router server will be used to provide cross-site replication
between k8s clusters (a.k.a. Gossip Router Tunnel).

Tested locally and it will be consumed by infinispan/infinispan-operator#1201

$ podman run --entrypoint /opt/gossiprouter/bin/launch.sh infinispan/server -port 8080

GossipRouter started in 95 ms listening on 0.0.0.0:8080

In k8s, we can use the same image to start the infinispan server (default entrypoint)
or the gossip router server

The gossip router server will be used to provide cross-site replication
between k8s clusters (a.k.a. Gossip Router Tunnel).
GOSSIP_CLASS="org.jgroups.stack.GossipRouter"

if [ ! -f "${JGROUPS_JAR}" ]; then
# TODO create native binary of GossipRouter?
Copy link
Collaborator

Choose a reason for hiding this comment

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

Ideally this should be a native binary that is contained within it's own minimal image based upon ub8-micro. Upstream the JGroups project could use a GH action to create the binary and package it in a container. Downstream might be trickier though, WDYT?

Copy link
Member Author

Choose a reason for hiding this comment

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

AFAIK, we don't support native images downstream; I think using the JGroups jar inside our image is the best way:

  • It uses the productized JGroups inside our image
  • The infinispan server image is built for multiple platforms

Using an image with the Gossip Router (there is an old one here: https://registry.hub.docker.com/r/jboss/jgroups-gossip) it would require changing the operator code for upstream and downstream

  • upstream would use the gossip router image
  • downstream the infinispan server image

is it worth the trouble?

IMO, I think Tristan's idea will be simpler: https://infinispan.zulipchat.com/#narrow/stream/118645-infinispan/topic/meeting-20210726/near/247210074

Copy link
Collaborator

Choose a reason for hiding this comment

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

IMO, I think Tristan's idea will be simpler: https://infinispan.zulipchat.com/#narrow/stream/118645-infinispan/topic/meeting-20210726/near/247210074

Isn't that the same as mine? Or do you just mean a native binary stored within our existing image?

is it worth the trouble?

Probably not 😃

If we can't have native binaries downstream then I'm happy to go with this approach for now and we can refactor later as required.

Copy link
Member Author

Choose a reason for hiding this comment

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

I mean storing the GossipRouter binary in our infinispan-server native image.

@ryanemerson ryanemerson merged commit ffcacf0 into infinispan:main Aug 24, 2021
@ryanemerson
Copy link
Collaborator

Thanks @pruivo

@pruivo pruivo deleted the t_gossip_router_entrypoint branch August 24, 2021 13:19
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.

None yet

2 participants