Initial Commit

This commit is contained in:
Guillaume
2023-05-23 21:29:28 +02:00
commit 78d68e0909
76 changed files with 9785 additions and 0 deletions

9
content/cli/_index.md Normal file
View File

@ -0,0 +1,9 @@
---
Title: CLI
Weight: 50
---
NOVIT met à disposition des outils en ligne de commande faisant partie de la solution Direktil.
{{% children description="true" %}}

39
content/cli/dir2config.md Normal file
View File

@ -0,0 +1,39 @@
---
title: dir2config
description: Dir2config est un outil en ligne de commande utilisé pour générer la [configuration]({{< ref "configuration" >}}) *config.yaml* acceptée par le [Direktil Local Server]({{< ref "cli/dkl-local-server" >}}).
---
## Dkl-dir2config
Dir2config est un outil en ligne de commande utilisé pour générer la [configuration]({{< ref "configuration" >}}) *config.yaml* acceptée par le [Direktil Local Server]({{< ref "cli/dkl-local-server" >}}).
Les sources peuvent être trouvées sur [le repository git de Direktil](https://novit.tech/direktil/local-server).
## Build
```
git clone git@novit.tech:direktil/local-server.git
cd local-server/cmd/dkl-dir2config
go build
```
## Usage
Ce outil s'utilise dans un dossier de configuration, et recherche à minima des dossiers *clusters* et *hosts* pour construire la configuration de ces derniers.
```bash
./dkl-dir2config
# Help
./dkl-dir2config -h
Usage of dkl-dir2config:
-debug string
debug
-in string
Source directory (default ".")
-out string
Output file (default "config.yaml")
-template-details-dir string
write details of template execute in this dir (default "/tmp/dkl-dir2config")
```

View File

@ -0,0 +1,62 @@
---
title: dkl-local-server
description: Dkl-local-server est le nom du service HTTP en charge de la génération des images et couches (*layers*) systèmes. Il a besoin d'un fichier *config.yaml* généré antérieurement par [dir2config]({{< ref "cli/dir2config" >}}).
---
## Direktil-local-server
Dkl-local-server est le nom du service HTTP en charge de la génération des images et couches (*layers*) systèmes. Il a besoin d'un fichier *config.yaml* généré antérieurement par [dir2config]({{< ref "cli/dir2config" >}}).
Les sources peuvent être trouvées sur [le repository git de Direktil](https://novit.tech/direktil/local-server).
## Build
La dernière version de dkl-local-server peut être compilée facilement grâce à un compilateur **go**.
```
git clone git@novit.tech:direktil/local-server.git
cd local-server/cmd/dkl-local-server
go build
```
## Usage
```
./dkl-local-server
```
Les paramètres par défaut importants impliquent que :
- **/var/lib/direktil** est le dossier data, c'est à dire là où doit se trouver le fichier *config.yaml*
- Le port d'écoute par défaut est **7606**
Ils peuvent être changés via les arguments en ligne de commande.
### Docker
Docker peut être utilisé pour démarrer un dkl-local-server sans avoir à le compiler soi-même. Voici une ligne de commande utilisant le dossier courant comme dossier de configuration (où doit se trouver le fichier *config.yaml*).
{{< highlight "bash" >}}
docker run --rm --net=host --name dls \
-v /etc/ssl:/etc/ssl:ro \
-v /etc/ca-certificates:/etc/ca-certificates:ro \
-v .:/var/lib/direktil \
-v /dev:/dev \
--privileged \
-e http_proxy="$http_proxy" \
-e https_proxy="$https_proxy" \
-e HTTP_PROXY="$HTTP_PROXY" \
-e HTTPS_PROXY="$HTTPS_PROXY" \
novit.tech/direktil/local-server:latest
{{< / highlight >}}
### Secret-data
Dkl-local-server maintient un fichier **secret-data.json** qui sera créé dans le dossier data (par défaut **/var/lib/direktil**) s'il n'est pas trouvé durant un lancement, et qui contient toutes les données sensibles d'une configuration, à savoir :
- Certificats CA de clusters et leurs clés privées
- Certificats TLS clients/serveurs et leurs clés privées
- Clés de ServiceAccount
- Tokens (admin, bootstrap, keepalived, etc...)
{{% notice warning %}}
Ce fichier doit, dans l'idéal, être sauvegardé régulièrement et de façon securisée. Sa perte impliquerait la création de nouveaux certificats CA ce qui invaliderait toutes les connexions TLS déjà en place sur d'éventuelles machines en production.
{{% /notice %}}