pjfanning opened a new pull request, #774:
URL: https://github.com/apache/pekko-management/pull/774

   part of https://github.com/apache/pekko-management/issues/674
   
   https://github.com/apache/pekko-management/issues/773 is a follow up
   
   The Akka PRs are part of 
https://github.com/akka/akka-management/releases/tag/v1.4.0 which is now 
available under Apache License, v2.0.
   
   ## Summary
   
   Ports the following Akka management PRs to Pekko, converting all `akka` 
references to `pekko`/`org.apache.pekko`, config prefixes from `akka.*` to 
`pekko.*`, and Kubernetes API groups from `akka.io` to `pekko.apache.org`.
   
   Note: PR #1143 (App version k8s revision) was explicitly excluded as it has 
dependencies not yet present in Pekko.
   
   ---
   
   ## PR #1134 – Write pod cost to CRD (`rolling-update-kubernetes`)
   
   An alternative to directly annotating pods with 
`controller.kubernetes.io/pod-deletion-cost` is to write to a `PodCost` custom 
resource (useful when direct pod PATCH is a security concern). Changes:
   
   - **`KubernetesSettings.scala`** – added `apiServiceRequestTimeout`, 
`bodyReadTimeout`, and new `CustomResourceSettings` class (parses 
`custom-resource.*` config)
   - **`reference.conf`** – added `api-service-request-timeout` and 
`custom-resource` section
   - **`KubernetesApi.scala`** (new) – `KubernetesApi` trait with 
`updatePodDeletionCostAnnotation`, `readOrCreatePodCostResource`, 
`updatePodCostResource`; plus `PodCost`, `PodCostResource`, exception classes
   - **`KubernetesJsonSupport.scala`** (new) – spray-json formats for 
`PodCostCustomResource`, `Metadata`, `Spec` using `pekko.apache.org/v1`
   - **`KubernetesApiImpl.scala`** (new) – HTTP implementation; blocking 
SSL/token/namespace IO done on `DefaultBlockingDispatcherId` via companion 
`apply` factory
   - **`PodDeletionCost.scala`** – uses `KubernetesApiImpl`, switched 
`AtomicReference` → `AtomicBoolean`
   - **`PodDeletionCostAnnotator.scala`** – supports both direct annotation and 
PodCost CR; fixed `FiniteDuration` multiplication to avoid unsafe cast
   - **`ApiRequests.scala`** – deleted (replaced by `KubernetesApiImpl`)
   - **`PodDeletionCostAnnotatorSpec.scala`** – updated to use new constructor
   - **`PodDeletionCostAnnotatorCrSpec.scala`** (new) – unit tests for CR-based 
approach using a mock `KubernetesApi`
   
   ## PR #1141 – Improve logging for CI failure
   
   - **`integration-test/scripts/rollingupdate-kubernetes-test.sh`** (new) – 
shell script for rolling update K8s integration test with pod listing and error 
logging improvements
   
   ## PR #1142 – Blocking IO at startup (`discovery-kubernetes-api`)
   
   - **`KubernetesApiServiceDiscovery.scala`** – moves all blocking startup IO 
(token file read, namespace file read, SSL context creation) into `Future`s on 
`DefaultBlockingDispatcherId`; adds private `KubernetesSetup` case class; fixes 
logger to use `classOf[KubernetesApiServiceDiscovery]`
   - Note: `SelfAwareJoinDecider.scala` and `MockDiscovery.scala` already use 
the correct Pekko `LogSource.fromClass` pattern — no changes needed
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to