{"id":42503695,"url":"https://github.com/dataforgoodfr/d4g-ansible","last_synced_at":"2026-01-28T13:36:55.330Z","repository":{"id":184900815,"uuid":"672534402","full_name":"dataforgoodfr/d4g-ansible","owner":"dataforgoodfr","description":"d4g services proxy with out-of-the-box TLS","archived":false,"fork":false,"pushed_at":"2026-01-15T21:39:44.000Z","size":331,"stargazers_count":2,"open_issues_count":13,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-16T00:49:20.022Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dataforgoodfr.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-30T12:15:48.000Z","updated_at":"2026-01-15T21:39:48.000Z","dependencies_parsed_at":"2023-07-30T21:35:11.026Z","dependency_job_id":"44f9a63b-0633-495c-99a8-60f0ba376c27","html_url":"https://github.com/dataforgoodfr/d4g-ansible","commit_stats":{"total_commits":13,"total_committers":3,"mean_commits":4.333333333333333,"dds":"0.15384615384615385","last_synced_commit":"62ad797969ff6d8424915a9f39aee740ed07acec"},"previous_names":["dataforgoodfr/d4g-ansible"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dataforgoodfr/d4g-ansible","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataforgoodfr%2Fd4g-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataforgoodfr%2Fd4g-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataforgoodfr%2Fd4g-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataforgoodfr%2Fd4g-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dataforgoodfr","download_url":"https://codeload.github.com/dataforgoodfr/d4g-ansible/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataforgoodfr%2Fd4g-ansible/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28846053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T13:02:32.985Z","status":"ssl_error","status_checked_at":"2026-01-28T13:02:04.945Z","response_time":57,"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":"2026-01-28T13:36:54.998Z","updated_at":"2026-01-28T13:36:55.322Z","avatar_url":"https://github.com/dataforgoodfr.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# d4g-proxy\n\nThis repository holds all the Ansible configuration files for d4g infrastructure.\n\nThis repository is organised as such :\n - `playbooks/` holds the playbooks to be applied to hosts. Each playbook represents a combination of roles representing a service (e.g. the d4g-proxy playbook requires the docker and acme.sh roles)\n - `roles/services` holds service ansible roles. They are used to setup the specific parts of a service (e.g. docker-compose configuration, etc.)\n - `roles/utilities` holds utility standalone ansible roles, which can be composed and used in playbooks (e.g. the docker role installs docker)\n\n## Setting up the repository\n\nAs all our d4g repositories, d4g-ansible comes with a `bin/setup` utility to install most of the required dependencies on your machine.\nThe only hard dependency is nodejs, which we leave up to the user to install however they want and configure. Nodejs is required by bitwarden's CLI.\n\nTo install dependencies and setup the repo, run\n```bash\nbin/setup\n```\n\nYou are now ready to run the playbooks.\n\n## Running a playbook\n\n**DO NOT RUN PLAYBOOKS DIRECTLY USING `ansible-playbook` AS DOING THIS WILL REMOVE ALL SHARED SECRETS AND BREAK YOUR DEPLOYMENT.**\n**PLEASE USE `bin/d4g-ansible` AS DETAILED BELOW**\n\nYou can run a playbook using the following command :\n```\nbin/d4g-ansible playbook playbooks/swarm-production.yml --diff --verbose\n```\n\nYou can apply only specific tagged steps by using the `--tags` flag :\n```bash\nbin/d4g-ansible playbook playbooks/swarm-production.yml --diff --verbose --tags=acme\n```\nYou can also limit the apply to a specific host in the inventory using the `--limit` flag :\n```bash\nbin/d4g-ansible playbook playbooks/swarm-production.yml --diff --verbose --limit=metal-1.dataforgood.fr\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataforgoodfr%2Fd4g-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdataforgoodfr%2Fd4g-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataforgoodfr%2Fd4g-ansible/lists"}