{"id":19378958,"url":"https://github.com/linbit/cloud-init-for-windows","last_synced_at":"2025-04-23T19:32:39.704Z","repository":{"id":199267828,"uuid":"641433985","full_name":"LINBIT/cloud-init-for-windows","owner":"LINBIT","description":"A minimal version of cloud-init for windows","archived":false,"fork":false,"pushed_at":"2025-04-11T15:44:25.000Z","size":32,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-11T15:47:59.459Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LINBIT.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}},"created_at":"2023-05-16T13:10:10.000Z","updated_at":"2025-04-11T15:44:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"56ed9502-2fd8-427b-b2d7-6007b354c95e","html_url":"https://github.com/LINBIT/cloud-init-for-windows","commit_stats":null,"previous_names":["linbit/cloud-init-for-windows"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Fcloud-init-for-windows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Fcloud-init-for-windows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Fcloud-init-for-windows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Fcloud-init-for-windows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LINBIT","download_url":"https://codeload.github.com/LINBIT/cloud-init-for-windows/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250499922,"owners_count":21440715,"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":[],"created_at":"2024-11-10T09:08:04.398Z","updated_at":"2025-04-23T19:32:39.420Z","avatar_url":"https://github.com/LINBIT.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple incomplete cloud init for Windows\n\nThis is a very basic implementation of cloud init for\nthe Microsoft Windows platform. Cloud init is used to\nconfigure instance specific properties (like hostname,\nssh keys) of virtual machines.\n\n## How it works\n\nThe hypervisor adds a CDROM drive with an virtual ISO\nimage containing two files: `user-data` and `meta-data`.\nThey contain instance specific data (like hostname,\nssh keys) in a yaml format.\n\n## Prerequisites\n\nSince cloud-init for Windows was orginally developed\nfor our (Linbit) internal ci system (which also\nvirter was written for) it requires cygwin (including\nthe openssh package) to be installed on the machine.\nPlease refer to the virter documentation for more\ninformation about setting up such Windows virtual\nmachine templates.\n\nThe main work is done by a bash script, so we need\nto have cygwin installed on the Windows VM. \nWindows Subsystem for Linux (WSL) does *not* work.\n\n## Functionality\n\nAgain, because we use it in our internal ci, only\nthe features we need are implemented. These are:\n\n * Setting the hostname (including rebooting the\n   machine if necessary).\n\n * Install the ssh host keys and authorized keys\n   (to make `virter vm ssh` work)\n\n * Make sure that cygsshd (the OpenSSH daemon)\n   is actually running.\n\nThat's it.\n\n## Installing\n\nThere is an inno-setup installer script that adds\na Windows task scheduler job to run cloud-init for\nWindows on system startup. It will generate an\nEXE file which must be run on the VM template\nbefore creating VM instances.\n\n## Building\n\nYou need:\n\n * A copy of [inno-setup](https://jrsoftware.org/isinfo.php)\n   version 5 (version 6 may work but hasn't been tested).\n\n * If you are building on Linux, you also need\n   [wine](https://www.winehq.org/)\n\n * If you are building on Windows you just can unset\n   WINE in the Makefile.\n\nThe run\n\n    make\n\nThis will create a file called `install-cloud-init-$VERSION.exe`.\n(you might have to also pull the git tags using:\n\n    git pull --tags\n\n).\n\nThis file then has to be run on the virtual machine template.\n\nIf you are running in an ssh session add the `/verysilent`\nparameter as follows:\n\n    install-cloud-init-0.6.exe /verysilent\n\n## Questions?\n\nThe author of this little script can be reached at\n`johannes@johannesthoma.com`\n\nHave fun :)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinbit%2Fcloud-init-for-windows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinbit%2Fcloud-init-for-windows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinbit%2Fcloud-init-for-windows/lists"}