{"id":31565725,"url":"https://github.com/correlaid/directus_iac_template","last_synced_at":"2026-02-13T21:01:34.311Z","repository":{"id":246039130,"uuid":"819918579","full_name":"CorrelAid/directus_iac_template","owner":"CorrelAid","description":"Create a starter directus IaC project","archived":false,"fork":false,"pushed_at":"2024-06-26T01:45:22.000Z","size":65,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-05T07:25:31.199Z","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/CorrelAid.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":"2024-06-25T12:43:48.000Z","updated_at":"2024-09-04T08:39:37.000Z","dependencies_parsed_at":"2024-06-25T14:17:51.952Z","dependency_job_id":"44c305d1-3398-40e7-8849-4c1b64cd70d7","html_url":"https://github.com/CorrelAid/directus_iac_template","commit_stats":null,"previous_names":["correlaid/directus_iac_template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CorrelAid/directus_iac_template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fdirectus_iac_template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fdirectus_iac_template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fdirectus_iac_template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fdirectus_iac_template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CorrelAid","download_url":"https://codeload.github.com/CorrelAid/directus_iac_template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fdirectus_iac_template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29417705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":"2025-10-05T07:16:24.376Z","updated_at":"2026-02-13T21:01:34.293Z","avatar_url":"https://github.com/CorrelAid.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Directus Template\n\n\n## Setup\n\n1. Install Requirements\n- [Copier](https://copier.readthedocs.io/en/stable/#installation)\n    - install at least copier=v9.2.0\n- [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible)\n- [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)\n- [Pre-commit](https://pre-commit.com/#installation)\n- [Poetry](https://python-poetry.org/docs/#installation)\n\n2. Retrieve input data file \n\n`curl -o input.yml https://raw.githubusercontent.com/CorrelAid/directus_iac_template/main/input.yml.tmpl`\n\n3. Edit values of input data file\n\nSee the file itself. Sensitive data will be stored in ansible vault and will not be stored in the answers.yml of copier. Be aware however, that they are still hardcoded in the input data file you edited. Best practice is to delete this file after you are done.\n\n4. Run copier\n\n`copier copy --data-file input.yml --trust gh:CorrelAid/directus_iac_template \u003cfolder name\u003e`\n\n5. cd into the resulting folder and set up pre-commit\n\n```\ngit init\npre-commit install\n```\n\n6. Create Repo in browser **with name specified in input data**, then and commit local files to new repo \n\n```\ngit add .\ngit commit -m \"init\"\ngit remote add origin git@github.com:CorrelAid/\u003crepo name\u003e.git\ngit branch -M main\ngit push -u origin main\n```\n\n7. Provide Terraform with the required tokens\n\nDepends on how you run terraform. If your run it locally, set the environment variables:\n\n```\n# depends on which provider you chose\n# export DIGITALOCEAN_TOKEN=token \nexport HCLOUD_TOKEN=token\nexport HETZNER_DNS_API_TOKEN=token\nexport GITHUB_TOKEN=token\n```\n\n8. cd into /terraform folder and tun terraform\n\n```\nterraform init\nterraform apply\n```\n\n9. Pull changes made through terraform\n\n10. cd to root folder and run ansible\n\n```\nansible-playbook ansible/playbook.yml\n```\n\n11. cd into /python-tools and install poetry project\n\n`poetry install`\n\n## Functionality\n\nThe python-tools package contained in this folder provides some functionality to interact with the directus instances\n\n### Save schema on dev server\n\n`poetry run python save_schema.py`\n\n### Save schema on prod server\n\n`poetry run python apply_schema.py`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorrelaid%2Fdirectus_iac_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorrelaid%2Fdirectus_iac_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorrelaid%2Fdirectus_iac_template/lists"}