Skip to content

Commit 7871af0

Browse files
wwwilj-fuentes
authored andcommitted
Update GKE basic package (#55)
* Update GKE basic package to remove preflight_ prefix from rules and match it up with the private package Signed-off-by: wwwil <[email protected]> * Bump schema version to 0.1.1 Signed-off-by: Jose Fuentes <[email protected]> Co-authored-by: Jose Fuentes Castillo <[email protected]>
1 parent 5393f22 commit 7871af0

File tree

3 files changed

+281
-163
lines changed

3 files changed

+281
-163
lines changed

preflight-packages/examples.jetstack.io/gke_basic/gke.rego

Lines changed: 47 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,63 @@ package gke_basic
33
# See https://github.com/jetstack/preflight/blob/master/docs/datagatherers/gke.md for more details
44
import input.gke.Cluster as gke
55

6-
# Rule 'private_cluster'
7-
preflight_private_cluster[message] {
8-
not gke.privateClusterConfig.enablePrivateNodes
6+
# Networking
97

10-
message := "cluster does not have private nodes enabled"
8+
# Private cluster enabled
9+
private_cluster_enabled[message] {
10+
not gke.privateClusterConfig.enablePrivateNodes == true
11+
message := "private cluster has not been enabled"
1112
}
1213

13-
# Rule 'basic_auth_disabled'
14-
preflight_basic_auth_disabled[message] {
15-
# masterAuth must be missing or an empty {}
16-
{ gke.masterAuth } & { null, {}} == set()
14+
# Authentication
1715

18-
message := "cluster does not have basic auth disabled"
16+
# Basic authentication disabled
17+
basic_authentication_disabled[message] {
18+
gke.masterAuth.username
19+
message := sprintf("basic authentication is enabled with username '%s'", [gke.masterAuth.username])
1920
}
20-
21-
# Rule 'abac_disabled'
22-
preflight_abac_disabled[message] {
23-
gke.legacyAbac.enabled
24-
25-
message := "cluster has legacy abac enabled"
21+
basic_authentication_disabled[message] {
22+
gke.masterAuth.password
23+
message := "basic authentication is enabled"
2624
}
2725

28-
# Rule 'k8s_master_up_to_date'
29-
preflight_k8s_master_up_to_date[message] {
30-
not re_match(`^1\.1[3467].*$`, gke.currentMasterVersion)
31-
32-
message := "cluster master is not up to date"
26+
# Legacy ABAC disabled
27+
legacy_abac_disabled[message] {
28+
gke.legacyAbac.enabled == true
29+
message := "legacy ABAC is enabled"
3330
}
3431

35-
# Rule 'k8s_nodes_up_to_date'
36-
preflight_k8s_nodes_up_to_date[message] {
37-
node_pool := gke.nodePools[_]
38-
not re_match(`^1\.1[34567].*$`, node_pool.version)
32+
# Maintainance
3933

40-
message := sprintf("cluster node pool '%s' is outdated", [node_pool.name])
34+
# Kubernetes master version up to date
35+
Kubernetes_master_version_up_to_date[message] {
36+
not gke.currentMasterVersion == ""
37+
not re_match(`^1\.1[34567].*$`, gke.currentMasterVersion)
38+
message := sprintf("current master version '%s' is not up to date", [gke.currentMasterVersion])
39+
}
40+
Kubernetes_master_version_up_to_date[message] {
41+
gke.currentMasterVersion == ""
42+
message := "current master version is missing"
43+
}
44+
Kubernetes_master_version_up_to_date[message] {
45+
not gke.currentMasterVersion
46+
message := "current master version is missing"
4147
}
4248

43-
preflight_k8s_nodes_up_to_date[message] {
44-
node_pool:= gke.nodePools[_]
45-
not node_pool.version
46-
47-
message := sprintf("cluster node pool '%s' has no version", [node_pool.name])
49+
# Kubernetes node version up to date
50+
kubernetes_node_version_up_to_date[message] {
51+
np := gke.nodePools[_]
52+
not np.version == ""
53+
not re_match(`^1\.1[34567].*$`, np.version)
54+
message := sprintf("node pool '%s' current version '%s' not up to date", [np.name, np.version])
55+
}
56+
kubernetes_node_version_up_to_date[message] {
57+
np := gke.nodePools[_]
58+
np.version == ""
59+
message := sprintf("node pool '%s' version is missing", [np.name])
60+
}
61+
kubernetes_node_version_up_to_date[message] {
62+
np := gke.nodePools[_]
63+
not np.version
64+
message := sprintf("node pool '%s' version is missing", [np.name])
4865
}

0 commit comments

Comments
 (0)