Skip to content

Commit

Permalink
bump: Akka 2.9.0-M2, Akka HTTP 10.6.0-M1
Browse files Browse the repository at this point in the history
  • Loading branch information
patriknw committed Sep 28, 2023
1 parent 8ce1d6e commit f7fb70f
Show file tree
Hide file tree
Showing 13 changed files with 18 additions and 16 deletions.
2 changes: 2 additions & 0 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,8 @@ lazy val docs = Project(id = "akka-grpc-docs", base = file("docs"))
"extref.akka-http.base_url" -> s"https://doc.akka.io/docs/akka-http/${Dependencies.Versions.akkaHttpBinary}/%s",
"scaladoc.akka.http.base_url" -> s"https://doc.akka.io/api/akka-http/${Dependencies.Versions.akkaHttpBinary}/",
"javadoc.akka.http.base_url" -> s"https://doc.akka.io/japi/akka-http/${Dependencies.Versions.akkaHttpBinary}/",
// Akka Management
"extref.akka-management.base_url" -> s"https://doc.akka.io/docs/akka-management/current/%s",
// Akka gRPC
"scaladoc.akka.grpc.base_url" -> s"/${(Preprocess / siteSubdirName).value}/",
"javadoc.akka.grpc.base_url" -> "" // @apidoc links to Scaladoc
Expand Down
2 changes: 1 addition & 1 deletion docs/src/main/paradox/client/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Clients defined in configuration pick up defaults from `reference.conf`:
The examples above all use a hard coded host and port for the location of the gRPC service which is the default if you do not configure a `service-discovery-mechanism`.
Alternatively @extref[Akka Discovery](akka:discovery/index.html) can be used.
This allows a gRPC client to switch between discovering services via DNS, config, Kubernetes and Consul and others by just changing
the configuration (see [Discovery methods in Akka Management](https://doc.akka.io/docs/akka-management/current/discovery/index.html)).
the configuration (see @extref[Discovery methods in Akka Management](akka-management:discovery/index.html)).

To see how to config a particular service discovery mechanism see the @extref[Akka Discovery docs](akka:discovery/index.html).
Once it is configured a service discovery mechanism name can either be passed into settings or put in the client's configuration.
Expand Down
4 changes: 2 additions & 2 deletions docs/src/main/paradox/deploy.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Deployment

You can deploy an Akka gRPC application just like you would any other JVM-based project. For some general pointers on this topic, see [the deployment section of the Akka documentation](https://doc.akka.io/docs/akka/current/additional/deploying.html).
You can deploy an Akka gRPC application just like you would any other JVM-based project. For some general pointers on this topic, see @extref[the deployment section of the Akka documentation](akka:additional/deploying.html).

Remember that the cleartext HTTP/2 "h2c with prior knowledge" protocol is not compatible with HTTP/1.1, so if your infrastructure uses any proxies they must either understand this protocol or support generic TCP connections.

## Serve gRPC over HTTPS

To deploy your gRPC service over a HTTPS connection you will have to use an @apidoc[akka.http.(javadsl|scaladsl).HttpsConnectionContext] as described in the [Akka-HTTP documentation](https://doc.akka.io/docs/akka-http/10.1/server-side/server-https-support.html).
To deploy your gRPC service over a HTTPS connection you will have to use an @apidoc[akka.http.(javadsl|scaladsl).HttpsConnectionContext] as described in the @extref[Akka-HTTP documentation](akka-http:server-side/server-https-support.html).

## Example: Kubernetes

Expand Down
2 changes: 1 addition & 1 deletion docs/src/main/paradox/server/akka-http.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Akka HTTP interop

Akka gRPC is built on top of [Akka HTTP](https://doc.akka.io/docs/akka-http).
Akka gRPC is built on top of @extref[Akka HTTP](akka-http:).
This means it is possible to leverage the Akka HTTP API's to create more
complicated services, for example serving non-gRPC endpoints next to
gRPC endpoints or adding additional behavior around your gRPC routes.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/main/paradox/whygrpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ That makes it well-suited for:
## gRPC vs Akka Remoting

* While Akka Remoting allows exchanging messages between Akka ActorSystems transparently, it still requires significant effort to support efficient and compatible message serialization.
Large messages can clog the message transport. In contrast to gRPC, streaming is not first-class but needs to be built on top of message passing (e.g. by using [StreamRefs](https://doc.akka.io/docs/akka/current/stream/stream-refs.html)).
Large messages can clog the message transport. In contrast to gRPC, streaming is not first-class but needs to be built on top of message passing (e.g. by using @extref[StreamRefs](akka:stream/stream-refs.html)).
* Akka Remoting's wire protocol might change with Akka versions and configuration, so you need to make sure that all parts of your system run similar enough versions. gRPC on the other
hand guarantees longer-term stability of the protocol, so gRPC clients and services are more loosely coupled.
* Where message passing as with Akka Remoting is fire-and-forget which decouples service execution, any kind of RPC requires waiting until the remote procedure call is answered.
Expand Down
2 changes: 1 addition & 1 deletion plugin-tester-java/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repositories {

def scalaVersion = org.gradle.util.VersionNumber.parse(System.getenv("TRAVIS_SCALA_VERSION") ?: "2.13")
def scalaBinaryVersion = "${scalaVersion.major}.${scalaVersion.minor}"
def akkaVersion = "2.7.0"
def akkaVersion = "2.9.0-M2"

dependencies {
implementation group: 'ch.megard', name: "akka-http-cors_${scalaBinaryVersion}", version: '1.1.3'
Expand Down
2 changes: 1 addition & 1 deletion plugin-tester-java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
<maven-exec-plugin.version>3.0.0</maven-exec-plugin.version>
<akka.http.cors.version>1.1.0</akka.http.cors.version>
<akka.version>2.7.0</akka.version>
<akka.version>2.9.0-M2</akka.version>
<grpc.version>1.54.2</grpc.version> <!-- checked synced by VersionSyncCheckPlugin -->
<project.encoding>UTF-8</project.encoding>
<build-helper-maven-plugin>3.3.0</build-helper-maven-plugin>
Expand Down
2 changes: 1 addition & 1 deletion plugin-tester-scala/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repositories {

def scalaVersion = org.gradle.util.VersionNumber.parse(System.getenv("TRAVIS_SCALA_VERSION") ?: "2.13")
def scalaBinaryVersion = "${scalaVersion.major}.${scalaVersion.minor}"
def akkaVersion = "2.7.0"
def akkaVersion = "2.9.0-M2"

dependencies {
implementation group: 'ch.megard', name: "akka-http-cors_${scalaBinaryVersion}", version: '1.1.3'
Expand Down
2 changes: 1 addition & 1 deletion plugin-tester-scala/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<properties>
<maven.compiler.release>11</maven.compiler.release>
<akka.version>2.7.0</akka.version>
<akka.version>2.9.0-M2</akka.version>
<akka.http.cors.version>0.4.2</akka.http.cors.version>
<grpc.version>1.54.2</grpc.version> <!-- checked synced by VersionSyncCheckPlugin -->
<project.encoding>UTF-8</project.encoding>
Expand Down
8 changes: 4 additions & 4 deletions project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ object Dependencies {
// We don't force Akka updates because downstream projects can upgrade
// themselves. For more information see
// https://doc.akka.io//docs/akka/current/project/downstream-upgrade-strategy.html
val akka = "2.7.0"
val akkaBinary = "2.7"
val akkaHttp = "10.5.0"
val akkaHttpBinary = "10.5"
val akka = "2.9.0-M2"
val akkaBinary = "2.8"
val akkaHttp = "10.6.0-M1"
val akkaHttpBinary = "10.6"

val grpc = "1.54.2" // checked synced by VersionSyncCheckPlugin
// Even referenced explicitly in the sbt-plugin's sbt-tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ resolvers += Resolver.sonatypeRepo("staging")

enablePlugins(AkkaGrpcPlugin)

dependencyOverrides += "com.typesafe.akka" %% "akka-stream" % "2.7.0"
dependencyOverrides += "com.typesafe.akka" %% "akka-stream" % "2.9.0-M2"

assembly / assemblyMergeStrategy := {
// https://github.com/akka/akka/issues/29456
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ enablePlugins(AkkaGrpcPlugin)

libraryDependencies ++= Seq(
// just to make sure it works with Scala 3 artifacts
"com.typesafe.akka" %% "akka-http" % "10.5.0",
"com.typesafe.akka" %% "akka-http" % "10.6.0-M1",
"org.scalatest" %% "scalatest" % "3.2.12" % "test")
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ enablePlugins(AkkaGrpcPlugin)

libraryDependencies ++= Seq(
// just to make sure it works with Scala 3 artifacts
"com.typesafe.akka" %% "akka-http" % "10.5.0",
"com.typesafe.akka" %% "akka-http" % "10.6.0-M1",
"org.scalatest" %% "scalatest" % "3.2.12" % "test")

0 comments on commit f7fb70f

Please sign in to comment.