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

Initial migration of sidecar code into this repo #331

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

cgillum
Copy link
Member

@cgillum cgillum commented Jul 5, 2024

For the purpose of GitHub repo and 1ES pipeline consolidation, I'm migrating the contents of the private microsoft/durabletask-sidecar repo into this repo. Once this migration is complete, I will delete the sidecar repo.

The code is mostly unchanged, except for a few changes I had to make to resolve StyleCop and other static analysis build warnings.

The purpose of this code is primarily to use as a test server. It's used by this repo already for the gRPC integration tests, and also used indirectly by the Java repo for its integration tests. It's also used by some internal teams at Microsoft for their .NET Isolated integration tests. Moving it here will make maintaining the code more streamlined and aligned with our more modern engineering practices.

There are two projects being moved into this repo.

  • Sidecar: This is a library that exposes a gRPC endpoint that Durable Task SDKs can call into. It includes a new in-memory orchestration service which is intended to be faster and more robust than the one in DurableTask.Emulator.
  • Sidecar.App: An executable that hosts the sidecar library, and allows users to configure a variety of different storage backends using a command-line switch. This is a utility that we can use for end-to-end testing across a variety of backends, which may be useful for our own integration testing.

There was also a DurableTask.Sidecar.Protobuf project in the old repo. However, this should be replaceable by Microsoft.DurableTask.Grpc, which I've done, so there's no need to migrate it.

There are a few things that I didn't do yet in this PR. For example, the build configuration is a bit different compared to other projects. Things like the common.proj and a separate strong name signing key are different from how all other projects are built and configured. I'm open to changing some of this if I can be provided the right guidance. I'm a bit worried about changing the signing key, however, since that would change the identity of the assembly that already exists in the wild (although shouldn't be being used for anything in production).

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.

1 participant