{"id":22433016,"url":"https://github.com/roerohan/qemu-automator","last_synced_at":"2025-03-27T07:43:25.759Z","repository":{"id":100468000,"uuid":"269094198","full_name":"roerohan/QEMU-Automator","owner":"roerohan","description":"Spawn virtual machines with pre-configured data files.","archived":false,"fork":false,"pushed_at":"2020-06-05T12:20:08.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T12:46:14.442Z","etag":null,"topics":["cloud-image","cloudinary","cloudinit","qemu","ubuntu","virtualization"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/roerohan.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":"2020-06-03T13:22:34.000Z","updated_at":"2021-10-27T22:53:44.000Z","dependencies_parsed_at":"2023-05-19T17:31:22.477Z","dependency_job_id":null,"html_url":"https://github.com/roerohan/QEMU-Automator","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roerohan%2FQEMU-Automator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roerohan%2FQEMU-Automator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roerohan%2FQEMU-Automator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roerohan%2FQEMU-Automator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roerohan","download_url":"https://codeload.github.com/roerohan/QEMU-Automator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245806171,"owners_count":20675296,"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","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":["cloud-image","cloudinary","cloudinit","qemu","ubuntu","virtualization"],"created_at":"2024-12-05T22:13:30.673Z","updated_at":"2025-03-27T07:43:25.753Z","avatar_url":"https://github.com/roerohan.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QEMU-Automator\n\nSpawn virtual machines with pre-configured data files. \u003cbr\u003e\u003cbr\u003e\nRepository for the project component of the course CSE4011 (Virtualization), maintained by [Shantanu Verma](https://github.com/SaurusXI), [Rohan Mukherjee](https://github.com/roerohan), and Bhavya Taneja. \u003cbr\u003e\nThe tools created herein are motivated by a literature survey we performed on this subject.\n\n## Requirements\n\n- qemu\n- kvm\n- cdrtools (or genisoimage)\n- cloud image - [sample](https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img)\n\n## Usage\n\n### Step 1\n\nStore the cloud-image in the root directory. For the purpose of simplicity, we will refer to it as `cloud.img`.\n\n```bash\nwget -O cloud.img https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img\n```\n\n### Step 2\n\nEdit the `user-data` according to your requirements. It is in `yaml` format.\n\n```yaml\n# cloud-config\n\nusers:\n  - name: roerohan\n    gecos: Rohan Mukherjee\n    ssh-authorized-keys:\n      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCal7SgUCiCL0oBMnuFMp/x/zYV/T1NDCYskY1A8f9vrbOg+p6jqYnuj1zM3Pgc/1/cOcW6l6c3bZb3ko1hraxz9nNC7jJPSYvc/0ZAUTa9oLTaifZdeFCwTNhi5Z23EuIH+mhpO3OSRehClMYgAvBgL/CnMkJZd6EBvTtGDho4IIo62miK/HcN4uP7sP8WoVPRjkj3QELENfR0U9YwQRlK430VCfTYKgJB2Q/YxJk3VtdPWWRXGXl9fQTQNwlULzCU5bc/dyhdWPj1IrzLTB/wsFP43PZP/SegSIxAuK/13LN+Vs3Ca+50fm/V9OCzZnFqsAM/cHRcxg12t7eDx2dUOD5vikibgfCnbhADZy1pGGSM1BS6mLoPK5hk1Fz0oh2RAbeWMA+vz+wDbudK+paN7DnCTLIylJkEZJV/edfZhqoO6HI3wYapEXOuEGGC/N91dcgMJUHfABVWLWbUAyJGk2MKztbNc7pQOLKhwPaulPh2nji6yGcZh0RmDomHNEk= roerohan@anarchy\n    sudo: ['ALL=(ALL) NOPASSWD:ALL']\n    groups: sudo\n    shell: /bin/bash\n```\n\n### Step 3\n\nEdit the `meta-data` file, if necessary. This is also in `yaml` format.\n\n```yaml\ninstance-id: id-12345\nlocal-hostname: virt-ubuntu\n```\n\n### Step 4\n\nRun `script.sh`. This will automatically add your SSH key and other data from `user-data` to the image.\n\n```bash\n./script.sh\n```\n\nYou will now be able to SSH into the ubuntu server, with the username and private key corresponding to the entered public key.\n\n## License\n\n[MIT License](./LICENSE)\n\n# References\n\nYou can checkout your user-data configuration here:\n- https://cloudinit.readthedocs.io/en/latest/topics/examples.html","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froerohan%2Fqemu-automator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froerohan%2Fqemu-automator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froerohan%2Fqemu-automator/lists"}