Neem [dynamische inventaris](g) over in [ontwikkelomgevingen](g) om een
concreet, werkend voorbeeld te creëren dat demonstreert hoe volledige automatisering in de
toekomst zal werken, zodra alle provisioning-aspecten zijn geautomatiseerd zonder handmatige stappen. Dit
optimaliseert ook de ontwikkelopzet als secundair voordeel.
Neem een *inventaris-plugin* op in [ontwikkelomgevingen](g) om te simuleren hoe
[dynamische inventaris](g) werkt. Dit creëert een concreet, werkend voorbeeld dat
demonstreert hoe volledige automatisering in de toekomst zal functioneren, zodra alle
provisioning-aspecten zijn geautomatiseerd zonder handmatige stappen. Als secundair
voordeel optimaliseert dit ook de ontwikkelopzet.
{{</alert>}}
## Problem
Voor organisaties die nieuw zijn met automatisering, biedt [dynamische inventaris](g) mogelijk beperkte
directe waarde, omdat handmatige stappen vaak eerst moeten worden geautomatiseerd.
Onbekendheid met Ansible en de werking van inventarissen, zoals regels voor [variable precedence rules](g),
kan leiden tot suboptimale oplossingen. Teams kunnen bijvoorbeeld het toevoegen van servers aan het
[inventarisproject](g) automatiseren om taken voor [Ansible operators](g) te vereenvoudigen.
Deze aanpak heeft twee problemen:
1. Het beheren van het inventarisbestand met Ansible-groepen en nodes is niet overdreven complex, en de
[Ansible operator](g) moet een grondig begrip ervan hebben, ongeacht, omdat het de basis vormt van
effectieve automatisering.
2. Het automatiseren van deze "complexiteit" wordt natuurlijk opgelost bij het adopteren van
*dynamische inventaris*.
Voor organisaties die nieuw zijn met automatisering biedt dynamische inventaris mogelijk beperkte
directe waarde, omdat handmatige stappen vaak eerst moeten worden geautomatiseerd. Onbekendheid met
Ansible en inventarismechanieken, zoals [precedence](g)-regels, kan leiden tot suboptimale oplossingen[^phx].
## Context
In Nederlandse overheidsorganisaties die beginnen met automatisering, is de vertrouwdheid met
Ansible vaak beperkt, laat staan met concepten zoals *dynamische inventaris*. Dit is de primaire context.
In Nederlandse overheidsorganisaties die beginnen met automatisering is de vertrouwdheid met
Ansible vaak beperkt, laat staan met concepten zoals dynamische inventaris. Dit is de primaire context.
*Dynamische inventaris* vertegenwoordigt een toekomstige mijlpaal. In een volwassen professionele
Dynamische inventaris vertegenwoordigt een toekomstige mijlpaal. In een volwassen professionele
omgeving kan een aanvraag in tools zoals vRA voor een server of volledige omgeving
(meerdere servers) voldoende zijn. Een *Ansible operator* zou alleen het
vRA-portal nodig hebben om te provisionen. De vRA-opzet past labels toe die een *dynamische inventaris*-plugin
(meerdere servers) voldoende zijn. Een [Ansible operator](g) zou alleen het
vRA-portal nodig hebben om te provisionen. De vRA-opzet past labels toe die een dynamische inventaris-plugin
gebruikt voor volledige provisioning, zonder het [inventarisproject](g) aan te passen.
## Solution
Begin met *dynamische inventaris* in de [ontwikkelomgeving](g), waar dit
eenvoudig te implementeren is. Gebruik dit werkende voorbeeld om voordelen uit te leggen en te illustreren aan
organisaties die nieuw zijn met Ansible, en toon hoe het volledig geautomatiseerde
provisioning mogelijk maakt zonder handmatige stappen. Dit demonstreert toekomstige schaalbaarheid en
Begin in de [ontwikkelomgeving](g) met de [Vagrant-inventaris-plugin](g) voor
[Vagrant](g). Deze plugin is geen dynamische inventaris in de traditionele zin — het bevraagt geen externe cloud-API of database. In plaats daarvan leest het het YAML-bestand `Vagrantfile.yml` van het C2 Platform en genereert het een inventaris die Ansible kan gebruiken. Hiermee simuleert het hoe dynamische inventaris werkt: het toont hoe een inventaris kan worden gegenereerd vanuit een gegevensbron in plaats van handmatig te worden onderhouden.
Gebruik dit werkende voorbeeld om de voordelen van dynamische inventaris uit te leggen en te illustreren aan
organisaties die nieuw zijn met Ansible. Het laat zien hoe volledig geautomatiseerde
provisioning werkt zonder handmatige stappen, demonstreert toekomstige schaalbaarheid en
vereenvoudigt het beheer van inventarissen naarmate de automatisering volwassener wordt.
### Benefits
@@ -79,10 +73,10 @@ vereenvoudigt het beheer van inventarissen naarmate de automatisering volwassene
### Example in Development
De [inventaris-plugin](g) voor [Vagrant](g) illustreert hoe het vRA-voorbeeld zou
De *inventaris-plugin* voor Vagrant illustreert hoe het vRA-voorbeeld zou
werken. Het werkt op dezelfde fundamentele principes en biedt een concreet
voorbeeld van hoe labels in de virtualisatietechnologie — vRA in productie-achtige
domeinen of *Vagrant* in ontwikkeling—worden gebruikt met een plugin om dynamisch
domeinen of Vagrant in ontwikkeling — worden gebruikt met een plugin om dynamisch
hostinformatie te genereren en [Ansible-groepen](g) te definiëren.
#### Inventory Plugin for Vagrant
@@ -91,9 +85,9 @@ hostinformatie te genereren en [Ansible-groepen](g) te definiëren.
#### Vagrantfile.yml
De `Vagrantfile.yml` definieert de `pxd-s3`-node met behulp van de `ubuntu22-lxd`box,
De `Vagrantfile.yml` definieert de `pxd-s3`-node met behulp van de `ubuntu22-lxd`-box,
wijst IP `192.168.60.14` toe en specificeert de [playbook](g)`mgmt/s3` voor
provisioning. *Vagrant* gebruikt dit om de node te creëren en te configureren.
provisioning. Vagrant gebruikt dit om de node te creëren en te configureren.
{{% code
project="/docs/gitlab/c2platform/phx/ansible"
@@ -111,8 +105,8 @@ provisioning. *Vagrant* gebruikt dit om de node te creëren en te configureren.
Voorbeeld van een aangepaste inventory plugin voor Vagrant in de PHX-referentie-implementatie. De plugin illustreert het opbouwen van inventory, en het gebruik ervan in de ontwikkelomgeving simuleert dynamische inventory met behulp van een statisch `Vagrantfile.yml`.