{"action":"created","issue":{"url":"https://api.github.com/repos/containous/traefik/issues/2173","repository_url":"https://api.github.com/repos/containous/traefik","labels_url":"https://api.github.com/repos/containous/traefik/issues/2173/labels{/name}","comments_url":"https://api.github.com/repos/containous/traefik/issues/2173/comments","events_url":"https://api.github.com/repos/containous/traefik/issues/2173/events","html_url":"https://github.com/containous/traefik/issues/2173","id":260331224,"number":2173,"title":"Feature Request: Update Kubernetes Ingress Status","user":{"login":"micahhausler","id":791000,"avatar_url":"https://avatars3.githubusercontent.com/u/791000?v=4","gravatar_id":"","url":"https://api.github.com/users/micahhausler","html_url":"https://github.com/micahhausler","followers_url":"https://api.github.com/users/micahhausler/followers","following_url":"https://api.github.com/users/micahhausler/following{/other_user}","gists_url":"https://api.github.com/users/micahhausler/gists{/gist_id}","starred_url":"https://api.github.com/users/micahhausler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/micahhausler/subscriptions","organizations_url":"https://api.github.com/users/micahhausler/orgs","repos_url":"https://api.github.com/users/micahhausler/repos","events_url":"https://api.github.com/users/micahhausler/events{/privacy}","received_events_url":"https://api.github.com/users/micahhausler/received_events","type":"User","site_admin":false},"labels":[{"id":410567211,"url":"https://api.github.com/repos/containous/traefik/labels/area/provider/k8s","name":"area/provider/k8s","color":"d4c5f9","default":false},{"id":259872488,"url":"https://api.github.com/repos/containous/traefik/labels/kind/enhancement","name":"kind/enhancement","color":"84b6eb","default":false},{"id":602264614,"url":"https://api.github.com/repos/containous/traefik/labels/priority/P3","name":"priority/P3","color":"fef2c0","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-09-25T16:05:49Z","updated_at":"2017-12-05T12:30:53Z","closed_at":null,"author_association":"NONE","body":"Currently (as of `v1.4.0-rc3`) traefik does not update the ingress [`status.loadBalancer`](https://kubernetes.io/docs/api-reference/v1.7/#loadbalancerstatus-v1-core) field to anything. This makes it difficult to auto-assign DNS (such as  [kubernetes external-dns](https://github.com/kubernetes-incubator/external-dns)). Other Kubernetes ingress controllers update this field (see the `update-status` flag on the [nginx controller](https://github.com/kubernetes/ingress/tree/master/controllers/nginx#command-line-arguments))\r\n\r\nThe Kuberentes [`LoadBalancerIngress`](https://kubernetes.io/docs/api-reference/v1.7/#loadbalanceringress-v1-core) displays either a `hostname` or an `ip` field consisting of a single string value. It would be fantastic to have a Configuration option to specify the value to update managed ingress rules with. A user-configurable flag like `--kubernetes.ingressEndpoint.ip`  or `--kubernetes.ingressEndpoint.hostname`.\r\n\r\n\r\n### Do you want to request a *feature* or report a *bug*?\r\n\r\n**Feature**\r\n\r\n### What did you do?\r\n\r\n**my-ingress.yaml**\r\n```yaml\r\napiVersion: extensions/v1beta1\r\nkind: Ingress\r\nmetadata:\r\n  name: my-ingress\r\n  namespace: default\r\nspec:\r\n  rules:\r\n  - host: my-service.example.com\r\n    http:\r\n      paths:\r\n      - backend:\r\n          serviceName: my-service\r\n          servicePort: 3000\r\n        path: /\r\n```\r\n\r\n\r\n```bash\r\n$ kubectl apply -f my-ingress.yaml\r\n```\r\n\r\n### What did you expect to see?\r\n\r\n```\r\n$ kubectl get -f my-ingress.yaml -o yaml\r\n```\r\n```yaml\r\napiVersion: extensions/v1beta1\r\nkind: Ingress\r\nmetadata:\r\n  name: my-ingress\r\n  namespace: default\r\nspec:\r\n  rules:\r\n  - host: my-service.example.com\r\n    http:\r\n      paths:\r\n      - backend:\r\n          serviceName: my-service\r\n          servicePort: 3000\r\n        path: /\r\nstatus:\r\n  loadBalancer:\r\n    ingress:\r\n    - hostname: my-elb-hostname.us-east-1.elb.amazonaws.com\r\n```\r\n\r\n### What did you see instead?\r\n\r\n```\r\n$ kubectl get -f my-ingress.yaml -o yaml\r\n```\r\n```yaml\r\napiVersion: extensions/v1beta1\r\nkind: Ingress\r\nmetadata:\r\n  name: my-ingress\r\n  namespace: default\r\nspec:\r\n  rules:\r\n  - host: my-service.example.com\r\n    http:\r\n      paths:\r\n      - backend:\r\n          serviceName: my-service\r\n          servicePort: 3000\r\n        path: /\r\nstatus:\r\n  loadBalancer: {}\r\n```\r\n\r\n\r\n### Output of `traefik version`: (_What version of Traefik are you using?_)\r\n\r\n```\r\n$ docker run -it --rm traefik:v1.4.0-rc3 version\r\nVersion:      v1.4.0-rc3\r\nCodename:     roquefort\r\nGo version:   go1.9\r\nBuilt:        2017-09-18_04:38:27PM\r\nOS/Arch:      linux/amd64\r\n```\r\n\r\n### What is your environment & configuration (arguments, toml, provider, platform, ...)?\r\n\r\nDeployed in Kubernetes via daemonset\r\n```toml\r\n# No config file used\r\n```\r\n\r\n```yaml\r\napiVersion: extensions/v1beta1\r\nkind: DaemonSet\r\nmetadata:\r\n  name: traefik-858bd5f3\r\n  namespace: kube-system\r\nspec:\r\n  selector:\r\n    matchLabels:\r\n      app: traefik-ingress-controller\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: traefik-ingress-controller\r\n    spec:\r\n      containers:\r\n      - args:\r\n        - --web\r\n        - --kubernetes\r\n        image: traefik:latest\r\n        name: traefik-ingress-controller\r\n        ports:\r\n        - containerPort: 80\r\n          protocol: TCP\r\n        - containerPort: 8080\r\n          protocol: TCP\r\n      nodeSelector:\r\n        node-role.kubernetes.io/worker: \"\"\r\n```\r\n\r\n\r\n### If applicable, please paste the log output in debug mode (`--debug` switch)\r\n\r\n```\r\n# N/A\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/containous/traefik/issues/comments/349290485","html_url":"https://github.com/containous/traefik/issues/2173#issuecomment-349290485","issue_url":"https://api.github.com/repos/containous/traefik/issues/2173","id":349290485,"user":{"login":"oivindoh","id":153668,"avatar_url":"https://avatars3.githubusercontent.com/u/153668?v=4","gravatar_id":"","url":"https://api.github.com/users/oivindoh","html_url":"https://github.com/oivindoh","followers_url":"https://api.github.com/users/oivindoh/followers","following_url":"https://api.github.com/users/oivindoh/following{/other_user}","gists_url":"https://api.github.com/users/oivindoh/gists{/gist_id}","starred_url":"https://api.github.com/users/oivindoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oivindoh/subscriptions","organizations_url":"https://api.github.com/users/oivindoh/orgs","repos_url":"https://api.github.com/users/oivindoh/repos","events_url":"https://api.github.com/users/oivindoh/events{/privacy}","received_events_url":"https://api.github.com/users/oivindoh/received_events","type":"User","site_admin":false},"created_at":"2017-12-05T12:30:53Z","updated_at":"2017-12-05T12:30:53Z","author_association":"NONE","body":"Nginx simply sets the external IP for the load balanced service fronting nginx in my case, which is a fantastic solution that plays well with e.g. external-dns."}}
{"actor":{"display_login":"oivindoh"}}