Skip to content

Commit

Permalink
add release notes (#106)
Browse files Browse the repository at this point in the history
  • Loading branch information
pjfanning authored Jul 28, 2023
1 parent 0187bd9 commit f546246
Show file tree
Hide file tree
Showing 10 changed files with 70 additions and 40 deletions.
4 changes: 1 addition & 3 deletions .github/workflows/integration-tests-maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ on:
- main
- release-*
tags-ignore: [ v.* ]
# Different than its sibilings, we don't configure this workflow to run as a cron job.
# The cron build compiles against Akka 2.6 and Akka HTTP 10.2, but the Maven example uses 2.5 and 10.1
# see https://github.com/akka/akka-management/issues/744
# Different from its siblings, we don't configure this workflow to run as a cron job.

jobs:
integration-test:
Expand Down
32 changes: 32 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,38 @@ Apache Pekko Management is a fork of [Akka Management](https://github.com/akka/a
The documentation is available at
[pekko.apache.org](https://pekko.apache.org/docs/pekko-management/current/).

## Building from Source

### Prerequisites
- Make sure you have installed a Java Development Kit (JDK) version 8 or later.
- Make sure you have [sbt](https://www.scala-sbt.org/) installed.
- [Graphviz](https://graphviz.gitlab.io/download/) is needed for the scaladoc generation build task, which is part of the release.

### Running the Build
- Open a command window and change directory to your preferred base directory
- Use git to clone the [repo](https://github.com/apache/incubator-pekko-management) or download a source release from https://pekko.apache.org (and unzip or untar it, as appropriate)
- Change directory to the directory where you installed the source (you should have a file called `build.sbt` in this directory)
- `sbt compile` compiles the main source for project default version of Scala (2.13)
- `sbt +compile` will compile for all supported versions of Scala
- `sbt test` will compile the code and run the unit tests
- `sbt testQuick` similar to `test` but when repeated in shell mode will only run failing tests
- `sbt package` will build the jars
- the jars will built into target dirs of the various modules
- for the the 'discovery-aws-api' module, the jar will be built to `discovery-aws-api/target/scala-2.13/`
- `sbt publishLocal` will push the jars to your local Apache Ivy repository
- `sbt publishM2` will push the jars to your local Apache Maven repository
- `sbt docs/paradox` will build the docs (the ones describing the module features)
- `sbt docs/paradoxBrowse` does the same but will open the docs in your browser when complete
- the `index.html` file will appear in `target/paradox/site/main/`
- `sbt unidoc` will build the Javadocs for all the modules and load them to one place (may require Graphviz, see Prerequisites above)
- the `index.html` file will appear in `target/scala-2.13/unidoc/`
- `sbt sourceDistGenerate` will generate source release to `target/dist/`
- The version number that appears in filenames and docs is derived, by default. The derived version contains the most git commit id or the date/time (if the directory is not under git control).
- You can set the version number explicitly when running sbt commands
- eg `sbt "set ThisBuild / version := \"1.0.0\"; sourceDistGenerate"`
- Or you can add a file called `version.sbt` to the same directory that has the `build.sbt` containing something like
- `ThisBuild / version := "1.0.0"`

## Community

There are several ways to interact with the Apache Pekko community:
Expand Down
4 changes: 0 additions & 4 deletions docs/src/main/paradox/_template/projectSpecificFooter.st

This file was deleted.

23 changes: 0 additions & 23 deletions docs/src/main/paradox/assets/js/warnOldVersion.js

This file was deleted.

2 changes: 1 addition & 1 deletion docs/src/main/paradox/bootstrap/istio.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

To bootstrap a Pekko cluster in Istio, Istio must be configured to allow Pekko cluster communication to bypass the Istio sidecar proxy. Istio's routing design is made such that services don't need to be aware of each others location, they just communicate with the proxy, and the mesh figures out how to route and secure the communication. However, Pekko cluster communication is fundamentally location aware, in order to, for example, route messages to sharded actors. Hence a service mesh is not a suitable communication medium for cluster traffic, so it needs to be bypassed.

It is important to be aware that since Istio's proxy is bypassed, the Pekko cluster communication will not be secured by Istio using TLS. If you wish to secure your cluster communication, you will need to configure [Akka remoting with mTLS](https://pekko.apache.org/docs/pekko/current/remoting-artery.html#remote-security) yourself.
It is important to be aware that since Istio's proxy is bypassed, the Pekko cluster communication will not be secured by Istio using TLS. If you wish to secure your cluster communication, you will need to configure [Pekko remoting with mTLS](https://pekko.apache.org/docs/pekko/current/remoting-artery.html#remote-security) yourself.

Booting a Pekko cluster in Istio requires a minimum Istio version of 1.2.0, as it requires the outbound port exclusions feature that was added in there. It also requires using the @ref[Kubernetes API](kubernetes-api.md) contact point discovery method to be used. The instructions below are for the additional configuration necessary to ensure an Akka cluster can be bootstrapped in Istio.

Expand Down
1 change: 1 addition & 0 deletions docs/src/main/paradox/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Various parts of Pekko management can be used together for deploying Pekko Clust

@@@ index

- [Release Notes](release-notes/index.md)
- [Deploy guide for Kubernetes](kubernetes-deployment/index.md)
- [Pekko Management](pekko-management.md)
- [Migrating from older versions](migration.md)
Expand Down
8 changes: 2 additions & 6 deletions docs/src/main/paradox/migration.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
# Migration guide

## 1.0

Version requirements:
* Pekko 1.0 later
* Pekko HTTP 1.0 or later
## 1.0

When migrating from Akka Management it is recommended to first upgrade to Akka 2.6.20 / Akka Management 1.1.4 before switching to Pekko/Pekko Management.
Please refer to the [Akka Management migration guide](https://doc.akka.io/docs/akka-management/current/migration.html).
Expand Down Expand Up @@ -35,4 +31,4 @@ And finally the CRD:
kubectl delete crd leases.akka.io
```

To prepare for Pekko Management, setup the CRD and RBAC again following @ref[kubernetes-lease](kubernetes-lease.md).
To prepare for Pekko Management, set up the CRD and RBAC again following @ref[kubernetes-lease](kubernetes-lease.md).
30 changes: 30 additions & 0 deletions docs/src/main/paradox/release-notes/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Release Notes

## 1.0.0
Apache Pekko Management 1.0.0 is based on Akka Management 1.1.4.
Pekko came about as a result of Lightbend's decision to make future Akka releases under a [Business Software License](https://www.lightbend.com/blog/why-we-are-changing-the-license-for-akka),
a license that is not compatible with Open Source usage.

Apache Pekko has changed the package names, among other changes. Config names have changed to use `pekko` instead
of `akka` in their names. The default ports for Pekko Management have changed to avoid clashing with the Akka Management
defaults. Users switching from Akka to Pekko should read our @ref:[Migration Guide](../migration.md).

Generally, we have tried to make it as easy as possible to switch existing Akka based projects over to using
Pekko 1.0.

We have gone through the code base and have tried to properly acknowledge all third party source code in the
Apache Pekko code base. If anyone believes that there are any instances of third party source code that is not
properly acknowledged, please get in touch.

### Bug Fixes
We haven't had to fix any significant bugs that were in Akka Management 1.1.4.

### Additions

* Scala 3 support ([PR80](https://github.com/apache/incubator-pekko-management/pull/80))
* minimum of Scala 3.3.0 needed

### Dependency Upgrades
We have tried to limit the changes to third party dependencies that are used in Pekko Management 1.0.0. These are some exceptions:

* Jackson 2.14.3 ([#7](https://github.com/apache/incubator-pekko/issues/7))
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ spec:
- containerPort: 7355
name: remoting
env:
# Can be removed once async-dns supports search domains (in Akka 2.5.20)
# Possibly can be removed now that async-dns supports search domains
- name: NAMESPACE
valueFrom:
fieldRef:
Expand Down
4 changes: 2 additions & 2 deletions project/project-info.conf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
project-info {
version: "current"
scala-versions: ["2.12", "2.13"]
scala-versions: ["2.12", "2.13", "3"]
shared-info {
jdk-versions: ["Adopt OpenJDK 8 with Hotspot", "Adopt OpenJDK 11 with Hotspot"]
jdk-versions: ["OpenJDK 8", "OpenJDK 11"]
snapshots: {
url: "https://repository.apache.org/content/repositories/snapshots/org/apache/pekko/"
text: "Snapshots are available"
Expand Down

0 comments on commit f546246

Please sign in to comment.