Skip to content

Commit 950f980

Browse files
authored
Merge pull request #129 from datum-cloud/feat/resource-quotas
feat: add quota resource registrations and claim policies
2 parents d8b94d8 + b290144 commit 950f980

29 files changed

+715
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-backend-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: gateway.envoyproxy.io/v1alpha1
12+
kind: Backend
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "backend-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for Backend creation"
23+
spec:
24+
requests:
25+
- resourceType: gateway.envoyproxy.io/backends
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-backendtlspolicy-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: gateway.networking.k8s.io/v1
12+
kind: BackendTLSPolicy
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "backendtlspolicy-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for BackendTLSPolicy creation"
23+
spec:
24+
requests:
25+
- resourceType: gateway.networking.k8s.io/backendtlspolicies
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-backendtrafficpolicy-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: gateway.envoyproxy.io/v1alpha1
12+
kind: BackendTrafficPolicy
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "backendtrafficpolicy-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for BackendTrafficPolicy creation"
23+
spec:
24+
requests:
25+
- resourceType: gateway.envoyproxy.io/backendtrafficpolicies
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-connector-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: networking.datumapis.com/v1alpha1
12+
kind: Connector
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "connector-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for Connector creation"
23+
spec:
24+
requests:
25+
- resourceType: networking.datumapis.com/connectors
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-connectoradvertisement-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: networking.datumapis.com/v1alpha1
12+
kind: ConnectorAdvertisement
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "connectoradvertisement-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for ConnectorAdvertisement creation"
23+
spec:
24+
requests:
25+
- resourceType: networking.datumapis.com/connectoradvertisements
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-domain-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: networking.datumapis.com/v1alpha
12+
kind: Domain
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "domain-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for Domain creation"
23+
spec:
24+
requests:
25+
- resourceType: networking.datumapis.com/domains
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-endpointslice-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: discovery.k8s.io/v1
12+
kind: EndpointSlice
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "endpointslice-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for EndpointSlice creation"
23+
spec:
24+
requests:
25+
- resourceType: discovery.k8s.io/endpointslices
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-gateway-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: gateway.networking.k8s.io/v1
12+
kind: Gateway
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "gateway-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for Gateway creation"
23+
spec:
24+
requests:
25+
- resourceType: gateway.networking.k8s.io/gateways
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-httpproxy-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: networking.datumapis.com/v1alpha
12+
kind: HTTPProxy
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "httpproxy-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for HTTPProxy creation"
23+
spec:
24+
requests:
25+
- resourceType: networking.datumapis.com/httpproxies
26+
amount: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: quota.miloapis.com/v1alpha1
2+
kind: ClaimCreationPolicy
3+
metadata:
4+
name: project-httproute-claim-policy
5+
labels:
6+
app.kubernetes.io/name: network-services-operator
7+
app.kubernetes.io/component: quota-system
8+
spec:
9+
trigger:
10+
resource:
11+
apiVersion: gateway.networking.k8s.io/v1
12+
kind: HTTPRoute
13+
target:
14+
resourceClaimTemplate:
15+
metadata:
16+
name: "httproute-{{ trigger.metadata.name }}"
17+
namespace: "{{requestInfo.namespace}}"
18+
labels:
19+
app.kubernetes.io/name: network-services-operator
20+
app.kubernetes.io/component: quota-system
21+
annotations:
22+
kubernetes.io/description: "Automatic quota claim for HTTPRoute creation"
23+
spec:
24+
requests:
25+
- resourceType: gateway.networking.k8s.io/httproutes
26+
amount: 1

0 commit comments

Comments
 (0)