{"id":16959461,"url":"https://github.com/ncrmro/astrocyte","last_synced_at":"2026-04-29T00:35:08.838Z","repository":{"id":45441172,"uuid":"138251479","full_name":"ncrmro/astrocyte","owner":"ncrmro","description":"ZFS backed Ubuntu hosts provisioned by Ansible, with KVM and Docker.","archived":false,"fork":false,"pushed_at":"2022-07-06T20:13:30.000Z","size":302,"stargazers_count":3,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-30T17:48:33.621Z","etag":null,"topics":["ansible","docker","kvm","kvm-hypervisor","ubuntu","ubuntu1804","zfs"],"latest_commit_sha":null,"homepage":"","language":null,"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/ncrmro.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":"2018-06-22T03:43:34.000Z","updated_at":"2021-06-25T14:59:01.000Z","dependencies_parsed_at":"2022-09-12T21:01:22.970Z","dependency_job_id":null,"html_url":"https://github.com/ncrmro/astrocyte","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ncrmro/astrocyte","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncrmro%2Fastrocyte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncrmro%2Fastrocyte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncrmro%2Fastrocyte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncrmro%2Fastrocyte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ncrmro","download_url":"https://codeload.github.com/ncrmro/astrocyte/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncrmro%2Fastrocyte/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32405902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: 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":["ansible","docker","kvm","kvm-hypervisor","ubuntu","ubuntu1804","zfs"],"created_at":"2024-10-13T22:45:00.681Z","updated_at":"2026-04-29T00:35:08.817Z","avatar_url":"https://github.com/ncrmro.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Astrocyte\n\n\u003e ...\\[are] cells in the brain and spinal cord. They perform many functions, \nincluding ...supporitng the cell that form the blood–brain barrier, \nprovision of nutrients to the nervous tissue, maintenance of extracellular\nion balance, and a role in the repair and scarring process of the brain \nand spinal cord following traumatic injuries.\n\u003e\n\u003e -- \u003ccite\u003eWikipedia\u003c/cite\u003e\n\nThe main goal of Astrocyte in this context is to take baremetal hosts and\nturn them into KVM hosts.\n\nThen provision any KVM base guests with admin credentials, snapshot and \nthen clone the base guest.\n\nThis allows us spin up new pre configured guests for experimentation etc.\n\nThe main prequsite of Astrocyte is that you have a body of storage available. [Ocean](https://gitlab.com/jtco-io/ops/ocean)\nis a project that utilizes ZFS to provide networked attached storage (NAS). This allows us to have as many hosts virtual\nor baremetal that can all write to a single storage pool.\n\nAll hosts should refer to this pool of data on a network file share. This means all virtual machine images are available\nto any astrocyte host. The iso directory can be allowed to be written for from a [Transmission](https://transmissionbt.com/)\nvm. Further work to get iSCI shares working are in order. \n\nThis separation of concerns means we use standard OS Ubuntu with a minimal package set. Data backups and integreity are\nhandled by the Ocean hardware and repos respectivly. Althought Ocean does maintain the ability to have Astrocyte\ndeployed to it.\n\nFurthermore Astrocyte provisions the baremetal hosts and their respective VM guests with various tools to aid in security\nand monitoring. These typically include Prometheus [Node exporter](https://github.com/prometheus/node_exporter) and\nGraylog [Sidecar](https://docs.graylog.org/en/3.0/pages/sidecar.html).\n\n---\n\nAn additional goal is to provide cloud provider agnostic Virtual Machines\nfor things like off site backups, archives, kubernetes workers/ingress nodes.\n\nFor instance all AWS servers should be secure and waiting for any domain specific ansible plays once astrocyte is done with them.\n\n# Install project dependencies\n\n```bash\npipenv install\n```\n\n```bash\nansible-galaxy install ncrmro.kvm_host --force --roles-path=roles/galaxy\n```\n\n### Ansible Vault\nCreate a password file\n\n```bash\nmkdir ~/.ansible ; \\\necho \"mypassword\" \u003e\u003e ~/.ansible/.vault_pass.txt \u0026\u0026 \\\nchmod 0444 ~/.ansible/.vault_pass.txt\n```\n\n## Initial commands\n\nansible -i hosts -m ping all\n\nansible -i hosts -m shell -a 'uptime' all\n\n### Maintenance\n\nansible-playbook -i hosts init.yml\nk\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncrmro%2Fastrocyte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fncrmro%2Fastrocyte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncrmro%2Fastrocyte/lists"}