Skip to content

About

This spins up Windows Instances on Bhyve

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

370 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows Provisioner

Windows Provisioner logo

Documentation for Windows Provisioner

Explore the docs »

Report Bug · Request Feature

Table of Contents

About the Project

Windows Provisioner is a provisioner package that provisions a Windows Server guest from a STARTcloud Windows box, prepared with the Windows roles of the startcloud.startcloud_roles collection. It is part of the STARTcloud ecosystem, riding on the Core Provisioner driver (fetched automatically from the release pinned in driver.version) and the startcloud.startcloud_roles and startcloud.hcl_roles Ansible collections.

Key Features

  • Role Management: Offers a comprehensive set of Ansible roles for various aspects of VM preparation and configuration.
  • Technology Installation: Automates the installation of services such as Chocolatey, OpenSSH, Sysmon, Winlogbeat and Telegraf from the startcloud_roles collection and the HCL Notes client from the hcl_roles collection, simplifying the deployment process.
  • Service Configuration: Simplifies the setup of necessary services on VMs, streamlining the deployment process.
  • Dependency Installation: Handles the installation of required dependencies, reducing manual setup efforts.

Including Windows Provisioner

Releases are built by release-please from conventional commits: every release carries an immutable windows_provisioner-<version>.tar.gz (plus a mutable windows_provisioner.tar.gz "latest" alias) with .sha256 sidecars — the registry-shaped artifact contract the provisioner catalog uses. See RELEASE.md for how releases are produced.

For plain vagrant use, clone this repository, copy examples/Hosts.yml to Hosts.yml at the repository root, place the collection releases pinned in collections/*.version under provisioners/ansible_collections/, and run vagrant up — the pinned core driver bootstraps itself on first run.

Interacting with Hosts.yml and Hosts.rb

To integrate Windows Provisioner with the Core Provisioner, specifically with the Hosts.yml and Hosts.rb files, follow these steps:

Windows Provisioner enhances the provisioning process by automating the configuration of VMs. To utilize these roles effectively, they need to be referenced within the Hosts.yml for the Core Provisioner Hosts.rb.

  1. Reference Roles in Hosts.yml: Within the Hosts.yml file, you can specify which roles should be applied to a particular host. This is done by including the role names under the roles key for each host configuration. For example:

    hosts: all
    roles:
      - startcloud.startcloud_roles.ssl
      - startcloud.startcloud_roles.windows_privacy

    This configuration indicates that the ssl and windows_privacy roles from the startcloud.startcloud_roles collection should be applied to all hosts via all.

  2. Execution in Hosts.rb: The Hosts.rb script is responsible for interpreting the Hosts.yml file and generating the necessary Vagrant configurations. When the Hosts.rb script encounters a host configuration that includes roles, it automatically applies these roles during the provisioning process. There's no need for additional modifications in Hosts.rb for this purpose, as the script is designed to handle role application based on the Hosts.yml configurations.

By following these steps, you can seamlessly integrate Windows Provisioner with the Core Provisioner, leveraging the power of Ansible roles to automate the configuration and security of your VMs. This approach enhances the flexibility and extensibility of your provisioning process, allowing for a more declarative and manageable setup.

Roadmap

See the open issues for a list of proposed features (and known issues).

Provider Support

Provider Supported by Windows Provisioner
VirtualBox Yes
Bhyve/Zones Yes
VMware Fusion No
Hyper-V No
Parallels No
AWS EC2 Yes
Google Cloud No
Azure No
DigitalOcean No
Linode No
Vultr No
Oracle Cloud No
OpenStack No
Rackspace No
Alibaba Cloud No
Aiven No
Packet No
Scaleway No
OVH No
Exoscale No
Hetzner Cloud No
KVM Yes
QEMU Yes
Docker Desktop No
HyperKit No
WSL2 No

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details

Acknowledgments

About

This spins up Windows Instances on Bhyve

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages