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

Make demo cross platform #188

Open
DavidBoike opened this issue Nov 7, 2024 · 0 comments
Open

Make demo cross platform #188

DavidBoike opened this issue Nov 7, 2024 · 0 comments

Comments

@DavidBoike
Copy link
Member

DavidBoike commented Nov 7, 2024

Even though the Particular.PlatformSample package upon which this demo is based is cross-platform, the Monitoring Demo is still tied to Windows only, and should be made cross-platform.

Why cross-platform doesn't currently work

This has nothing to do with ServiceControl or ServicePulse. Instead, it's due to how the demo is structured to have one original application spawn many child applications in separate console windows, each having their own controls requiring access to stdin to affect each endpoint in various ways that show up in the ServicePulse Monitoring view.

The demo also relies on native kernel32.dll imports to coordinate all the processes as Jobs so that they start and finish as a unit.

What needs to change

This functionality would need to be redesigned to work on Mac/Linux as well. Perhaps all endpoints should be multi-hosted in one process with one coordinated UX, or perhaps a web application should launch so that each endpoint can be visualized as a web page with individual controls.

Deployment would also need to change. Currently a single Windows ZIP file is uploaded to S3. There may need to be separate downloads for each platform, or changed to be a universal download in some fashion.

Apple Silicon

Incidentally, because the RavenDB Embedded package will not work on Windows ARM, the Monitoring Demo cannot be smoke tested on MacOS systems with Apple Silicon, even when virtualizing Windows with a tool such as Parallels. Having personally done many ServiceControl releases over the past few months, this is always a step in the release process I have to ask someone else to do.

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

No branches or pull requests

1 participant