apiVersion: v1
kind: Service
metadata:
  name: whoami
  namespace: default

spec:
  ports:
    - name: web
      port: 80
  selector:
    app: traefiklabs
    task: whoami

---
kind: Endpoints
apiVersion: v1
metadata:
  name: whoami
  namespace: default

subsets:
  - addresses:
      - ip: 10.10.0.1
      - ip: 10.10.0.2
    ports:
      - name: web
        port: 80

---
apiVersion: v1
kind: Service
metadata:
  name: whoami2
  namespace: default

spec:
  ports:
    - name: web
      port: 8080
  selector:
    app: traefiklabs
    task: whoami2

---
kind: Endpoints
apiVersion: v1
metadata:
  name: whoami2
  namespace: default

subsets:
  - addresses:
      - ip: 10.10.0.3
      - ip: 10.10.0.4
    ports:
      - name: web
        port: 8080

---
apiVersion: v1
kind: Service
metadata:
  name: whoamitls
  namespace: default

spec:
  ports:
    - name: websecure
      port: 443
      targetPort: 8443
  selector:
    app: traefiklabs
    task: whoami2

---
kind: Endpoints
apiVersion: v1
metadata:
  name: whoamitls
  namespace: default

subsets:
  - addresses:
      - ip: 10.10.0.5
      - ip: 10.10.0.6
    ports:
      - name: websecure
        port: 8443

---
apiVersion: v1
kind: Service
metadata:
  name: whoami3
  namespace: default

spec:
  ports:
    - name: websecure2
      port: 8443
      scheme: https
  selector:
    app: traefiklabs
    task: whoami3

---
kind: Endpoints
apiVersion: v1
metadata:
  name: whoami3
  namespace: default

subsets:
  - addresses:
      - ip: 10.10.0.7
      - ip: 10.10.0.8
    ports:
      - name: websecure2
        port: 8443

---
apiVersion: v1
kind: Service
metadata:
  name: whoami-ipv6
  namespace: default

spec:
  ports:
    - name: web
      port: 8080
  selector:
    app: traefiklabs
    task: whoami-ipv6

---
kind: Endpoints
apiVersion: v1
metadata:
  name: whoami-ipv6
  namespace: default

subsets:
  - addresses:
      - ip: "2001:db8:85a3:8d3:1319:8a2e:370:7348"
    ports:
      - name: web
        port: 8080

---
apiVersion: v1
kind: Service
metadata:
  name: external-svc
  namespace: default
spec:
  externalName: external.domain
  type: ExternalName

---
apiVersion: v1
kind: Service
metadata:
  name: external-svc-with-http
  namespace: default
spec:
  externalName: external.domain
  type: ExternalName
  ports:
    - name: http
      protocol: TCP
      port: 80

---
apiVersion: v1
kind: Service
metadata:
  name: external-svc-with-https
  namespace: default
spec:
  externalName: external.domain
  type: ExternalName
  ports:
    - name: https
      protocol: TCP
      port: 443

---
apiVersion: v1
kind: Service
metadata:
  name: external-svc-with-ipv6
  namespace: default
spec:
  externalName: "2001:db8:85a3:8d3:1319:8a2e:370:7347"
  type: ExternalName
  ports:
    - name: http
      protocol: TCP
      port: 8080

---
apiVersion: v1
kind: Service
metadata:
  name: whoami-svc
  namespace: cross-ns

spec:
  ports:
    - name: web
      port: 80
  selector:
    app: traefiklabs
    task: whoami

---
kind: Endpoints
apiVersion: v1
metadata:
  name: whoami-svc
  namespace: cross-ns

subsets:
  - addresses:
      - ip: 10.10.0.1
      - ip: 10.10.0.2
    ports:
      - name: web
        port: 80

---
apiVersion: v1
kind: Service
metadata:
  name: whoami-without-endpoints-subsets
  namespace: default

spec:
  ports:
    - name: myapp
      port: 80

  selector:
    app: traefiklabs
    task: whoami

---
kind: Endpoints
apiVersion: v1
metadata:
  name: whoami-without-endpoints-subsets
  namespace: default
