Skip to content

Commit 44f8000

Browse files
domaspoliakasjoan38
authored andcommitted
Upgraded to the jdk client version 0.9.1
1 parent d4b4986 commit 44f8000

File tree

5 files changed

+28
-32
lines changed

5 files changed

+28
-32
lines changed

kubernetes-client/src/com/goyeau/kubernetes/client/KubernetesClient.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import com.goyeau.kubernetes.client.util.cache.{AuthorizationParse, ExecToken}
1010
import io.circe.{Decoder, Encoder}
1111
import org.http4s.client.Client
1212
import org.http4s.headers.Authorization
13-
import org.http4s.jdkhttpclient.{JdkHttpClient, JdkWSClient, WSClient}
13+
import org.http4s.client.websocket.WSClient
14+
import org.http4s.jdkhttpclient.{JdkHttpClient, JdkWSClient}
1415
import org.typelevel.log4cats.Logger
1516

1617
import java.net.http.HttpClient
@@ -69,8 +70,8 @@ object KubernetesClient {
6970
client <- Resource.eval {
7071
Sync[F].delay(HttpClient.newBuilder().sslContext(SslContexts.fromConfig(config)).build())
7172
}
72-
httpClient <- JdkHttpClient[F](client)
73-
wsClient <- JdkWSClient[F](client)
73+
httpClient = JdkHttpClient[F](client)
74+
wsClient = JdkWSClient[F](client)
7475
authorization <- Resource.eval {
7576
OptionT
7677
.fromOption(config.authorization)

kubernetes-client/src/com/goyeau/kubernetes/client/api/PodsApi.scala

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,16 @@ import org.http4s.*
1818
import org.http4s.client.Client
1919
import org.http4s.headers.Authorization
2020
import org.http4s.implicits.*
21-
import org.http4s.jdkhttpclient.*
21+
import org.http4s.client.websocket.WSClient
22+
import org.http4s.client.websocket.WSRequest
2223
import org.typelevel.ci.CIString
2324
import org.typelevel.log4cats.Logger
2425
import scodec.bits.ByteVector
2526

2627
import java.nio.file.Path as JPath
2728
import scala.concurrent.duration.DurationInt
29+
import org.http4s.client.websocket.WSFrame
30+
import org.http4s.client.websocket.WSDataFrame
2831

2932
private[client] class PodsApi[F[_]: Logger](
3033
val httpClient: Client[F],
@@ -113,13 +116,11 @@ private[client] class NamespacedPodsApi[F[_]](
113116
("container" -> container) ++?
114117
("command" -> commands)
115118

116-
WSRequest(uri, method = Method.POST)
119+
WSRequest(uri, Headers.empty, Method.POST)
117120
.withOptionalAuthorization(authorization)
118-
.map { r =>
119-
r.copy(
120-
headers = r.headers.put(Header.Raw(CIString("Sec-WebSocket-Protocol"), "v4.channel.k8s.io"))
121-
)
122-
}
121+
.map(r =>
122+
r.withHeaders(headers = r.headers.put(Header.Raw(CIString("Sec-WebSocket-Protocol"), "v4.channel.k8s.io")))
123+
)
123124
}
124125

125126
@deprecated("Use download() which uses fs2.io.file.Path", "0.8.2")

kubernetes-client/src/com/goyeau/kubernetes/client/operation/package.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import cats.syntax.all.*
55
import cats.{Applicative, FlatMap}
66
import org.http4s.client.Client
77
import org.http4s.headers.Authorization
8-
import org.http4s.jdkhttpclient.WSRequest
8+
import org.http4s.client.websocket.WSRequest
99
import org.http4s.{EntityDecoder, Request, Response}
1010

1111
package object operation {
@@ -21,9 +21,7 @@ package object operation {
2121
implicit private[client] class KubernetesWsRequestOps[F[_]: Applicative](request: WSRequest) {
2222
def withOptionalAuthorization(authorization: Option[F[Authorization]]): F[WSRequest] =
2323
authorization.fold(request.pure[F]) { authorization =>
24-
authorization.map { auth =>
25-
request.copy(headers = request.headers.put(auth))
26-
}
24+
authorization.map(auth => request.withHeaders(request.headers.put(auth)))
2725
}
2826
}
2927

kubernetes-client/src/com/goyeau/kubernetes/client/util/SslContexts.scala

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,21 @@ object SslContexts {
3333
val keyDataStream = config.clientKeyData.map(data => new ByteArrayInputStream(Base64.getDecoder.decode(data)))
3434
val keyFileStream = config.clientKeyFile.map(_.toNioPath.toFile).map(new FileInputStream(_))
3535

36-
for {
36+
val _ = for {
3737
keyStream <- keyDataStream.orElse(keyFileStream)
3838
certStream <- certDataStream.orElse(certFileStream)
39-
} yield {
40-
Security.addProvider(new BouncyCastleProvider())
41-
val pemKeyPair =
42-
new PEMParser(new InputStreamReader(keyStream)).readObject().asInstanceOf[PEMKeyPair]
43-
val privateKey = new JcaPEMKeyConverter().setProvider("BC").getPrivateKey(pemKeyPair.getPrivateKeyInfo)
44-
45-
val certificateFactory = CertificateFactory.getInstance("X509")
46-
val certificate = certificateFactory.generateCertificate(certStream).asInstanceOf[X509Certificate]
47-
48-
defaultKeyStore.setKeyEntry(
49-
certificate.getSubjectX500Principal.getName,
50-
privateKey,
51-
config.clientKeyPass.fold(Array.empty[Char])(_.toCharArray),
52-
Array(certificate)
53-
)
54-
}
39+
_ = Security.addProvider(new BouncyCastleProvider())
40+
pemKeyPair = new PEMParser(new InputStreamReader(keyStream)).readObject().asInstanceOf[PEMKeyPair]
41+
privateKey = new JcaPEMKeyConverter().setProvider("BC").getPrivateKey(pemKeyPair.getPrivateKeyInfo)
42+
43+
certificateFactory = CertificateFactory.getInstance("X509")
44+
certificate = certificateFactory.generateCertificate(certStream).asInstanceOf[X509Certificate]
45+
} yield defaultKeyStore.setKeyEntry(
46+
certificate.getSubjectX500Principal.getName,
47+
privateKey,
48+
config.clientKeyPass.fold(Array.empty[Char])(_.toCharArray),
49+
Array(certificate)
50+
)
5551

5652
val keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
5753
keyManagerFactory.init(defaultKeyStore, Array.empty)

project/Dependencies.sc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ object Dependencies {
1313

1414
lazy val http4s = {
1515
val version = "0.23.23"
16-
val jdkClientVersion = "0.5.0"
16+
val jdkClientVersion = "0.9.1"
1717
Agg(
1818
ivy"org.http4s::http4s-dsl:$version",
1919
ivy"org.http4s::http4s-circe:$version",

0 commit comments

Comments
 (0)