akka.netakka.net-cluster

How can I use Akka.NET lighthouse with hyperion


Currently I'm using the akka.net lighthouse docker image which is on dockerhub. Together with Akka.Bootstrap.Docker it's nice to override akka hocon configuration from the environment variables. I've set the following environment variables in my k8s deployment file

 - name: AKKA__ACTOR__SERIALIZERS__HYPERION
   value: "\"Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion\""
 - name: AKKA__ACTOR__SERIALIZATION-BINDINGS__System__Object
   value: hyperion

But if I want to enable hyperion serialization it fails with the following message:

The type name for serializer 'hyperion' did not resolve to an actual Type: 'Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion'

The documentation of Akka.NET Lighthouse is very scarce so does anyone of you know how I can use hyperion serialization with Akka.NET lighthouse?


Solution

  • Akka.NET is trying to load hyperion serializer via Type.GetType("Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion") call, and fails to do that, because Lighthouse docker image does not include Akka.Serialization.Hyperion package.

    So what you need to do is:

    1. Clone Lighthouse repo and add Akka.Serialization.Hyperion package to Lighthouse project references
    2. Build your own docker image and use it instead.