stackrox / kube-linter

KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
https://docs.kubelinter.io/
Apache License 2.0
2.83k stars 228 forks source link

[BUG] - service has no selector specified raised when using Endpoint #746

Open marcmognol opened 4 months ago

marcmognol commented 4 months ago

System info:

Describe the bug If I use both Service and Endpoint manifests, Kube Linter raises :

/manifests/service-mt1.yaml: (object: service-mt1 /v1, Kind=Service) service has no selector specified (check: dangling-service, remediation: Confirm that your service's selector correctly matches the labels on one of your deployments.)

To Reproduce Run Kube Linter with the below sample.

Sample YAML input If applicable, sample YAML input which reproduces the issue.

---
kind: Endpoints
apiVersion: v1
metadata:
  name: service-mt1
subsets:
  - addresses:
      - ip: 10.1.2.3
    ports:
      - name: https
        port: 443

---
apiVersion: v1
kind: Service
metadata:
  name: service-mt1
spec:
  ports:
    - name: https
      port: 443
      targetPort: 443

Expected behavior A clear and concise description of what you expected to happen.

Kube Linter should be aware that this Service is linked to the Endpoint and selector is not necessary, so no need to raise the error.

Screenshots N/A

Additional context N/A