2
2
3
3
namespace RenokiCo \PhpK8s \Traits \Cluster ;
4
4
5
+ use Composer \Semver \Comparator ;
6
+ use Composer \Semver \VersionParser ;
5
7
use GuzzleHttp \Exception \ClientException ;
8
+ use GuzzleHttp \Exception \GuzzleException ;
6
9
use RenokiCo \PhpK8s \Exceptions \KubernetesAPIException ;
7
- use vierbergenlars \SemVer \version as Semver ;
8
10
9
11
trait ChecksClusterVersion
10
12
{
11
13
/**
12
14
* The Kubernetes cluster version.
13
- *
14
- * @var \vierbergenlars\SemVer\version|null
15
15
*/
16
- protected $ kubernetesVersion ;
16
+ protected string $ kubernetesVersion ;
17
17
18
18
/**
19
19
* Load the cluster version.
20
20
*
21
21
* @return void
22
22
*
23
- * @throws \RenokiCo\PhpK8s\Exceptions\ KubernetesAPIException
23
+ * @throws KubernetesAPIException|GuzzleException
24
24
*/
25
25
protected function loadClusterVersion (): void
26
26
{
27
- if ($ this ->kubernetesVersion ) {
27
+ if (isset ( $ this ->kubernetesVersion ) ) {
28
28
return ;
29
29
}
30
30
@@ -44,7 +44,8 @@ protected function loadClusterVersion(): void
44
44
45
45
$ json = @json_decode ($ response ->getBody (), true );
46
46
47
- $ this ->kubernetesVersion = new Semver ($ json ['gitVersion ' ]);
47
+ $ parser = new VersionParser ();
48
+ $ this ->kubernetesVersion = $ parser ->normalize ($ json ['gitVersion ' ]);
48
49
}
49
50
50
51
/**
@@ -53,12 +54,14 @@ protected function loadClusterVersion(): void
53
54
*
54
55
* @param string $kubernetesVersion
55
56
* @return bool
57
+ *
58
+ * @throws KubernetesAPIException|GuzzleException
56
59
*/
57
60
public function newerThan (string $ kubernetesVersion ): bool
58
61
{
59
62
$ this ->loadClusterVersion ();
60
63
61
- return Semver:: gte (
64
+ return Comparator:: greaterThanOrEqualTo (
62
65
$ this ->kubernetesVersion , $ kubernetesVersion
63
66
);
64
67
}
@@ -69,12 +72,14 @@ public function newerThan(string $kubernetesVersion): bool
69
72
*
70
73
* @param string $kubernetesVersion
71
74
* @return bool
75
+ *
76
+ * @throws KubernetesAPIException|GuzzleException
72
77
*/
73
78
public function olderThan (string $ kubernetesVersion ): bool
74
79
{
75
80
$ this ->loadClusterVersion ();
76
81
77
- return Semver:: lt (
82
+ return Comparator:: lessThan (
78
83
$ this ->kubernetesVersion , $ kubernetesVersion
79
84
);
80
85
}
0 commit comments