forked from open-cluster-management-io/policy-collection
-
Notifications
You must be signed in to change notification settings - Fork 0
/
policy-rhsso-operator.yaml
152 lines (152 loc) · 4.97 KB
/
policy-rhsso-operator.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name: policy-rhsso-operator
annotations:
policy.open-cluster-management.io/standards: NIST-CSF
policy.open-cluster-management.io/categories: CM Configuration Management
policy.open-cluster-management.io/controls: CM-2 Baseline
spec:
remediationAction: enforce
disabled: false
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: policy-rhsso-operator-project
spec:
remediationAction: enforce # will be overridden by remediationAction in parent policy
severity: high
namespaceSelector:
exclude: ["kube-*"]
include: ["*"]
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: project.openshift.io/v1
kind: Project
metadata:
name: keycloak
spec: {}
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: policy-rhsso-operator
spec:
remediationAction: enforce # will be overridden by remediationAction in parent policy
severity: high
namespaceSelector:
exclude: ["kube-*", "openshift-*"]
include: ["keycloak"]
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: keycloak-group
namespace: keycloak
spec:
targetNamespaces:
- keycloak
- complianceType: musthave
objectDefinition:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: rhsso-operator
namespace: keycloak
spec:
channel: alpha
installPlanApproval: Automatic
name: rhsso-operator
source: redhat-operators
sourceNamespace: openshift-marketplace
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: policy-rhsso-keycloak
spec:
remediationAction: enforce # will be overridden by remediationAction in parent policy
severity: high
namespaceSelector:
exclude: ["kube-*", "openshift-*"]
include: ["keycloak"]
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: rhsso-operator-route-editor
namespace: keycloak
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: route-editor
subjects:
- kind: ServiceAccount
name: rhsso-operator
namespace: keycloak
- complianceType: musthave
objectDefinition:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: route-editor
rules:
- apiGroups:
- route.openshift.io
resources:
- routes/custom-host
verbs:
- create
- update
- list
- get
- patch
- complianceType: musthave
objectDefinition:
apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
namespace: keycloak
name: keycloak
labels:
app: sso
spec:
externalAccess:
enabled: true
external:
enabled: true
instances: 1
---
apiVersion: policy.open-cluster-management.io/v1
kind: PlacementBinding
metadata:
name: binding-policy-rhsso-operator
placementRef:
name: placement-policy-rhsso-operator
kind: PlacementRule
apiGroup: apps.open-cluster-management.io
subjects:
- name: policy-rhsso-operator
kind: Policy
apiGroup: policy.open-cluster-management.io
---
apiVersion: apps.open-cluster-management.io/v1
kind: PlacementRule
metadata:
name: placement-policy-rhsso-operator
spec:
clusterConditions:
- status: "True"
type: ManagedClusterConditionAvailable
clusterSelector:
matchExpressions:
[] # selects all clusters if not specified
matchLabels:
name: local-cluster