Replaced doc.akka.io with pekko.apache.org (#120)

* modified all references in docs module

* replaced in inline scala docs

* renamed variable and changed access specifier

* reanmed in remaining places

* Adjusted path (instead of `akka` used `pekko`)

* Where applicable akka.io is replaced with pekko.apache.org

* replaced akka with pekko in the path

* Removed TODO

* Removed migration guide to gRPC (there is no user using pekko at the moment so no need of migration guide)

* Added back migration to gRPC section

* removed TODO

* alpakka is replaced with pekko-connectors

* the Akka online documentation -> the Pekko online documentation

* referring akka security docs

* reffering to akka migration guides (pekko is not managing them)

* Using pekkoBaseURL for platform-guide.base_url

* removed unnecessary redirects and used current instead of 2.6

* Changed akka discovery to pekko discovery

* Some more replacement

* fix merge issue

* revert platform-guide change because we

---------

Co-authored-by: PJ Fanning <pjfanning@users.noreply.github.com>
This commit is contained in:
Seeta Ramayya 2023-01-31 12:26:50 +01:00 committed by GitHub
parent 767209a894
commit ad0f3b4234
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
59 changed files with 151 additions and 151 deletions

View file

@ -55,7 +55,7 @@ private[pekko] final class FunctionRef[-T](override val path: ActorPath, send: (
override def provider: ActorRefProvider =
throw new UnsupportedOperationException(
"ActorRefs created for synchronous testing cannot be used as targets for asking. Use asynchronous testing instead. " +
"See https://doc.akka.io/docs/akka/current/typed/testing.html#asynchronous-testing")
"See https://pekko.apache.org/docs/pekko/current/typed/testing.html#asynchronous-testing")
// impl InternalRecipientRef
def isTerminated: Boolean = false

View file

@ -28,7 +28,7 @@ class ManifestInfoSpec extends PekkoSpec {
"You are using version 2.6.4 of Pekko, but it appears you (perhaps indirectly) also depend on older versions of related artifacts. " +
"You can solve this by adding an explicit dependency on version 2.6.4 of the [pekko-persistence, pekko-cluster] artifacts to your project. " +
"Here's a complete collection of detected artifacts: (2.5.3, [pekko-cluster, pekko-persistence]), (2.6.4, [pekko-actor]). " +
"See also: https://doc.akka.io/docs/akka/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed")
"See also: https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed")
}
"support dynver" in {
@ -40,7 +40,7 @@ class ManifestInfoSpec extends PekkoSpec {
"You are using version 2.6.4+10-abababef of Pekko, but it appears you (perhaps indirectly) also depend on older versions of related artifacts. " +
"You can solve this by adding an explicit dependency on version 2.6.4+10-abababef of the [pekko-actor] artifacts to your project. " +
"Here's a complete collection of detected artifacts: (2.6.4, [pekko-actor]), (2.6.4+10-abababef, [pekko-persistence]). " +
"See also: https://doc.akka.io/docs/akka/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed")
"See also: https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed")
}
}
}

View file

@ -166,14 +166,14 @@ class InteractionPatternsSpec extends ScalaTestWithActorTestKit with AnyWordSpec
replyTo ! Backend.JobProgress(taskId, 0.25)
replyTo ! Backend.JobProgress(taskId, 0.50)
replyTo ! Backend.JobProgress(taskId, 0.75)
replyTo ! Backend.JobCompleted(taskId, new URI("https://akka.io/docs/sv/"))
replyTo ! Backend.JobCompleted(taskId, new URI("https://pekko.apache.org/docs/sv/"))
Behaviors.same
})
val frontend = spawn(Frontend(backend))
val probe = createTestProbe[URI]()
frontend ! Frontend.Translate(new URI("https://akka.io/docs/"), probe.ref)
probe.expectMessage(new URI("https://akka.io/docs/sv/"))
frontend ! Frontend.Translate(new URI("https://pekko.apache.org/docs/"), probe.ref)
probe.expectMessage(new URI("https://pekko.apache.org/docs/sv/"))
}
}

View file

