Skip to content

Commit 0ce40b9

Browse files
committed
feat: Introduce new IAM roles (viewer, editor, admin) and define the ResourceIndexPolicy protected resource.
1 parent f5b032d commit 0ce40b9

File tree

8 files changed

+76
-18
lines changed

8 files changed

+76
-18
lines changed

config/milo/iam/resources/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ kind: Component
33

44
resources:
55
- searchqueries.yaml
6+
- resourceindexpolicies.yaml
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
apiVersion: iam.miloapis.com/v1alpha1
2+
kind: ProtectedResource
3+
metadata:
4+
name: search.miloapis.com-resourceindexpolicies
5+
spec:
6+
serviceRef:
7+
name: "search.miloapis.com"
8+
kind: ResourceIndexPolicy
9+
plural: resourceindexpolicies
10+
singular: resourceindexpolicy
11+
permissions:
12+
- list
13+
- get
14+
- create
15+
- update
16+
- delete
17+
- patch
18+
- watch
Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
# TEMPLATE NOTE: This is an example of integrating with Milo IAM
2-
# Milo provides IAM capabilities for Kubernetes APIs
3-
# See https://github.com/datum-cloud/milo for more information
4-
#
5-
# This ProtectedResource grants permissions for SearchQuery objects
61
apiVersion: iam.miloapis.com/v1alpha1
72
kind: ProtectedResource
83
metadata:
@@ -12,17 +7,6 @@ spec:
127
name: "search.miloapis.com"
138
kind: SearchQuery
149
plural: searchqueries
15-
singular: exampleresource
10+
singular: searchquery
1611
permissions:
1712
- create
18-
- get
19-
- list
20-
- update
21-
- delete
22-
parentResources:
23-
- apiGroup: resourcemanager.miloapis.com
24-
kind: Organization
25-
- apiGroup: resourcemanager.miloapis.com
26-
kind: Project
27-
- apiGroup: iam.miloapis.com
28-
kind: User

config/milo/iam/roles/admin.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: iam.miloapis.com/v1alpha1
2+
kind: Role
3+
metadata:
4+
name: search.miloapis.com-admin
5+
namespace: milo-system
6+
labels:
7+
app.kubernetes.io/name: admin
8+
app.kubernetes.io/part-of: search.miloapis.com
9+
spec:
10+
launchStage: Beta
11+
inheritedRoles:
12+
- name: search.miloapis.com-editor
13+
namespace: milo-system
14+
includedPermissions:
15+
- search.miloapis.com/resourceindexpolicies.delete

config/milo/iam/roles/editor.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: iam.miloapis.com/v1alpha1
2+
kind: Role
3+
metadata:
4+
name: search.miloapis.com-editor
5+
namespace: milo-system
6+
labels:
7+
app.kubernetes.io/name: editor
8+
app.kubernetes.io/part-of: search.miloapis.com
9+
spec:
10+
launchStage: Beta
11+
inheritedRoles:
12+
- name: search.miloapis.com-viewer
13+
namespace: milo-system
14+
includedPermissions:
15+
- search.miloapis.com/resourceindexpolicies.create
16+
- search.miloapis.com/resourceindexpolicies.update
17+
- search.miloapis.com/resourceindexpolicies.patch

config/milo/iam/roles/kustomization.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ kind: Component
33

44
resources:
55
- searcher.yaml
6+
- viewer.yaml
7+
- editor.yaml
8+
- admin.yaml

config/milo/iam/roles/searcher.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ kind: Role
33
metadata:
44
name: search.miloapis.com-searcher
55
namespace: milo-system
6+
labels:
7+
app.kubernetes.io/name: searcher
8+
app.kubernetes.io/part-of: search.miloapis.com
69
spec:
7-
launchStage: Alpha
10+
launchStage: Beta
811
includedPermissions:
912
- search.miloapis.com/searchqueries.create

config/milo/iam/roles/viewer.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: iam.miloapis.com/v1alpha1
2+
kind: Role
3+
metadata:
4+
name: search.miloapis.com-viewer
5+
namespace: milo-system
6+
labels:
7+
app.kubernetes.io/name: viewer
8+
app.kubernetes.io/part-of: search.miloapis.com
9+
spec:
10+
launchStage: Beta
11+
inheritedRoles:
12+
- name: search.miloapis.com-searcher
13+
namespace: milo-system
14+
includedPermissions:
15+
- search.miloapis.com/resourceindexpolicies.get
16+
- search.miloapis.com/resourceindexpolicies.list
17+
- search.miloapis.com/resourceindexpolicies.watch

0 commit comments

Comments
 (0)