W tym rozdziale przedstawię, jak stworzyć usługę, która będzie dostępna publicznie w Internecie.
## Tworzenie kopii ldapweb
Zaczynamy od włączenia środowiska nix-shell:
```bash
cd hscloud
nix-shell
```
Zaczynamy w katalogu `hscloud`, z włączonym środowiskiem `nix-shell`. Jeśli w folderze `//personal` jeszcze nie masz swojej przestrzeni nazw, to ją tworzymy:
```bash
mkdir personal/$hs_username
```
Kopiujemy do przestrzeni roboczej konfigurację usługi `ldapweb`:
```bash
cp -r hswaw/ldapweb/ personal/$hs_username/
cd personal/$hs_username/ldapweb/
```
## Modyfikacja usługi
Konfiguracja `ldapweb` zawiera się w pliku `prod.jsonnet`. Format `jsonnet` jest bardzo podobny do `json`, ale pozwala na użycie zmiennych, funkcji oraz importowanie innych plików.
Import następuje z pliku `kube.libsonnet` w folderze `kube` w folderze `hscloud`. Aby w tym wypadku import przebiegał poprawnie, potrzebujemy cofnąć się o jeden folder więcej: `../../../kube/kube.libsonnet`.
Konfiguracja `hscloud` pozwala na przestrzeń nazw jedynie w formacie `personal-$hs_username`. Dodatkowo, musimy zmienić domenę na `*.$hs_username.hscloud.ovh`. Na końcu, zmieniamy nazwę usługi na `test`.
Nasza usługa powinna być pod adresem `https://test.$hs_username.hscloud.ovh/`. W trakcie pierwszych paru minut dostaniemy informację o niepoprawnym certyfikacie, ponieważ usługa Let's Encrypt nie zdążyła jeszcze wygenerować certyfikatu dla naszej domeny.