@ -34,7 +34,7 @@ import pekko.annotation.DoNotInherit
*
* Each topic results in a [[pekko.actor.typed.receptionist.ServiceKey]] in the [[pekko.actor.typed.receptionist.Receptionist]]
* so the same scaling recommendation holds for topics, see docs:
* https://doc.akka.io/docs/akka/current/typed/actor-discovery.html#receptionist-scalability
* https://pekko.apache.org/docs/pekko/current/typed/actor-discovery.html#receptionist-scalability
*/
object Topic {

View file

@ -686,7 +686,7 @@ pekko {
debug {
# enable function of Actor.loggable(), which is to log any received message
# at DEBUG level, see the “Testing Actor Systems” section of the Pekko
# Documentation at https://akka.io/docs
# Documentation at https://pekko.apache.org/docs/pekko/current/
receive = off
# enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill etc.)

View file

@ -19,7 +19,7 @@ import pekko.actor._
/**
* Entry point to Akkas IO layer.
*
* @see <a href="https://akka.io/docs/">the Akka online documentation</a>
* @see <a href="https://pekko.apache.org/docs/pekko/current/">the Pekko online documentation</a>
*/
object IO {

View file

@ -37,7 +37,7 @@ import pekko.util.ccompat.JavaConverters._
* TCP Extension for Akkas IO layer.
*
* For a full description of the design and philosophy behind this IO
* implementation please refer to <a href="https://akka.io/docs/">the Akka online documentation</a>.
* implementation please refer to <a href="https://pekko.apache.org/docs/pekko/current/">the Pekko online documentation</a>.
*
* In order to open an outbound connection send a [[Tcp.Connect]] message
* to the [[TcpExt#manager]].

View file

@ -36,7 +36,7 @@ import pekko.util.ccompat._
* from whom data can be received. For connected UDP mode see [[UdpConnected]].
*
* For a full description of the design and philosophy behind this IO
* implementation please refer to <a href="https://akka.io/docs/">the Akka online documentation</a>.
* implementation please refer to <a href="https://pekko.apache.org/docs/pekko/current/">the Pekko online documentation</a>.
*
* The Java API for generating UDP commands is available at [[UdpMessage]].
*/

View file

@ -35,7 +35,7 @@ import pekko.util.ccompat._
* from whom data can be received. For unconnected UDP mode see [[Udp]].
*
* For a full description of the design and philosophy behind this IO
* implementation please refer to <a href="https://akka.io/docs/">the Akka online documentation</a>.
* implementation please refer to <a href="https://pekko.apache.org/docs/pekko/current/">the Pekko online documentation</a>.
*
* The Java API for generating UDP commands is available at [[UdpConnectedMessage]].
*/

View file

@ -97,7 +97,7 @@ object ManifestInfo extends ExtensionId[ManifestInfo] with ExtensionIdProvider {
s"You can solve this by adding an explicit dependency on version $highestVersion " +
s"of the [$toBeUpdated] artifacts to your project. " +
s"Here's a complete collection of detected artifacts: ${groupedByVersion}. " +
"See also: https://doc.akka.io/docs/akka/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed")
"See also: https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed")
} else None
}
}

View file

@ -431,7 +431,7 @@ pekko.cluster.sharding {
# crashing the shard.
fail-on-invalid-entity-state-transition = off
# Healthcheck that can be used with Pekko management health checks: https://doc.akka.io/docs/pekko-management/current/healthchecks.html
# Healthcheck that can be used with Pekko management health checks: https://pekko.apache.org/docs/pekko-management/current/healthchecks.html
healthcheck {
# sharding names to check have registered with the coordinator for the health check to pass
# once initial registration has taken place the health check always returns true to prevent the coordinator

View file

@ -56,7 +56,7 @@ import pekko.util.ccompat._
@ccompatUsedUntil213
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Pekko gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-pekko-grpc",
since = "2.6.0")
object ClusterClientSettings {
@ -127,7 +127,7 @@ object ClusterClientSettings {
* external service registry
*/
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final class ClusterClientSettings(
val initialContacts: Set[ActorPath],
@ -292,7 +292,7 @@ final case class ContactPoints(contactPoints: Set[ActorPath]) {
}
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
object ClusterClient {
@ -300,14 +300,14 @@ object ClusterClient {
* Scala API: Factory method for `ClusterClient` [[pekko.actor.Props]].
*/
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
def props(settings: ClusterClientSettings): Props =
Props(new ClusterClient(settings)).withDeploy(Deploy.local)
@SerialVersionUID(1L)
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final case class Send(path: String, msg: Any, localAffinity: Boolean) {
@ -318,13 +318,13 @@ object ClusterClient {
}
@SerialVersionUID(1L)
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final case class SendToAll(path: String, msg: Any)
@SerialVersionUID(1L)
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final case class Publish(topic: String, msg: Any)
@ -381,7 +381,7 @@ object ClusterClient {
* nature of the actors involved.
*/
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final class ClusterClient(settings: ClusterClientSettings) extends Actor with ActorLogging {
@ -565,7 +565,7 @@ final class ClusterClient(settings: ClusterClientSettings) extends Actor with Ac
}
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
object ClusterClientReceptionist extends ExtensionId[ClusterClientReceptionist] with ExtensionIdProvider {
override def get(system: ActorSystem): ClusterClientReceptionist = super.get(system)
@ -583,7 +583,7 @@ object ClusterClientReceptionist extends ExtensionId[ClusterClientReceptionist]
* The [[pekko.cluster.pubsub.DistributedPubSubMediator]] is started by the [[pekko.cluster.pubsub.DistributedPubSub]] extension.
*/
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final class ClusterClientReceptionist(system: ExtendedActorSystem) extends Extension {
@ -661,7 +661,7 @@ final class ClusterClientReceptionist(system: ExtendedActorSystem) extends Exten
}
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
object ClusterReceptionistSettings {
@ -713,7 +713,7 @@ object ClusterReceptionistSettings {
* client will be stopped after this time of inactivity.
*/
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final class ClusterReceptionistSettings(
val role: Option[String],
@ -875,7 +875,7 @@ final case class ClusterClients(clusterClients: Set[ActorRef]) {
}
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
object ClusterReceptionist {
@ -952,7 +952,7 @@ object ClusterReceptionist {
* the client is supposed to communicate directly to the actor in the cluster.
*/
@deprecated(
"Use Akka gRPC instead, see https://doc.akka.io/docs/akka/2.6/cluster-client.html#migration-to-akka-grpc",
"Use Akka gRPC instead, see https://pekko.apache.org/docs/pekko/current/cluster-client.html#migration-to-akka-grpc",
since = "2.6.0")
final class ClusterReceptionist(pubSubMediator: ActorRef, settings: ClusterReceptionistSettings)
extends Actor

View file

@ -150,7 +150,7 @@ class Cluster(val system: ExtendedActorSystem) extends Extension {
"auto-down-unreachable-after") != "off"))
logWarning(
"auto-down has been removed in Akka 2.6.0. See " +
"https://doc.akka.io/docs/akka/2.6/typed/cluster.html#downing for alternatives.")
"https://pekko.apache.org/docs/pekko/current/typed/cluster.html#downing for alternatives.")
}
// ========================================================

View file

@ -440,7 +440,7 @@ private[cluster] class ClusterCoreDaemon(publisher: ActorRef, joinConfigCompatCh
case None =>
logInfo(
"No downing-provider-class configured, manual cluster downing required, see " +
"https://doc.akka.io/docs/akka/current/typed/cluster.html#downing")
"https://pekko.apache.org/docs/pekko/current/typed/cluster.html#downing")
}
if (seedNodes.isEmpty) {
@ -449,7 +449,7 @@ private[cluster] class ClusterCoreDaemon(publisher: ActorRef, joinConfigCompatCh
else
logInfo(
"No seed-nodes configured, manual cluster join required, see " +
"https://doc.akka.io/docs/akka/current/typed/cluster.html#joining")
"https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining")
} else {
self ! JoinSeedNodes(seedNodes)
}

View file

@ -50,7 +50,7 @@ private[cluster] object DowningProvider {
* When implementing a downing provider you should make sure that it will not split the cluster into
* several separate clusters in case of network problems or system overload (long GC pauses). This
* is much more difficult than it might be perceived at first, so carefully read the concerns and scenarios
* described in https://doc.akka.io/docs/akka/current/split-brain-resolver.html
* described in https://pekko.apache.org/docs/pekko/current/split-brain-resolver.html
*/
abstract class DowningProvider {

View file

@ -24,7 +24,7 @@ import pekko.cluster.DowningProvider
import pekko.coordination.lease.scaladsl.LeaseProvider
/**
* See reference documentation: https://doc.akka.io/docs/akka/current/split-brain-resolver.html
* See reference documentation: https://pekko.apache.org/docs/pekko/current/split-brain-resolver.html
*
* Enabled with configuration:
* {{{

View file

@ -18,9 +18,6 @@ RedirectMatch 301 ^(.*[^d])/guide/(.*) $1/typed/guide/$2
RedirectMatch 301 ^(.*)/additional/rolling-deploys\.html$ $1/additional/rolling-updates.html
RedirectMatch 301 ^(.*)/additional/index\.html$ $1/project/index.html
RedirectMatch 301 ^(.*)/howto\.html$ https://doc.akka.io/docs/akka/2.5/howto.html
RedirectMatch 301 ^(.*)/common/duration\.html$ https://doc.akka.io/docs/akka/2.5/common/duration.html
RedirectMatch 301 ^(.*)/java8-compat\.html$ https://doc.akka.io/docs/akka/2.5/java8-compat.html
RedirectMatch 301 ^(.*)/common/cluster\.html$ $1/typed/cluster-concepts.html
RedirectMatch 301 ^(.*)/typed/cluster-specification\.html$ $1/typed/cluster-concepts.html

View file

@ -5,12 +5,12 @@ project.description: How to deploy Pekko Cluster to Kubernetes and Docker.
## Deploying to Kubernetes
Deploy to Kubernetes according to the guide and example project for [Deploying Pekko Cluster to Kubernetes](https://doc.akka.io/docs/akka-management/current/kubernetes-deployment/index.html), but that requires more expertise of Kubernetes.
Deploy to Kubernetes according to the guide and example project for [Deploying Pekko Cluster to Kubernetes]($pekko.doc.dns$/docs/pekko-management/current/kubernetes-deployment/index.html), but that requires more expertise of Kubernetes.
### Cluster bootstrap
To take advantage of running inside Kubernetes while forming a cluster,
[Pekko Cluster Bootstrap](https://doc.akka.io/docs/akka-management/current/bootstrap/) helps forming or joining a cluster using Pekko Discovery to discover peer nodes.
[Pekko Cluster Bootstrap]($pekko.doc.dns$/docs/pekko-management/current/bootstrap/) helps forming or joining a cluster using Pekko Discovery to discover peer nodes.
with the Kubernetes API or Kubernetes via DNS.
You can look at the

View file

@ -126,7 +126,7 @@ If you need to change any of the following aspects of sharding it will require a
### Cluster configuration change
* A full restart is required if you change the [SBR strategy](https://doc.akka.io/docs/akka/current/split-brain-resolver.html#strategies)
* A full restart is required if you change the [SBR strategy]($pekko.doc.dns$/docs/pekko/current/split-brain-resolver.html#strategies)
### Migrating from PersistentFSM to EventSourcedBehavior

View file

@ -2,8 +2,8 @@
@@@ warning
Cluster Client is deprecated in favor of using [Pekko gRPC](https://doc.akka.io/docs/akka-grpc/current/index.html).
It is not advised to build new applications with Cluster Client, and existing users @ref[should migrate](#migration-to-pekko-grpc).
Cluster Client is deprecated in favor of using [Pekko gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/index.html).
It is not advised to build new applications with Cluster Client.
@@@
@ -38,8 +38,8 @@ i.e. not necessarily the initial contact points.
Using the @apidoc[ClusterClient] for communicating with a cluster from the outside requires that the system with the client
can both connect and be connected with Pekko Remoting from all the nodes in the cluster with a receptionist.
This creates a tight coupling in that the client and cluster systems may need to have the same version of both Pekko, libraries, message classes, serializers and potentially even the JVM. In many cases it is a better solution
to use a more explicit and decoupling protocol such as [HTTP](https://doc.akka.io/docs/akka-http/current/index.html) or
[gRPC](https://doc.akka.io/docs/akka-grpc/current/).
to use a more explicit and decoupling protocol such as [HTTP]($pekko.doc.dns$/docs/pekko-http/current/index.html) or
[gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/).
Additionally, since Pekko Remoting is primarily designed as a protocol for Pekko Cluster there is no explicit resource
management, when a @apidoc[ClusterClient] has been used it will cause connections with the cluster until the ActorSystem is
@ -228,20 +228,20 @@ contacts can be fetched and a new cluster client started.
## Migration to Pekko gRPC
Cluster Client is deprecated and it is not advised to build new applications with it.
As a replacement, we recommend using [Pekko gRPC](https://doc.akka.io/docs/akka-grpc/current/)
As a replacement, we recommend using [Pekko gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/)
with an application-specific protocol. The benefits of this approach are:
* Improved security by using TLS for gRPC (HTTP/2) versus exposing Pekko Remoting outside the Pekko Cluster
* Easier to update clients and servers independent of each other
* Improved protocol definition between client and server
* Usage of [Pekko gRPC Service Discovery](https://doc.akka.io/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery)
* Usage of [Pekko gRPC Service Discovery]($pekko.doc.dns$/docs/pekko-grpc/current/client/configuration.html#using-pekko-discovery-for-endpoint-discovery)
* Clients do not need to use Pekko
* See also [gRPC versus Pekko Remoting](https://doc.akka.io/docs/akka-grpc/current/whygrpc.html#grpc-vs-akka-remoting)
* See also [gRPC versus Pekko Remoting]($pekko.doc.dns$/docs/pekko-grpc/current/whygrpc.html#grpc-vs-akka-remoting)
### Migrating directly
Existing users of Cluster Client may migrate directly to Pekko gRPC and use it
as documented in [its documentation](https://doc.akka.io/docs/akka-grpc/current/).
as documented in [its documentation]($pekko.doc.dns$/docs/pekko-grpc/current/).
### Migrating gradually
@ -295,7 +295,7 @@ based API.
##### Initial contact points
Instead of configured initial contact points the [Pekko gRPC Service Discovery](https://doc.akka.io/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery) can be used.
Instead of configured initial contact points the [Pekko gRPC Service Discovery]($pekko.doc.dns$/docs/pekko-grpc/current/client/configuration.html#using-pekko-discovery-for-endpoint-discovery) can be used.
##### Failure detection

View file

@ -97,7 +97,7 @@ You are using version 2.6.6 of Pekko, but it appears you (perhaps indirectly) al
of related artifacts. You can solve this by adding an explicit dependency on version 2.6.6 of the
[pekko-persistence-query] artifacts to your project. Here's a complete collection of detected
artifacts: (2.5.3, [pekko-persistence-query]), (2.6.6, [pekko-actor, pekko-cluster]).
See also: https://doc.akka.io/docs/akka/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed
See also: https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed
```
The fix is typically to pick the highest Pekko version, and add explicit

View file

@ -1,52 +1,52 @@
# Other Pekko modules
This page describes modules that compliment libraries from the Pekko core. See [this overview](https://doc.akka.io/docs/akka/current/typed/guide/modules.html) instead for a guide on the core modules.
This page describes modules that compliment libraries from the Pekko core. See [this overview]($pekko.doc.dns$/docs/pekko/current/typed/guide/modules.html) instead for a guide on the core modules.
## [Pekko HTTP](https://doc.akka.io/docs/akka-http/current/)
## [Pekko HTTP]($pekko.doc.dns$/docs/pekko-http/current/)
A full server- and client-side HTTP stack on top of pekko-actor and pekko-stream.
## [Pekko gRPC](https://doc.akka.io/docs/akka-grpc/current/)
## [Pekko gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/)
Pekko gRPC provides support for building streaming gRPC servers and clients on top of Pekko Streams.
## [Pekko Connectors](https://doc.akka.io/docs/alpakka/current/)
## [Pekko Connectors]($pekko.doc.dns$/docs/pekko-connectors/current/)
Pekko Connectors is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Pekko.
## [Pekko Kafka Connector](https://doc.akka.io/docs/alpakka-kafka/current/)
## [Pekko Kafka Connector]($pekko.doc.dns$/docs/pekko-connectors-kafka/current/)
The Pekko Kafka Connector connects Apache Kafka with Pekko Streams.
## [Pekko Projections](https://doc.akka.io/docs/akka-projection/current/)
## [Pekko Projections]($pekko.doc.dns$/docs/pekko-projection/current/)
Pekko Projections let you process a stream of events or records from a source to a projected model or external system.
## [Cassandra Plugin for Pekko Persistence](https://doc.akka.io/docs/akka-persistence-cassandra/current/)
## [Cassandra Plugin for Pekko Persistence]($pekko.doc.dns$/docs/pekko-persistence-cassandra/current/)
A Pekko Persistence journal and snapshot store backed by Apache Cassandra.
## [JDBC Plugin for Pekko Persistence](https://doc.akka.io/docs/akka-persistence-jdbc/current/)
## [JDBC Plugin for Pekko Persistence]($pekko.doc.dns$/docs/pekko-persistence-jdbc/current/)
A Pekko Persistence journal and snapshot store for use with JDBC-compatible databases. This implementation relies on [Slick](https://scala-slick.org/).
## [R2DBC Plugin for Pekko Persistence](https://doc.akka.io/docs/akka-persistence-r2dbc/current/)
## [R2DBC Plugin for Pekko Persistence]($pekko.doc.dns$/docs/pekko-persistence-r2dbc/current/)
A Pekko Persistence journal and snapshot store for use with R2DBC-compatible databases. This implementation relies on [R2DBC](https://r2dbc.io/).
## [Google Cloud Spanner Plugin for Pekko Persistence](https://doc.akka.io/docs/akka-persistence-spanner/current/)
## [Google Cloud Spanner Plugin for Pekko Persistence]($pekko.doc.dns$/docs/pekko-persistence-spanner/current/)
Use [Google Cloud Spanner](https://cloud.google.com/spanner/) as Pekko Persistence journal and snapshot store. This integration relies on [Pekko gRPC](https://doc.akka.io/docs/akka-grpc/current/).
Use [Google Cloud Spanner](https://cloud.google.com/spanner/) as Pekko Persistence journal and snapshot store. This integration relies on [Pekko gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/).
## Pekko Management
* [Pekko Management](https://doc.akka.io/docs/akka-management/current/) provides a central HTTP endpoint for Pekko management extensions.
* [Pekko Cluster Bootstrap](https://doc.akka.io/docs/akka-management/current/bootstrap/) helps bootstrapping a Pekko cluster using Pekko Discovery.
* [Pekko Management Cluster HTTP](https://doc.akka.io/docs/akka-management/current/cluster-http-management.html) provides HTTP endpoints for introspecting and managing Pekko clusters.
* [Pekko Discovery for Kubernetes, Consul, Marathon, and AWS](https://doc.akka.io/docs/akka-management/current/discovery/)
* [Kubernetes Lease](https://doc.akka.io/docs/akka-management/current/kubernetes-lease.html)
* [Pekko Management]($pekko.doc.dns$/docs/pekko-management/current/) provides a central HTTP endpoint for Pekko management extensions.
* [Pekko Cluster Bootstrap]($pekko.doc.dns$/docs/pekko-management/current/bootstrap/) helps bootstrapping a Pekko cluster using Pekko Discovery.
* [Pekko Management Cluster HTTP]($pekko.doc.dns$/docs/pekko-management/current/cluster-http-management.html) provides HTTP endpoints for introspecting and managing Pekko clusters.
* [Pekko Discovery for Kubernetes, Consul, Marathon, and AWS]($pekko.doc.dns$/docs/pekko-management/current/discovery/)
* [Kubernetes Lease]($pekko.doc.dns$/docs/pekko-management/current/kubernetes-lease.html)

View file

@ -80,7 +80,7 @@ Leases can be used for @ref[Split Brain Resolver](split-brain-resolver.md#lease)
## Lease implementations
* [Kubernetes API](https://doc.akka.io/docs/akka-management/current/kubernetes-lease.html)
* [Kubernetes API]($pekko.doc.dns$/docs/pekko-management/current/kubernetes-lease.html)
## Implementing a lease

View file

@ -236,4 +236,4 @@ pekko.extensions = ["org.apache.pekko.cluster.pubsub.DistributedPubSub"]
As in @ref:[Message Delivery Reliability](general/message-delivery-reliability.md) of Pekko, message delivery guarantee in distributed pub sub modes is **at-most-once delivery**.
In other words, messages can be lost over the wire.
If you are looking for at-least-once delivery guarantee, we recommend [Pekko Connectors](https://doc.akka.io/docs/alpakka-kafka/current/).
If you are looking for at-least-once delivery guarantee, we recommend [Pekko Connectors]($pekko.doc.dns$/docs/pekko-connectors-kafka/current/).

View file

@ -13,7 +13,7 @@ asynchronous. This effort has been undertaken to ensure that all functions are
available equally when running within a single JVM or on a cluster of hundreds
of machines. The key for enabling this is to go from remote to local by way of
optimization instead of trying to go from local to remote by way of
generalization. See [this classic paper](https://doc.akka.io/docs/misc/smli_tr-94-29.pdf)
generalization. See [this classic paper]($pekko.doc.dns$/docs/misc/smli_tr-94-29.pdf)
for a detailed discussion on why the second approach is bound to fail.
## Ways in which Transparency is Broken

View file

@ -6,10 +6,10 @@ A directory of persistence journal and snapshot store plugins is available at th
Plugins maintained within the Pekko organization are:
* [pekko-persistence-cassandra](https://doc.akka.io/docs/akka-persistence-cassandra/current/) (no Durable State support)
* [pekko-persistence-jdbc](https://doc.akka.io/docs/akka-persistence-jdbc/current/)
* [pekko-persistence-r2dbc](https://doc.akka.io/docs/akka-persistence-r2dbc/current/)
* [pekko-persistence-spanner](https://doc.akka.io/docs/akka-persistence-spanner/current/)
* [pekko-persistence-cassandra]($pekko.doc.dns$/docs/pekko-persistence-cassandra/current/) (no Durable State support)
* [pekko-persistence-jdbc]($pekko.doc.dns$/docs/pekko-persistence-jdbc/current/)
* [pekko-persistence-r2dbc]($pekko.doc.dns$/docs/pekko-persistence-r2dbc/current/)
* [pekko-persistence-spanner]($pekko.doc.dns$/docs/pekko-persistence-spanner/current/)
Plugins can be selected either by "default" for all persistent actors,
or "individually", when a persistent actor defines its own set of plugins.
@ -27,7 +27,7 @@ However, these entries are provided as empty "", and require explicit user confi
* For an example of a journal plugin which writes messages to LevelDB see @ref:[Local LevelDB journal](#local-leveldb-journal).
* For an example of a snapshot store plugin which writes snapshots as individual files to the local filesystem see @ref:[Local snapshot store](#local-snapshot-store).
* The state store is relatively new, one available implementation is the [pekko-persistence-jdbc-plugin](https://doc.akka.io/docs/akka-persistence-jdbc/current/).
* The state store is relatively new, one available implementation is the [pekko-persistence-jdbc-plugin]($pekko.doc.dns$/docs/pekko-persistence-jdbc/current/).
## Eager initialization of persistence plugin
@ -74,7 +74,7 @@ The LevelDB plugin cannot be used in a Pekko Cluster since the storage is in a l
@@@
The LevelDB journal is deprecated and it is not advised to build new applications with it.
As a replacement we recommend using [Pekko Persistence JDBC](https://doc.akka.io/docs/akka-persistence-jdbc/current/index.html).
As a replacement we recommend using [Pekko Persistence JDBC]($pekko.doc.dns$/docs/pekko-persistence-jdbc/current/index.html).
The LevelDB journal plugin config entry is `pekko.persistence.journal.leveldb`. Enable this plugin by
defining config property:

View file

@ -1,7 +1,7 @@
# Persistence Query for LevelDB
The LevelDB journal and query plugin is deprecated and it is not advised to build new applications with it.
As a replacement we recommend using [Pekko Persistence JDBC](https://doc.akka.io/docs/akka-persistence-jdbc/current/index.html).
As a replacement we recommend using [Pekko Persistence JDBC]($pekko.doc.dns$/docs/pekko-persistence-jdbc/current/index.html).
## Dependency

View file

@ -267,7 +267,7 @@ Java
Sometimes you may need to use "resumable" projections, which will not start from the beginning of time each time
when run. In such case, the sequence number (or `offset`) of the processed event will be stored and
used the next time this projection is started. This pattern is implemented in the
[Pekko Projections](https://doc.akka.io/docs/akka-projection/current/) module.
[Pekko Projections]($pekko.doc.dns$/docs/pekko-projection/current/) module.
<a id="read-journal-plugin-api"></a>

View file

@ -4,9 +4,9 @@ project.description: Upgrade strategy for downstream libraries
# Downstream upgrade strategy
When a new Pekko version is released, downstream projects (such as
[Pekko Management](https://doc.akka.io/docs/akka-management/current/),
[Pekko HTTP](https://doc.akka.io/docs/akka-http/current/) and
[Pekko gRPC](https://doc.akka.io/docs/akka-grpc/current/))
[Pekko Management]($pekko.doc.dns$/docs/pekko-management/current/),
[Pekko HTTP]($pekko.doc.dns$/docs/pekko-http/current/) and
[Pekko gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/))
do not need to update immediately: because of our
@ref[binary compatibility](../common/binary-compatibility-rules.md) approach,
applications can take advantage of the latest version of Pekko without having to

View file

@ -3,10 +3,11 @@ project.description: Pekko version migration guides.
---
# Migration Guides
Pekko is based on the latest version of Akka in the v2.6.x series. If migrating from an earlier version series, migration guides can be found in the Akka documentation at the following locations:
Apache Pekko is based on the latest version of Akka in the v2.6.x series. If migrating from an earlier version of Akka,
please [migrate to Akka 2.6](https://doc.akka.io/docs/akka/current/project/migration-guides.html) before migrating to Pekko.
[2.5.x to 2.6.x](https://doc.akka.io/docs/akka/2.6/project/migration-guide-2.5.x-2.6.x.html)
## Migration to Pekko
TODO
[2.4.x to 2.5.x](https://doc.akka.io/docs/akka/2.5/project/migration-guide-2.4.x-2.5.x.html)
[Older versions](https://doc.akka.io/docs/akka/2.6/project/migration-guide-old.html)

View file

@ -11,8 +11,8 @@ other internally.
When building a Pekko application, you would usually not use the Remoting concepts
directly, but instead use the more high-level
@ref[Pekko Cluster](index-cluster.md) utilities or technology-agnostic protocols
such as [HTTP](https://doc.akka.io/docs/akka-http/current/),
[gRPC](https://doc.akka.io/docs/akka-grpc/current/) etc.
such as [HTTP]($pekko.doc.dns$/docs/pekko-http/current/),
[gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/) etc.
@@@

View file

@ -14,8 +14,8 @@ other internally.
When building a Pekko application, you would usually not use the Remoting concepts
directly, but instead use the more high-level
@ref[Pekko Cluster](index-cluster.md) utilities or technology-agnostic protocols
such as [HTTP](https://doc.akka.io/docs/akka-http/current/),
[gRPC](https://doc.akka.io/docs/akka-grpc/current/) etc.
such as [HTTP]($pekko.doc.dns$/docs/pekko-http/current/),
[gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/) etc.
@@@

View file

@ -19,7 +19,7 @@ report with the Lightbend Akka team.
## Security Related Documentation
* [Akka security fixes](https://doc.akka.io/docs/akka/current/security/index.html)
* [Akka security fixes]($pekko.doc.dns$/docs/pekko/current/security/index.html)
* @ref:[Java Serialization](../serialization.md#java-serialization)
* @ref:[Remote deployment allow list](../remoting.md#remote-deployment-allow-list)
* @ref:[Remote Security](../remoting-artery.md#remote-security)

View file

@ -345,7 +345,7 @@ before trying to acquire the lease on the minority side.
There is currently one supported implementation of the lease which is backed by a
[Custom Resource Definition (CRD)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
in Kubernetes. It is described in the [Kubernetes Lease](https://doc.akka.io/docs/akka-management/current/kubernetes-lease.html)
in Kubernetes. It is described in the [Kubernetes Lease]($pekko.doc.dns$/docs/pekko-management/current/kubernetes-lease.html)
documentation.
This strategy is very safe since coordination is added by an external arbiter. The trade-off compared to other
@ -376,7 +376,7 @@ pekko {
@@snip [reference.conf](/cluster/src/main/resources/reference.conf) { #lease-majority }
See also configuration and additional dependency in [Kubernetes Lease](https://doc.akka.io/docs/akka-management/current/kubernetes-lease.html)
See also configuration and additional dependency in [Kubernetes Lease]($pekko.doc.dns$/docs/pekko-management/current/kubernetes-lease.html)
## Indirectly connected nodes

View file

@ -23,7 +23,7 @@ See @ref:[Blocking Needs Careful Management](../../../typed/dispatchers.md#block
Note that there are pre-built `unfoldResource`-like operators to wrap `java.io.InputStream`s in
@ref:[Additional Sink and Source converters](../index.md#additional-sink-and-source-converters),
`Iterator` in @ref:[fromIterator](fromIterator.md) and File IO in @ref:[File IO Sinks and Sources](../index.md#file-io-sinks-and-sources).
Additional prebuilt technology specific connectors can also be found in [Pekko Connectors](https://doc.akka.io/docs/alpakka/current/).
Additional prebuilt technology specific connectors can also be found in [Pekko Connectors]($pekko.doc.dns$/docs/pekko-connectors/current/).
## Examples

View file

@ -26,7 +26,7 @@ fail the stream. The supervision strategy is used to handle exceptions from `rea
Note that there are pre-built `unfoldResourceAsync`-like operators to wrap `java.io.InputStream`s in
@ref:[Additional Sink and Source converters](../index.md#additional-sink-and-source-converters),
`Iterator` in @ref:[fromIterator](fromIterator.md) and File IO in @ref:[File IO Sinks and Sources](../index.md#file-io-sinks-and-sources).
Additional prebuilt technology specific connectors can also be found in [Pekko Connectors](https://doc.akka.io/docs/alpakka/current/).
Additional prebuilt technology specific connectors can also be found in [Pekko Connectors]($pekko.doc.dns$/docs/pekko-connectors/current/).
## Examples

View file

@ -19,8 +19,8 @@ This is a collection of patterns to demonstrate various usage of the Pekko Strea
problems in the format of "recipes". The purpose of this page is to give inspiration and ideas how to approach
various small tasks involving streams. The recipes in this page can be used directly as-is, but they are most powerful as
starting points: customization of the code snippets is warmly encouraged. The recipes can be extended or can provide a
basis for the implementation of other [patterns](https://doc.akka.io/docs/alpakka/current/patterns.html) involving
[Pekko Connectors](https://doc.akka.io/docs/alpakka/current).
basis for the implementation of other [patterns]($pekko.doc.dns$/docs/pekko-connectors/current/patterns.html) involving
[Pekko Connectors]($pekko.doc.dns$/docs/pekko-connectors/current).
This part also serves as supplementary material for the main body of documentation. It is a good idea to have this page
open while reading the manual and look for examples demonstrating various streaming concepts

View file

@ -26,10 +26,10 @@ during a rolling deployment, but deployment of the entire set has a single point
intra-service communication can take advantage of Pekko Cluster, failure management and actor messaging, which
is convenient to use and has great performance.
Between different services [Pekko HTTP](https://doc.akka.io/docs/akka-http/current/) or
[Pekko gRPC](https://doc.akka.io/docs/akka-grpc/current/) can be used for synchronous (yet non-blocking)
communication and [Pekko Streams Kafka](https://doc.akka.io/docs/alpakka-kafka/current/) or other
[Pekko Connectors](https://doc.akka.io/docs/alpakka/current/) for integration asynchronous communication.
Between different services [Pekko HTTP]($pekko.doc.dns$/docs/pekko-http/current/) or
[Pekko gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/) can be used for synchronous (yet non-blocking)
communication and [Pekko Streams Kafka]($pekko.doc.dns$/docs/pekko-connectors-kafka/current/) or other
[Pekko Connectors]($pekko.doc.dns$/docs/pekko-connectors/current/) for integration asynchronous communication.
All those communication mechanisms work well with streaming of messages with end-to-end back-pressure, and the
synchronous communication tools can also be used for single request response interactions. It is also important
to note that when using these tools both sides of the communication do not have to be implemented with Pekko,

View file

@ -164,7 +164,7 @@ startup if a node to join have been specified in the configuration
* **leave** - tell a node to leave the cluster gracefully, normally triggered by ActorSystem or JVM shutdown through @ref[coordinated shutdown](../coordinated-shutdown.md)
* **down** - mark a node as down. This action is required to remove crashed nodes (that did not 'leave') from the cluster. It can be triggered manually, through [Cluster HTTP Management](https://doc.akka.io/docs/akka-management/current/cluster-http-management.html#put-cluster-members-address-responses), or automatically by a @ref[downing provider](cluster.md#downing) like @ref:[Split Brain Resolver](../split-brain-resolver.md)
* **down** - mark a node as down. This action is required to remove crashed nodes (that did not 'leave') from the cluster. It can be triggered manually, through [Cluster HTTP Management]($pekko.doc.dns$/docs/pekko-management/current/cluster-http-management.html#put-cluster-members-address-responses), or automatically by a @ref[downing provider](cluster.md#downing) like @ref:[Split Brain Resolver](../split-brain-resolver.md)
#### Leader Actions

View file

@ -206,7 +206,7 @@ in one rebalance round. The lower result of `rebalance-relative-limit` and `reba
An alternative allocation strategy is the @apidoc[ExternalShardAllocationStrategy] which allows
explicit control over where shards are allocated via the @apidoc[ExternalShardAllocation] extension.
This can be used, for example, to match up Kafka Partition consumption with shard locations. Pekko Connector Kafka provides [an extension for Pekko Cluster Sharding](https://doc.akka.io/docs/alpakka-kafka/current/cluster-sharding.html).
This can be used, for example, to match up Kafka Partition consumption with shard locations. Pekko Connector Kafka provides [an extension for Pekko Cluster Sharding]($pekko.doc.dns$/docs/pekko-connectors-kafka/current/cluster-sharding.html).
To use it set it as the allocation strategy on your @apidoc[typed.*.Entity]:
@ -701,7 +701,7 @@ for more information about `min-nr-of-members`.
## Health check
An [Pekko Management compatible health check](https://doc.akka.io/docs/akka-management/current/healthchecks.html) is included that returns healthy once the local shard region
An [Pekko Management compatible health check]($pekko.doc.dns$/docs/pekko-management/current/healthchecks.html) is included that returns healthy once the local shard region
has registered with the coordinator. This health check should be used in cases where you don't want to receive production traffic until the local shard region is ready to retrieve locations
for shards. For shard regions that aren't critical and therefore should not block this node becoming ready do not include them.

View file

@ -1,6 +1,6 @@
# CQRS
@ref:[EventSourcedBehavior](persistence.md)s along with [Pekko Projections](https://doc.akka.io/docs/akka-projection/current/)
@ref:[EventSourcedBehavior](persistence.md)s along with [Pekko Projections]($pekko.doc.dns$/docs/pekko-projection/current/)
can be used to implement Command Query Responsibility Segregation (CQRS). The @extref[Microservices with Pekko tutorial](platform-guide:microservices-tutorial/)
explains how to use Event Sourcing and Projections together. For implementing CQRS using @ref:[DurableStateBehavior](durable-state/persistence.md), please take a look at the corresponding @ref:[CQRS](durable-state/cqrs.md) documentation.

View file

@ -64,6 +64,6 @@ for the topic will not be sent to it.
As in @ref:[Message Delivery Reliability](../general/message-delivery-reliability.md) of Pekko, message delivery guarantee in distributed pub sub modes is **at-most-once delivery**. In other words, messages can be lost over the wire. In addition to that the registry of nodes which have subscribers is eventually consistent
meaning that subscribing an actor on one node will have a short delay before it is known on other nodes and published to.
If you are looking for at-least-once delivery guarantee, we recommend [Pekko Connector Kafka](https://doc.akka.io/docs/alp(/kafka/current/).
If you are looking for at-least-once delivery guarantee, we recommend [Pekko Connector Kafka]($pekko.doc.dns$/docs/alp(/kafka/current/).

View file

@ -1,6 +1,6 @@
# CQRS
@ref:[DurableStateBehavior](persistence.md)s along with [Pekko Projections](https://doc.akka.io/docs/akka-projection/current/)
@ref:[DurableStateBehavior](persistence.md)s along with [Pekko Projections]($pekko.doc.dns$/docs/pekko-projection/current/)
can be used to implement Command Query Responsibility Segregation (CQRS). For implementing CQRS using @ref:[EventSourcedBehavior](../persistence.md), please take a look at the corresponding @ref:[CQRS](../cqrs.md) documentation.

View file

@ -16,7 +16,7 @@ The following capabilities are included with Pekko OSS and are introduced later
* @ref:[Pekko Connectors](#pekko-connectors)
* @ref:[HTTP](#http)
* @ref:[gRPC](#grpc)
* [Other Pekko modules](https://doc.akka.io/docs/akka/current/common/other-modules.html)
* [Other Pekko modules]($pekko.doc.dns$/docs/pekko/current/common/other-modules.html)
This page does not list all available modules, but overviews the main functionality and gives you an idea of the level of sophistication you can reach when you start building systems on top of Pekko.
@ -242,11 +242,11 @@ Streams solve the following challenges:
### Pekko Connectors
[Pekko Connectors](https://doc.akka.io/docs/alpakka/current/) is a separate module from Pekko.
[Pekko Connectors]($pekko.doc.dns$/docs/pekko-connectors/current/) is a separate module from Pekko.
Pekko Connectors is collection of modules built upon the Streams API to provide Reactive Stream connector
implementations for a variety of technologies common in the cloud and infrastructure landscape.
See the [Pekko Connectors overview page](https://doc.akka.io/docs/alpakka/current/overview.html) for more details on the API and the implementation modules available.
See the [Pekko Connectors overview page]($pekko.doc.dns$/docs/pekko-connectors/current/overview.html) for more details on the API and the implementation modules available.
Pekko Connectors help solve the following challenges:
@ -255,7 +255,7 @@ Pekko Connectors help solve the following challenges:
### HTTP
[Pekko HTTP](https://doc.akka.io/docs/akka-http/current/) is a separate module from Pekko.
[Pekko HTTP]($pekko.doc.dns$/docs/pekko-http/current/) is a separate module from Pekko.
The de facto standard for providing APIs remotely, internal or external, is [HTTP](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol). Pekko provides a library to construct or consume such HTTP services by giving a set of tools to create HTTP services (and serve them) and a client that can be
used to consume other services. These tools are particularly suited to streaming in and out a large set of data or real-time events by leveraging the underlying model of Pekko Streams.
@ -268,7 +268,7 @@ Some of the challenges that HTTP tackles:
### gRPC
[Pekko gRPC](https://doc.akka.io/docs/akka-grpc/current/index.html) is a separate module from Pekko.
[Pekko gRPC]($pekko.doc.dns$/docs/pekko-grpc/current/index.html) is a separate module from Pekko.
This library provides an implementation of gRPC that integrates nicely with the @ref:[HTTP](#http) and @ref:[Streams](#streams) modules. It is capable of generating both client and server-side artifacts from protobuf service definitions, which can then be exposed using Pekko HTTP, and handled using Streams.

View file

@ -234,4 +234,4 @@ To continue your journey with Pekko, we recommend:
To get from this guide to a complete application you would likely need to provide either an UI or an API. For this we recommend that you look at the following technologies and see what fits you:
* @extref[Microservices with Pekko tutorial](platform-guide:microservices-tutorial/) illustrates how to implement an Event Sourced CQRS application with Pekko Persistence and Pekko Projections
* [Pekko HTTP](https://doc.akka.io/docs/akka-http/current/introduction.html) is a HTTP server and client library, making it possible to publish and consume HTTP endpoints
* [Pekko HTTP]($pekko.doc.dns$/docs/pekko-http/current/introduction.html) is a HTTP server and client library, making it possible to publish and consume HTTP endpoints

View file

@ -346,7 +346,7 @@ be used for replicated event sourced behaviors as well.
Tagging is useful in practice to build queries that lead to other data representations or aggregations of these event
streams that can more directly serve user queries known as building the “read side” in @ref[CQRS](cqrs.md) based applications.
Creating read side projections is possible through [Pekko Projection](https://doc.akka.io/docs/akka-projection/current/)
Creating read side projections is possible through [Pekko Projection]($pekko.doc.dns$/docs/pekko-projection/current/)
or through direct usage of the @ref[events by tag queries](../persistence-query.md#eventsbytag-and-currenteventsbytag).
The tagging is invoked in each replicas, which requires some special care in using tags, or else the same event will be
@ -412,6 +412,6 @@ The @apidoc[SnapshotStoreSpec] in the Persistence TCK provides a capability flag
The following plugins support Replicated Event Sourcing:
* [Pekko Persistence Cassandra](https://doc.akka.io/docs/akka-persistence-cassandra/current/index.html) versions 1.0.3+
* [Pekko Persistence Spanner](https://doc.akka.io/docs/akka-persistence-spanner/current/overview.html) versions 1.0.0-RC4+
* [Pekko Persistence JDBC](https://doc.akka.io/docs/akka-persistence-jdbc/current) versions 5.0.0+
* [Pekko Persistence Cassandra]($pekko.doc.dns$/docs/pekko-persistence-cassandra/current/index.html) versions 1.0.3+
* [Pekko Persistence Spanner]($pekko.doc.dns$/docs/pekko-persistence-spanner/current/overview.html) versions 1.0.0-RC4+
* [Pekko Persistence JDBC]($pekko.doc.dns$/docs/pekko-persistence-jdbc/current) versions 5.0.0+

View file

@ -103,7 +103,7 @@ import pekko.stream.scaladsl.Sink
system.log.warn(
"Persistence TestKit serialization enabled when using EventSourcedBehaviorTestKit, this is not intended. " +
"make sure you create the system used in the test with the config from EventSourcedBehaviorTestKit.config " +
"as described in the docs https://doc.akka.io/docs/akka/current/typed/persistence-testing.html#unit-testing")
"as described in the docs https://pekko.apache.org/docs/pekko/current/typed/persistence-testing.html#unit-testing")
}
override val persistenceTestKit: PersistenceTestKit = PersistenceTestKit(system)

View file

@ -5,7 +5,7 @@
# This is the reference config file that contains all the default settings.
# Make your edits in your application.conf in order to override these settings.
# Directory of persistence journal and snapshot store plugins is available at the
# Directory of persistence journal and snapshot store plugins is available at the
# Pekko Community Projects page https://akka.io/community/
# Default persistence extension settings.

View file

@ -70,11 +70,11 @@ object Scaladoc extends AutoPlugin {
"-sourcepath",
base.getAbsolutePath,
"-doc-title",
"Akka",
"Apache Pekko",
"-doc-version",
ver,
"-doc-canonical-base-url",
"https://doc.akka.io/api/akka/current/")
"https://pekko.apache.org/api/pekko/current/")
CliOptions.scaladocDiagramsEnabled.ifTrue("-diagrams").toList ::: opts
}
@ -158,7 +158,7 @@ object UnidocRoot extends AutoPlugin {
val releaseVersion = if (isSnapshot.value) "snapshot" else version.value
(Compile / unidoc).value match {
case Seq(japi, api) =>
Seq(japi -> s"www/japi/akka/$releaseVersion", api -> s"www/api/akka/$releaseVersion")
Seq(japi -> s"www/japi/pekko/$releaseVersion", api -> s"www/api/pekko/$releaseVersion")
}
}))
.getOrElse(Nil)

View file

@ -23,26 +23,27 @@ import sbt._
import scala.concurrent.duration._
object Paradox {
val pekkoBaseURL = "https://pekko.apache.org"
val propertiesSettings = Seq(
Compile / paradoxProperties ++= Map(
"canonical.base_url" -> "https://doc.akka.io/docs/akka/current",
"canonical.base_url" -> s"$pekkoBaseURL/docs/pekko/current",
"github.base_url" -> GitHub
.url(version.value), // for links like this: @github[#1](#1) or @github[83986f9](83986f9)
"extref.pekko.http.base_url" -> "https://doc.akka.io/docs/akka-http/current/%s",
"extref.pekko-management.base_url" -> "https://doc.akka.io/docs/akka-management/current/%s",
"extref.pekko.http.base_url" -> s"$pekkoBaseURL/docs/pekko-http/current/%s",
"extref.pekko-management.base_url" -> s"$pekkoBaseURL/docs/pekko-management/current/%s",
"extref.platform-guide.base_url" -> "https://developer.lightbend.com/docs/akka-platform-guide/%s",
"extref.wikipedia.base_url" -> "https://en.wikipedia.org/wiki/%s",
"extref.github.base_url" -> (GitHub.url(version.value) + "/%s"), // for links to our sources
"extref.samples.base_url" -> "https://developer.lightbend.com/start/?group=akka&amp;project=%s",
"extref.ecs.base_url" -> "https://example.lightbend.com/v1/download/%s",
"scaladoc.pekko.base_url" -> "https://doc.akka.io/api/akka/2.6/org/apache",
"scaladoc.pekko.http.base_url" -> "https://doc.akka.io/api/akka-http/current/org/apache",
"pekko.doc.dns" -> s"$pekkoBaseURL",
"scaladoc.pekko.base_url" -> s"$pekkoBaseURL/api/pekko/current/org/apache",
"scaladoc.pekko.http.base_url" -> s"$pekkoBaseURL/api/pekko-http/current/org/apache",
"javadoc.java.base_url" -> "https://docs.oracle.com/en/java/javase/11/docs/api/java.base/",
"javadoc.java.link_style" -> "direct",
"javadoc.pekko.base_url" -> "https://doc.akka.io/japi/akka/2.6/org/apache",
"javadoc.pekko.base_url" -> s"$pekkoBaseURL/japi/pekko/current/org/apache",
"javadoc.pekko.link_style" -> "direct",
"javadoc.akka.http.base_url" -> "https://doc.akka.io/japi/akka-http/current/org/apache",
"javadoc.akka.http.base_url" -> s"$pekkoBaseURL/japi/pekko-http/current/org/apache",
"javadoc.akka.http.link_style" -> "frames",
"javadoc.com.fasterxml.jackson.annotation.base_url" -> "https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-annotations/latest/",
"javadoc.com.fasterxml.jackson.annotation.link_style" -> "direct",
@ -102,6 +103,6 @@ object Paradox {
ApidocPlugin.autoImport.apidocRootPackage := "org.apache.pekko",
publishRsyncArtifacts += {
val releaseVersion = if (isSnapshot.value) "snapshot" else version.value
(Compile / paradox).value -> s"www/docs/akka/$releaseVersion"
(Compile / paradox).value -> s"www/docs/pekko/$releaseVersion"
})
}

View file

@ -170,14 +170,14 @@ object PekkoBuild {
},
ThisBuild / ivyLoggingLevel := UpdateLogging.Quiet,
licenses := Seq(("Apache-2.0", url("https://www.apache.org/licenses/LICENSE-2.0.html"))),
homepage := Some(url("https://akka.io/")),
homepage := Some(url("https://pekko.apache.org/")),
description := "Apache Pekko is a toolkit for building highly concurrent, distributed, and resilient message-driven applications for Java and Scala.",
scmInfo := Some(
ScmInfo(
url("https://github.com/apache/incubator-pekko"),
"scm:git:https://github.com/apache/incubator-pekko.git",
"scm:git:git@github.com:apache/incubator-pekko.git")),
apiURL := Some(url(s"https://doc.akka.io/api/akka/${version.value}")),
apiURL := Some(url(s"https://pekko.apache.org/api/pekko/${version.value}")),
initialCommands :=
"""|import language.postfixOps
|import org.apache.pekko.actor._

View file

@ -1,7 +1,7 @@
project-info {
version: "current"
scaladoc: "https://doc.akka.io/api/akka/"${project-info.version}"/akka/"
javadoc: "https://doc.akka.io/japi/akka/"${project-info.version}"/akka/"
scaladoc: "https://pekko.apache.org/api/pekko/"${project-info.version}"/pekko/"
javadoc: "https://pekko.apache.org/japi/pekko/"${project-info.version}"/pekko/"
shared-info {
jdk-versions: ["Adopt OpenJDK 8", "Adopt OpenJDK 11"]
snapshots: {
@ -14,6 +14,7 @@ project-info {
text: "Github issues"
}
release-notes: {
# TODO: Correct url needs to be provided
url: "https://akka.io/blog/news-archive.html"
text: "akka.io blog"
new-tab: false

View file

@ -749,7 +749,7 @@ pekko {
# Select the underlying transport implementation.
#
# Possible values: aeron-udp, tcp, tls-tcp
# See https://doc.akka.io/docs/pekko/current/remoting-artery.html#selecting-a-transport for the tradeoffs
# See https://pekko.apache.org/docs/pekko/current/remoting-artery.html#selecting-a-transport for the tradeoffs
# for each transport
transport = tcp

View file

@ -284,11 +284,11 @@ private[pekko] class RemoteActorRefProvider(
"org.jboss.netty.channel.Channel",
"Classic",
"Netty",
"https://doc.akka.io/docs/akka/current/remoting.html")
"https://pekko.apache.org/docs/pekko/current/remoting.html")
}
private def checkAeronOnClassPath(system: ActorSystemImpl): Unit = {
val arteryLink = "https://doc.akka.io/docs/akka/current/remoting-artery.html"
val arteryLink = "https://pekko.apache.org/docs/pekko/current/remoting-artery.html"
// using classes that are used so will fail to compile if they get removed from Aeron
checkClassOrThrow(system, "io.aeron.driver.MediaDriver", "Artery", "Aeron driver", arteryLink)
checkClassOrThrow(system, "io.aeron.Aeron", "Artery", "Aeron client", arteryLink)

View file

@ -7,39 +7,39 @@ site-link-validator {
# Resolves URLs with the given prefix as local files instead
link-mappings = [
{
prefix = "https://doc.akka.io/docs/akka/current/"
prefix = "https://pekko.apache.org/docs/pekko/current/"
replace = ""
}
# ScalaDoc from unidoc
{
prefix = "https://doc.akka.io/api/akka/2.6/"
prefix = "https://pekko.apache.org/api/pekko/current/"
replace = "/../../../../../target/scala-2.13/unidoc/"
}
{
prefix = "https://doc.akka.io/api/akka/current/"
prefix = "https://pekko.apache.org/api/pekko/current/"
replace = "/../../../../../target/scala-2.13/unidoc/"
}
{
prefix = "https://doc.akka.io/api/akka/snapshot/"
prefix = "https://pekko.apache.org/api/pekko/snapshot/"
replace = "/../../../../../target/scala-2.13/unidoc/"
}
# Java APIs from genjavadoc
{
prefix = "https://doc.akka.io/japi/akka/2.6/"
prefix = "https://pekko.apache.org/japi/pekko/current/"
replace = "/../../../../../target/javaunidoc/"
}
{
prefix = "https://doc.akka.io/japi/akka/current/"
prefix = "https://pekko.apache.org/japi/pekko/current/"
replace = "/../../../../../target/javaunidoc/"
}
{
prefix = "https://doc.akka.io/japi/akka/snapshot/"
prefix = "https://pekko.apache.org/japi/pekko/snapshot/"
replace = "/../../../../../target/javaunidoc/"
}
]
ignore-missing-local-files-regex = ""
// e.g. "^api/alpakka/snapshot/akka/stream/alpakka/googlecloud/storage/impl/Formats.*"
// e.g. "^api/alpakka/snapshot/pekko/stream/alpakka/googlecloud/storage/impl/Formats.*"
ignore-prefixes = [
# Fails after a number of requests with "403 Forbidden"

View file

@ -18,7 +18,7 @@ Release Akka $VERSION$
### Check availability
- [ ] Check [reference](https://doc.akka.io/docs/akka/$VERSION$/) documentation
- [ ] Check [reference](https://pekko.apache.org/docs/pekko/$VERSION$/) documentation
- [ ] Check the release on [Maven central](https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.13/$VERSION$/)
### When everything is on maven central

View file

@ -59,7 +59,7 @@ final class FlowWithContext[In, CtxIn, Out, CtxOut, +Mat](
*
* It is up to the implementer to ensure the inner flow does not exhibit any behaviour that is not expected
* by the downstream elements, such as reordering. For more background on these requirements
* see https://doc.akka.io/docs/akka/current/stream/stream-context.html.
* see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.
*
* This can be used as an escape hatch for operations that are not (yet) provided with automatic
* context propagation here.
@ -84,7 +84,7 @@ final class FlowWithContext[In, CtxIn, Out, CtxOut, +Mat](
* of elements and contexts or deadlock.
*
* For more background on these requirements
* see https://doc.akka.io/docs/akka/current/stream/stream-context.html.
* see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.
*/
@ApiMayChange def unsafeDataVia[Out2, Mat2](
viaFlow: Graph[FlowShape[Out @uncheckedVariance, Out2], Mat2]): FlowWithContext[In, CtxIn, Out2, CtxOut, Mat] =

View file

@ -57,7 +57,7 @@ final class SourceWithContext[+Out, +Ctx, +Mat](delegate: scaladsl.SourceWithCon
*
* It is up to the implementer to ensure the inner flow does not exhibit any behaviour that is not expected
* by the downstream elements, such as reordering. For more background on these requirements
* see https://doc.akka.io/docs/akka/current/stream/stream-context.html.
* see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.
*
* This can be used as an escape hatch for operations that are not (yet) provided with automatic
* context propagation here.
@ -81,7 +81,7 @@ final class SourceWithContext[+Out, +Ctx, +Mat](delegate: scaladsl.SourceWithCon
* of elements and contexts or deadlock.
*
* For more background on these requirements
* see https://doc.akka.io/docs/akka/current/stream/stream-context.html.
* see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.
*/
@ApiMayChange def unsafeDataVia[Out2, Mat2](
viaFlow: Graph[FlowShape[Out @uncheckedVariance, Out2], Mat2]): SourceWithContext[Out2, Ctx, Mat] =

View file

@ -44,7 +44,7 @@ trait FlowWithContextOps[+Out, +Ctx, +Mat] {
*
* It is up to the implementer to ensure the inner flow does not exhibit any behaviour that is not expected
* by the downstream elements, such as reordering. For more background on these requirements
* see https://doc.akka.io/docs/akka/current/stream/stream-context.html.
* see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.
*
* This can be used as an escape hatch for operations that are not (yet) provided with automatic
* context propagation here.
@ -64,7 +64,7 @@ trait FlowWithContextOps[+Out, +Ctx, +Mat] {
* of elements and contexts or deadlock.
*
* For more background on these requirements
* see https://doc.akka.io/docs/akka/current/stream/stream-context.html.
* see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.
*/
@ApiMayChange def unsafeDataVia[Out2, Mat2](viaFlow: Graph[FlowShape[Out, Out2], Mat2]): Repr[Out2, Ctx]
@ -74,7 +74,7 @@ trait FlowWithContextOps[+Out, +Ctx, +Mat] {
*
* It is up to the implementer to ensure the inner flow does not exhibit any behaviour that is not expected
* by the downstream elements, such as reordering. For more background on these requirements
* see https://doc.akka.io/docs/akka/current/stream/stream-context.html.
* see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.
*
* This can be used as an escape hatch for operations that are not (yet) provided with automatic
* context propagation here.