{"id":16777477,"url":"https://github.com/bbaassssiiee/provisioning","last_synced_at":"2025-10-13T07:12:00.439Z","repository":{"id":166060484,"uuid":"616396736","full_name":"bbaassssiiee/provisioning","owner":"bbaassssiiee","description":"AlmaLinux Kickstart server example","archived":false,"fork":false,"pushed_at":"2024-07-31T11:18:47.000Z","size":173,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-06T20:03:26.207Z","etag":null,"topics":["almalinux","cis","dhcp-server","kickstart","network-installer","security-automation","tftp-server"],"latest_commit_sha":null,"homepage":"","language":"YAML","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"TeamSalvador/provisioning","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbaassssiiee.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-20T10:05:35.000Z","updated_at":"2024-12-25T07:39:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"e2cf739b-3ad7-4275-92f7-34089a57e3f3","html_url":"https://github.com/bbaassssiiee/provisioning","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbaassssiiee%2Fprovisioning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbaassssiiee%2Fprovisioning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbaassssiiee%2Fprovisioning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbaassssiiee%2Fprovisioning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbaassssiiee","download_url":"https://codeload.github.com/bbaassssiiee/provisioning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248292671,"owners_count":21079481,"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":["almalinux","cis","dhcp-server","kickstart","network-installer","security-automation","tftp-server"],"created_at":"2024-10-13T07:24:51.215Z","updated_at":"2025-10-13T07:11:55.421Z","avatar_url":"https://github.com/bbaassssiiee.png","language":"YAML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Provisioning\n\nThis repo can create a VM image with HashiCorp Packer, provision VMs with Vagrant, and deploy Software on it using Ansible.\n\nThe VM can run locally on your laptop with a hypervisor like HyperV on Windows or Virtualbox.\nThe VM will run AlmaLinux/8.\nAnsible will be installed in the VM, and the playbooks in the ansible directory are used.\n\n# Requirements\n\nThese programs should be installed.\n\n### HyperV on Windows\n\n1. Open a PowerShell console as Administrator.\n2. Run the following command:\n\n```PowerShell\nEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All\n```\n\n### VirtualBox\n\nAlternatively you can install VirtualBox and its extension pack from [virtualbox.org](https://www.virtualbox.org/wiki/Downloads)\n\n### Vagrant\n\nInstall Vagrant from a [download from HashiCorp](https://developer.hashicorp.com/vagrant/downloads), or with:\n\n**Windows**\n```PowerShell\nchoco install vagrant\n```\n\n**macOS**\n```sh\nbrew install hashicorp/tap/hashicorp-vagrant\n```\n\n**Linux**\n```sh\nsudo yum install -y yum-utils\nsudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo\nsudo yum -y install vagrant\n```\n\n**Vagrant launches a VM from the image** with `vagrant up`, that will download the [almalinux/8 box](https://app.vagrantup.com/almalinux/boxes/8) for your hypervisor (hyperv/virtualbox/vmware_desktop/libvirt). Unless you created the image yourself with Packer.\n\n### Packer\n\nAlternatively you could customize almalinux/8 yourself (with Hashicorp Packer) to use it for VMs.\n\nInstall Packer from a [download from HashiCorp](https://developer.hashicorp.com/packer/downloads), or with:\n\n```PowerShell\n\tchoco install packer --version=1.8.4 -y\n\tpacker init --upgrade alma8.pkr.hcl\n```\n\n#### Creating an Azure VM base image\n\n[Azure howto](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/build-image-with-packer)\n\nThe Packer template `alma8.pkr.hcl` expects a couple of environment variables, when run from cli:\n\n```PowerShell\n$env:ARM_LOCATION = \"westeurope\"\n$env:ARM_SUBSCRIPTION_ID = \"\"\n$env:ARM_RESOURCE_GROUP = \"VMImageResourceGroup\"\n$env:ARM_STORAGE_ACCOUNT = \"A_Global_unique_name\"\n```\n\n\nAzure DevOps needs a service principal, the values in the output can be setup in the pipeline variables as secrets.\n\n```sh\naz ad sp create-for-rbac --role Contributor --scopes /subscriptions/\u003csubscription_id\u003e --query \"{ client_id: appId, client_secret: password, tenant_id: tenant }\"\n```\n\n\n#### Network switch in bridge mode\n\nTo properly construct a virtual switch in Hyper-V for working with Packer, follow these steps:\n\n1. Open the Hyper-V Manager console and click on the Virtual Switch Manager option in the Actions pane.\n1. Select the External option, and then click on Create Virtual Switch.\n1. Name your virtual switch 'Wi-Fi' and select the physical network adapter that will be used for the external network.\n\nClick on OK to create the virtual switch.\n\n#### Network tuning\n- disable packet coalescing on the wifi card settings in device manager.\n- disable large send offload (for IPV4 and IPV6) from the 'Hyper-V Virtual Ethernet Adapter..' in device manager.\n\n`make virtualbox`\n`make hyperv`\n\n Packer will download the ISO and put it in the `packer_cache` directory. Partial downloads are appended.\n\n### Ansible\n\nThe Vagrant provisioner will install Ansible in the VM, if you need Ansible locally\nrun `source install.rc` in a terminal to create a Python virtualenv on Linux, macOs or WSL.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbaassssiiee%2Fprovisioning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbaassssiiee%2Fprovisioning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbaassssiiee%2Fprovisioning/lists"}