docs/content/cli/dkl-local-server.md
2023-05-29 10:57:36 +02:00

63 lines
2.6 KiB
Markdown

---
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.
---
## 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 %}}