{"id":22055859,"url":"https://github.com/axelspringer/vagrant-kombinat","last_synced_at":"2026-04-30T00:36:29.533Z","repository":{"id":94050316,"uuid":"98809534","full_name":"axelspringer/vagrant-kombinat","owner":"axelspringer","description":":smirk: Running Kombinat on CoreOS with Vagrant","archived":false,"fork":false,"pushed_at":"2017-12-09T10:37:51.000Z","size":30,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-21T22:38:39.678Z","etag":null,"topics":["coreos","marathon","mesos","vagrant","zookeeper"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/axelspringer.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2017-07-30T16:15:03.000Z","updated_at":"2017-12-09T10:31:37.000Z","dependencies_parsed_at":"2023-03-07T23:31:33.015Z","dependency_job_id":null,"html_url":"https://github.com/axelspringer/vagrant-kombinat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelspringer%2Fvagrant-kombinat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelspringer%2Fvagrant-kombinat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelspringer%2Fvagrant-kombinat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelspringer%2Fvagrant-kombinat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axelspringer","download_url":"https://codeload.github.com/axelspringer/vagrant-kombinat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245128114,"owners_count":20565206,"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":["coreos","marathon","mesos","vagrant","zookeeper"],"created_at":"2024-11-30T16:11:47.424Z","updated_at":"2026-04-30T00:36:29.489Z","avatar_url":"https://github.com/axelspringer.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vagrant-kombinat\n\nWhat we provide here, is Kombinat (our flavor of Mesos) in a box. We use [CoreOS](https://coreos.com/) and [Docker Swarm](https://docs.docker.com/engine/swarm/) to run [Apache Mesos](http://mesos.apache.org/) with some additions on top. \n\n:smirk: Sounds crazy? Because, that it is. Though, [Docker Swarm](https://docs.docker.com/engine/swarm/) provides us with many of the needed underlying technologies to use [Apache Mesos](http://mesos.apache.org/). E.g. overlay networking, service orchestration and declarative infrastructure.\n\n\u003e Provisioning may take a while, because the images are pulled in the background\n\nWe use the `kombinat.yml` to provision the Swarm with our Mesos stack.\n\n## Setup\n\n\u003e Please, do a `vagrant plugin update` before you continue, as to make sure that you do not rely on some old versions of the [Vagrant Ignition Plugin](https://github.com/coreos/vagrant-ignition)\n\n\u003e Please, change the `DISCOVERY_URL` in `config.ign` to a working token for `etcd`, by executing `curl -w \"\\n\" 'https://discovery.etcd.io/new?size=3'`\n\n```bash\nvagrant up\n```\n\n```bash\nsudo echo \"172.17.8.2   portainer.kombinat.lan\" \u003e\u003e /etc/hosts\nsudo echo \"172.17.8.2   master.kombinat.lan\" \u003e\u003e /etc/hosts\nsudo echo \"172.17.8.2   marathon.kombinat.lan\" \u003e\u003e /etc/hosts\nsudo echo \"172.17.8.2   chronos.kombinat.lan\" \u003e\u003e /etc/hosts\n```\n\n## Play with it\n\n\u003e Marathon [http://marathon.kombinat.lan](http://marathon.kombinat.lan), Portainer [http://portainer.kombinat.lan](http://portainer.kombinat.lan), Master [http://master.kombinat.lan](http://master.kombinat.lan)\n\nRun the Swarm manager \n\n```\nvagrant ssh manager\n```\n\n```\ndocker info\ndocker node ls\n```\n\nRun the Swarm worker\n\n```\nvagrant ssh worker-1\n```\n\n## Container in Overlay Network with Marathon\n\n```json\n{\n  \"id\": \"/nginx\",\n  \"cmd\": null,\n  \"cpus\": 1,\n  \"mem\": 128,\n  \"disk\": 0,\n  \"instances\": 0,\n  \"acceptedResourceRoles\": [\n    \"*\"\n  ],\n  \"container\": {\n    \"type\": \"DOCKER\",\n    \"volumes\": [],\n    \"docker\": {\n      \"image\": \"nginx\",\n      \"network\": \"USER\",\n      \"privileged\": false,\n      \"forcePullImage\": false\n    }\n  },\n  \"ipAddress\": {\n    \"networkName\": \"proxy\"\n  },\n  \"healthChecks\": [\n    {\n      \"gracePeriodSeconds\": 300,\n      \"intervalSeconds\": 60,\n      \"timeoutSeconds\": 20,\n      \"maxConsecutiveFailures\": 3,\n      \"port\": 80,\n      \"path\": \"/\",\n      \"protocol\": \"HTTP\",\n      \"ignoreHttp1xx\": false\n    }\n  ]\n}\n```\n\n# License\n[MIT](/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelspringer%2Fvagrant-kombinat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxelspringer%2Fvagrant-kombinat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelspringer%2Fvagrant-kombinat/lists"}