Please help me to understand one thing about Prometheus and Prometheus operator integration into Kubernetes.
From the documentation I see that a new and not standard kinds of Kubernetes objects are used to configure Prometheus operator. By standard kinds I mean Pod, Service, ReplicaSet, Deployment etc. How the new like PrometheusRule and Prometheus was created? There is a point of integration here?
The documentation which brings me to this questions is here https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/alerting.md
The example of this kind of Kubernetes object YAML
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: example
spec:
  replicas: 2
  alerting:
    alertmanagers:
    - namespace: default
      name: alertmanager-example
      port: web
  serviceMonitorSelector:
    matchLabels:
      team: frontend
  ruleSelector:
    matchLabels:
      role: alert-rules
      prometheus: example