{"id":16777302,"url":"https://github.com/githubixx/ansible-role-haproxy","last_synced_at":"2026-01-03T02:51:43.712Z","repository":{"id":200854871,"uuid":"706394161","full_name":"githubixx/ansible-role-haproxy","owner":"githubixx","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-22T21:26:04.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-23T05:43:36.301Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/githubixx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-10-17T21:31:17.000Z","updated_at":"2024-04-22T21:25:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa4c5050-ae7d-45f3-897c-b644eaf001c2","html_url":"https://github.com/githubixx/ansible-role-haproxy","commit_stats":null,"previous_names":["githubixx/ansible-role-haproxy"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubixx%2Fansible-role-haproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubixx%2Fansible-role-haproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubixx%2Fansible-role-haproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubixx%2Fansible-role-haproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/githubixx","download_url":"https://codeload.github.com/githubixx/ansible-role-haproxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243918630,"owners_count":20368745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T07:24:19.076Z","updated_at":"2026-01-03T02:51:43.661Z","avatar_url":"https://github.com/githubixx.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nCopyright (C) 2023 Robert Wimmer\nSPDX-License-Identifier: GPL-3.0-or-later\n--\u003e\n\nansible-role-haproxy\n=====================\n\nThis Ansible role is used in my blog series [Kubernetes the not so hard way with Ansible](https://www.tauceti.blog/posts/kubernetes-the-not-so-hard-way-with-ansible-the-basics/). This role isn't intended to be a general purpose role for [haproxy](http://www.haproxy.org). It's only used to run on Kubernetes nodes, listen on `localhost` and forward requests for Kubernetes services like  `kube-scheduler`, `kube-controller-manager`, `kubelet` and `kube-proxy` to `kube-apiserver` and making all available Kubernetes API servers highly available for that services.\n\nFor this purpose this role only configures one frontend in TCP mode where the services mentioned above send their requests to and one backend with a list of all Kubernetes API servers available. To figure out which `kube-apiserver` are available the template expects a Ansible host group called `k8s_controller` (see [k8s_api_endpoint.cfg.j2](https://github.com/githubixx/ansible-role-haproxy/blob/master/templates/etc/haproxy/k8s_api_endpoint.cfg.j2).\n\nThis role currently only supports Ubuntu 22.04 and `haproxy` v2.4 which comes bundled with that Ubuntu version.\n\nRequirements\n------------\n\nNone\n\nChangelog\n---------\n\nsee [CHANGELOG.md](https://github.com/githubixx/ansible-role-haproxy/blob/master/CHANGELOG.md)\n\nRole Variables\n--------------\n\n```yaml\n# Address which haproxy service is listening for incoming requests\nhaproxy_frontend_bind_address: \"127.0.0.1\"\n\n# Port which haproxy is listening for incoming requests\nhaproxy_frontend_port: \"16443\"\n\n# Port where kube-apiserver is listening\nhaproxy_k8s_api_endpoint_port: \"6443\"\n```\n\nDependencies\n------------\n\nNone\n\nExample Playbook\n----------------\n\n```yaml\n- hosts: servers\n  roles:\n    - githubixx.haproxy\n```\n\nLicense\n-------\n\n[GNU General Public License v3.0 or later](https://spdx.org/licenses/GPL-3.0-or-later.html)\n\nAuthor Information\n------------------\n\n[http://www.tauceti.blog](http://www.tauceti.blog)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithubixx%2Fansible-role-haproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithubixx%2Fansible-role-haproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithubixx%2Fansible-role-haproxy/lists"}