{"id":16260082,"url":"https://github.com/cludden/consul-server","last_synced_at":"2026-02-17T22:01:27.945Z","repository":{"id":72389486,"uuid":"64253285","full_name":"cludden/consul-server","owner":"cludden","description":"consul server container that pulls secret configuration from dynamodb","archived":false,"fork":false,"pushed_at":"2016-11-01T18:31:03.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-26T02:59:43.030Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JSONiq","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/cludden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2016-07-26T20:44:10.000Z","updated_at":"2017-02-02T09:44:09.000Z","dependencies_parsed_at":"2023-06-14T20:45:34.576Z","dependency_job_id":null,"html_url":"https://github.com/cludden/consul-server","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"bc22de743a4a514e8b4e84c59ade4183b8f22da9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cludden/consul-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fconsul-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fconsul-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fconsul-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fconsul-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cludden","download_url":"https://codeload.github.com/cludden/consul-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fconsul-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29559961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T21:50:49.831Z","status":"ssl_error","status_checked_at":"2026-02-17T21:46:15.313Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-10T16:06:16.855Z","updated_at":"2026-02-17T22:01:27.929Z","avatar_url":"https://github.com/cludden.png","language":"JSONiq","funding_links":[],"categories":[],"sub_categories":[],"readme":"# consul-server\ndocker container based on the official [consul]() image that allows for dynamic configuration by pulling all configuration from DynamoDB.\n\n## Getting Started\n1. clone this repo\n2. create a dynamodb table for configuration data with a hash key of \"user\" and type string, and a range key of \"id\" and type string. Add an item for each consul datacenter cluster\n```json\n{\n    \"user\": \"consul-server-aws-us-west-2\",\n    \"id\": \"consul-server-aws-us-west-2\",\n    \"config\": {\n        \"acl_datacenter\": \"aws-us-west-2\",\n        \"acl_default_policy\": \"deny\",\n        \"acl_down_policy\": \"deny\",\n        \"acl_master_token\": \"\u003cmaster-token\u003e\",\n        \"client_addr\": \"0.0.0.0\",\n        \"data_dir\": \"/data\",\n        \"datacenter\": \"aws-us-west-2\",\n        \"disable_remote_exec\": true,\n        \"dns_config\": {\n            \"allow_stale\": true\n        },\n        \"encrypt\": \"\u003cencrypt-key\u003e\",\n        \"server\": true,\n        \"ui\": true\n    }\n}\n```\n3. create an s3 bucket to hold ssl certificates \u0026 keys. I found [this guide](https://www.digitalocean.com/community/tutorials/how-to-secure-consul-with-tls-encryption-on-ubuntu-14-04) and [this other guide](https://langui.sh/2009/01/18/openssl-self-signed-ca/) helpful for creating all of the necessary components. Once you have them, upload them to the s3 bucket. *note: you will need an additional certificate \u0026 key file per datacenter*\n2. Build the image.\n```bash\ndocker build -t consul-server .\n```\n3. Run it, providing environment variables for configuration data\n```bash\ndocker run -d \\\n-e \"REGION=$REGION\" \\ # add additional env vars here as well\nconsul-server\n```\n\n## Environment Variables\n| name | desc |\n| --- | --- |\n| CA_DEST_PATH | the absolute destination path for the ca certificate (e.g. `/opt/consul/ssl/consul-ca.cer`) |\n| CA_S3_PATH | the s3 location of the ca certificate |\n| CERT_DEST_PATH | the absolute destination path for the ssl certificate (e.g. `/opt/consul/ssl/aws-us-west-2.cer`) |\n| CERT_S3_PATH | the s3 location of the ssl certificate |\n| DYNAMO_KEY | the key query for the dynamo object `{\"hashKey\":{\"S\":\"HASH\"},\"rangeKey\":{\"S\":\"RANGE\"}}` |\n| DYNAMO_REGION | aws region for the dynamo table |\n| DYNAMO_TABLE | dynamodb table name |\n| KEY_DEST_PATH | the absolute destination path for the ssl key (e.g. `/opt/consul/ssl/aws-us-west-2.key`) |\n| KEY_S3_PATH | the s3 location of the ssl key |\n| S3_BUCKET | the name of the s3 bucket that holds the ssl components |\n| S3_REGION | aws region |\n\n## License\nCopyright (c) 2016 Chris Ludden. Licensed under the [MIT License](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcludden%2Fconsul-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcludden%2Fconsul-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcludden%2Fconsul-server/lists"}