Group kind tests by owning component

This commit is contained in:
ms2k 2026-07-19 18:40:09 +09:00
commit ffa65018ed

View file

@ -0,0 +1,169 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: qualification-ingress
namespace: remora-testbed
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: qualification-ingress
namespace: remora-testbed
rules:
- apiGroups: [""]
resources: [configmaps, pods, secrets, endpoints]
verbs: [get, list, watch]
- apiGroups: [""]
resources: [services]
verbs: [get, list, watch]
- apiGroups: [networking.k8s.io]
resources: [ingresses, ingressclasses]
verbs: [get, list, watch]
- apiGroups: [networking.k8s.io]
resources: [ingresses/status]
verbs: [update]
- apiGroups: [coordination.k8s.io]
resources: [leases]
verbs: [get, create, update]
- apiGroups: [""]
resources: [events]
verbs: [create, patch]
- apiGroups: [discovery.k8s.io]
resources: [endpointslices]
verbs: [get, list, watch]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: remora-qualification-ingress
rules:
- apiGroups: [""]
resources: [configmaps, endpoints, nodes, pods, secrets, namespaces]
verbs: [list, watch]
- apiGroups: [""]
resources: [nodes]
verbs: [get]
- apiGroups: [""]
resources: [services]
verbs: [get, list, watch]
- apiGroups: [networking.k8s.io]
resources: [ingresses, ingressclasses]
verbs: [get, list, watch]
- apiGroups: [networking.k8s.io]
resources: [ingresses/status]
verbs: [update]
- apiGroups: [coordination.k8s.io]
resources: [leases]
verbs: [list, watch]
- apiGroups: [""]
resources: [events]
verbs: [create, patch]
- apiGroups: [discovery.k8s.io]
resources: [endpointslices]
verbs: [get, list, watch]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: qualification-ingress
namespace: remora-testbed
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: qualification-ingress
subjects:
- kind: ServiceAccount
name: qualification-ingress
namespace: remora-testbed
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: remora-qualification-ingress
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: remora-qualification-ingress
subjects:
- kind: ServiceAccount
name: qualification-ingress
namespace: remora-testbed
---
apiVersion: v1
kind: ConfigMap
metadata:
name: qualification-ingress
namespace: remora-testbed
---
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: qualification-nginx
spec:
controller: remora.dev/qualification-ingress
---
apiVersion: v1
kind: Service
metadata:
name: qualification-ingress
namespace: remora-testbed
spec:
selector:
app.kubernetes.io/name: qualification-ingress
ports:
- {name: http, port: 80, targetPort: http}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: qualification-ingress
namespace: remora-testbed
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: qualification-ingress
template:
metadata:
labels:
app.kubernetes.io/name: qualification-ingress
spec:
serviceAccountName: qualification-ingress
containers:
- name: controller
image: @@INGRESS_IMAGE@@
imagePullPolicy: Never
args:
- /nginx-ingress-controller
- --election-id=qualification-ingress
- --controller-class=remora.dev/qualification-ingress
- --ingress-class=qualification-nginx
- --configmap=$(POD_NAMESPACE)/qualification-ingress
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- {name: LD_PRELOAD, value: /usr/local/lib/libmimalloc.so}
ports:
- {name: http, containerPort: 80}
readinessProbe:
httpGet: {path: /healthz, port: 10254}
initialDelaySeconds: 5
periodSeconds: 2
resources:
requests: {cpu: 100m, memory: 90Mi}
limits: {cpu: "1", memory: 256Mi}
securityContext:
allowPrivilegeEscalation: false
capabilities:
add: [NET_BIND_SERVICE]
drop: [ALL]
runAsGroup: 82
runAsNonRoot: true
runAsUser: 101
seccompProfile: {type: RuntimeDefault}