Het installatiescript uitvoeren
c2d-devtop. Het script voert de desktop-rol uit in local play-modus om een persoonlijke ontwikkelomgeving in te stellen voor een lokale gebruiker.Categories:
Projects:
c2platform/c2/ansible-inventory , c2platform.dev.desktop
Overview
Deze handleiding laat zien hoe je het installatiescript uitvoert op de node c2d-devtop in de
ontwikkelomgeving. Het script voert de desktop-rol uit in local play-modus. Het maakt een persoonlijke ontwikkelomgeving voor de gebruiker vagrant door Git-repositories te klonen, een Visual Studio Code-workspace in te stellen, een aliases-bestand toe te voegen en de standaard C2 Platform-ontwikkelomgeving te configureren.
Het script is een volledig non-interactieve bootstrap voor elke gebruiker op Ubuntu 24.04. Het detecteert of maakt een SSH-sleutel aan, kloont het inventory-project, bereidt een Python-virtuele omgeving voor, installeert requirements, rollen en collections en voert vervolgens de lokale playbook plays/dev/desktop_local.yml uit. Die playbook past de desktop-rol toe om de persoonlijke ontwikkelomgeving te convergeren.
Randvoorwaarden
- Start de node
c2d-devtopzoals beschreven in De Ansible ontwikkeldesktop uitrollen . - Maak verbinding via RDP met Remmina zoals beschreven in Remmina .
Installatiescript
Gebruik Remmina om een RDP-sessie te openen naar de node als gebruiker vagrant. Voer het installatiescript uit zoals beschreven in de handleiding voor het opzetten van de ontwikkelomgeving:
- Beheer Je Ontwikkelomgeving: Leer hoe je je ontwikkelomgeving creëert, instelt en effectief gebruikt.
wget -qO- https://gitlab.com/c2platform/c2/ansible-inventory/-/raw/master/scripts/install-dev-environment.sh?ref_type=heads | bash
Open een nieuw terminalvenster zodat de bijgewerkte terminalconfiguratie actief wordt. Activeer de Python-virtuele omgeving met de alias c2d en voorzie vervolgens de reverse proxy-node c2d-rproxy1.
c2d
vagrant up c2d-rproxy1
Test met een nieuw account
Test de local play met een nieuw gebruikersaccount. Maak als gebruiker vagrant het account aan met de onderstaande commando’s.
export TEST_USER=local-play-test-user
sudo userdel -r $TEST_USER
sudo useradd -G sudo $TEST_USER -m -s /bin/bash -c "Test account for local play"
echo "$TEST_USER:secret" | sudo chpasswd
Log opnieuw in als local-play-test-user met wachtwoord secret en voer het installatiescript opnieuw uit. Het voorzien van c2d-rproxy1 mislukt met de volgende fout:
409 - Error: Instance “c2d-rproxy1” already exists
Laat maar zien
De container c2d-rproxy1 bestaat al omdat deze is aangemaakt door de gebruiker vagrant. Je kunt dit bevestigen met sudo lxc ls:
(c2) local-play-test-user@c2d-devtop:~/git/gitlab/c2/ansible-c2d$ sudo lxc ls
+-------------+---------+---------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+-------------+---------+---------------------+------+-----------+-----------+
| c2d-rproxy1 | RUNNING | 10.181.4.149 (eth0) | | CONTAINER | 0 |
| | | 1.1.4.205 (eth1) | | | |
+-------------+---------+---------------------+------+-----------+-----------+
Een Ansible-ontwikkelomgeving die lokale virtualisatie (VirtualBox of LXD) gebruikt, is single-user. Slechts één gebruiker kan de omgeving tegelijkertijd gebruiken. Het installatiescript verwijdert geen nodes die door andere gebruikers zijn aangemaakt. Je kunt de container handmatig verwijderen:
sudo lxc delete c2d-rproxy1 --force
De desktop-rol werkt het LXD-trust bij. Je kunt dit inspecteren met:
lxc config trust ls
(c2) local-play-test-user@c2d-devtop:~/git/gitlab/c2/ansible-c2d$ lxc config trust ls
+--------+------------+---------------------------------+--------------+------------------------------+-----------------------------+
| TYPE | NAME | COMMON NAME | FINGERPRINT | ISSUE DATE | EXPIRY DATE |
+--------+------------+---------------------------------+--------------+------------------------------+-----------------------------+
| client | client.crt | local-play-test-user@c2d-devtop | fcbe00bfc1b1 | Aug 10, 2026 at 8:09am (UTC) | Aug 7, 2036 at 8:09am (UTC) |
+--------+------------+---------------------------------+--------------+------------------------------+-----------------------------+
De nieuwe gebruiker wordt ook toegevoegd aan de groepen vboxusers en lxd, maar deze zijn nog niet actief:
local-play-test-user@c2d-devtop:~/git/gitlab/c2/ansible-c2d$ cat /etc/group | grep lxd
lxd:x:110:vagrant,local-play-test-user
local-play-test-user@c2d-devtop:~/git/gitlab/c2/ansible-c2d$ groups
local-play-test-user sudo
Log uit en log opnieuw in, herstart de machine of voer de volgende commando’s uit:
newgrp lxd
newgrp vboxusers
Daarna behoort de gebruiker tot beide groepen:
local-play-test-user@c2d-devtop:~$ groups
local-play-test-user sudo lxd vboxusers
Met het juiste LXD-trust, de juiste groepsleden en zonder bestaande node kun je nu het provisioning-commando succesvol uitvoeren:
vagrant up c2d-rproxy1
Conclusie
Het installatiescript voert de desktop-rol uit in local play-modus om een persoonlijke ontwikkelomgeving in te stellen. De Ansible-ontwikkelomgeving is single-user wanneer lokale virtualisatie wordt gebruikt. De desktop-rol ondersteunt het wisselen van gebruikers door het LXC-trust bij te werken (behalve het verwijderen van nodes die door de vorige gebruiker zijn aangemaakt).
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.