{"id":20310872,"url":"https://github.com/progrium/embassy","last_synced_at":"2025-04-11T16:04:06.683Z","repository":{"id":18633984,"uuid":"21840223","full_name":"progrium/embassy","owner":"progrium","description":"Easy, distributed discovery and routing mesh for Docker powered by Consul","archived":false,"fork":false,"pushed_at":"2014-08-29T03:43:11.000Z","size":169,"stargazers_count":94,"open_issues_count":1,"forks_count":11,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-08T22:03:06.334Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/progrium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-15T00:06:58.000Z","updated_at":"2023-12-08T00:30:30.000Z","dependencies_parsed_at":"2022-09-15T01:33:11.651Z","dependency_job_id":null,"html_url":"https://github.com/progrium/embassy","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/progrium%2Fembassy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/progrium%2Fembassy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/progrium%2Fembassy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/progrium%2Fembassy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/progrium","download_url":"https://codeload.github.com/progrium/embassy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224664839,"owners_count":17349503,"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-11-14T17:34:50.629Z","updated_at":"2024-11-14T17:34:51.167Z","avatar_url":"https://github.com/progrium.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\nthese are currently just my notes and a demo script\n\nTODO:\n\tvagrant tests\n\n====\ndocker pull dockerfile/ubuntu\ndocker pull progrium/webapp\ndocker pull dockerfile/redis\ndocker pull progrium/consulate\ndocker pull progrium/nginx\n---\ndocker version\ndocker images\n\nPUBLIC_IP=\"$(ifconfig eth0 | awk -F ' *|:' '/inet addr/{print $4}')\"\n\nJOIN_IP=\n\n$(docker run --rm progrium/consulate cmd:run $PUBLIC_IP -d)\n$(docker run --rm progrium/consulate cmd:iptables)\n\n# show consul ui\n\n# go to https://github.com/progrium/sample-webapp\n\ndocker run --name webapp -d -P progrium/webapp\n\n# connect locally to show app\n\ndocker run --rm -it --link consulate:consulate -e \"BACKEND_9000=webapp.service.consul\" dockerfile/ubuntu bash\n\ndocker run --name nginx -d -p 8000:80 -p 9000:9000 --link consulate:consulate -e \"BACKEND_8080=webapp.service.consul\" progrium/nginx\n\n{\"upstream\": {\"webapp\": {\"server\": {\"consulate:8080\": null}}}, \"server\": [{\"listen\": 80, \"location\": {\"/\": {\"proxy_pass\": \"http://webapp\"}}}]}\n\n# run 2 webapps to show balancing, then show counter\n\ndocker run --name webapp -d -P -e \"REDIS=consulate\" --link consulate:consulate -e \"BACKEND_6379=redis.service.consul\" progrium/webapp\n\ndocker run -d --name redis -P dockerfile/redis\n\n# move redis\n\n===\n\nPRIVATE_IP=\"$(ifconfig eth1 | awk -F ' *|:' '/inet addr/{print $4}')\"\ndocker run --rm -it -e \"SERVICE_NAME=foobar\" -p 8000 ubuntu bash -c \"nc -l 8000\"\ndocker run --rm -it --link consulate:consulate -e \"BACKEND_9000=foobar.service.consul\" ubuntu bash -c \"nc consulate 9000\"\n\n\n\n\n\n\n$(docker run --rm progrium/consul cmd:run $PRIVATE_IP -it)\necho \"DOCKER_OPTS='--dns $BRIDGE_IP --dns 8.8.8.8 --dns-search service.consul'\" \u003e /etc/default/docker\nservice restart docker\n\n===\nmanual version from prototype:\n\ndocker run -d --name consul -h $HOSTNAME -v /mnt:/data \\\n    -p $PRIVATE_IP:8300:8300 \\\n    -p $PRIVATE_IP:8301:8301 \\\n    -p $PRIVATE_IP:8301:8301/udp \\\n    -p $PRIVATE_IP:8302:8302 \\\n    -p $PRIVATE_IP:8302:8302/udp \\\n    -p $PRIVATE_IP:8400:8400 \\\n    -p $PRIVATE_IP:8500:8500 \\\n    -p $BRIDGE_IP:53:53/udp \\\n    progrium/consul -server -bootstrap -advertise $PRIVATE_IP\n\ndocker run -d -v /var/run/docker.sock:/var/run/docker.sock --dns $BRIDGE_IP --name backends progrium/ambassadord --omnimode\ndocker run --rm --privileged --net container:backends progrium/ambassadord --setup-iptables\ndocker run -d --name docksul -v /var/run/docker.sock:/tmp/docker.sock progrium/docksul http://$PRIVATE_IP:8500 unix:///tmp/docker.sock\n\n\n\ndocker pull progrium/consul\ndocker pull progrium/ambassadord\ndocker pull progrium/docksul\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrium%2Fembassy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprogrium%2Fembassy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrium%2Fembassy/lists"}