{"id":13598387,"url":"https://github.com/adieu/cue-ansible","last_synced_at":"2025-09-05T11:50:07.081Z","repository":{"id":57644927,"uuid":"223209181","full_name":"adieu/cue-ansible","owner":"adieu","description":"Write Ansible playbooks in CUE","archived":false,"fork":false,"pushed_at":"2020-06-15T16:41:12.000Z","size":8756,"stargazers_count":34,"open_issues_count":2,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-02T05:39:29.702Z","etag":null,"topics":["ansible","cue","cuelang"],"latest_commit_sha":null,"homepage":"","language":"Go","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/adieu.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":"2019-11-21T15:48:50.000Z","updated_at":"2024-03-10T18:53:29.000Z","dependencies_parsed_at":"2022-09-26T21:50:35.010Z","dependency_job_id":null,"html_url":"https://github.com/adieu/cue-ansible","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adieu/cue-ansible","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adieu%2Fcue-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adieu%2Fcue-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adieu%2Fcue-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adieu%2Fcue-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adieu","download_url":"https://codeload.github.com/adieu/cue-ansible/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adieu%2Fcue-ansible/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273753837,"owners_count":25161912,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ansible","cue","cuelang"],"created_at":"2024-08-01T17:00:52.186Z","updated_at":"2025-09-05T11:50:07.031Z","avatar_url":"https://github.com/adieu.png","language":"Go","funding_links":[],"categories":["Projects","ansible"],"sub_categories":[],"readme":"# cue-ansible\n\nWrite Ansible Playbooks in CUE\n\n## Why\n\nUsers write YAML files for [Ansible](https://www.ansible.com/). The experience could be enhanced using\n[CUE](https://cuelang.org/) with package importing, schema validation and more.\n\nThis repo provides you ready to use CUE packages for schema validation and guidance on\nhow to integrate CUE with Ansible.\n\nI created this project to get my hands dirty with CUE by putting it into a real usecase.\nYou can use this repo as a reference to rewrite your Ansible Playbooks in CUE\nor learn some basic usage pattern of CUE.\n\n## Installation\n\nYou should install Ansible and CUE before using this repo. Some features are not\nincluded in the latest release of CUE. So please install CUE with\n`go get -u cuelang.org/go/cmd/cue`.\n\n## Write Playbook\n\nCreate a new folder called `playbook` and write your playbook in CUE. You could\nuse [example](https://github.com/adieu/cue-ansible/blob/master/example/playbook.cue)\nas a reference.  It's almost the same like writing the playbook in YAML but you\ncould use CUE to organize your code in packages and use module schemas to validate\nthe task options.\n\n## Run Playbook\n\n`cue cmd play ./playbook` will eval your playbook and write the result to `playbook.yml`.\nThen `ansible-playbook` will be executed to run the playbook as well.\n\nYou can put your legacy YAML based tasks in `roles` folder and use `include_role`\nmodule to load them in your playbook. In this way, you can migrate from YAML\nto CUE gradually.\n\n## Reference\n\n - [CUE Homepage](https://cuelang.org/)\n - [CUE Repository on GitHub](https://github.com/cuelang/cue)\n - [CUE Documents](https://cuelang.org/docs/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadieu%2Fcue-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadieu%2Fcue-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadieu%2Fcue-ansible/lists"}