jamdoog.teleport
Rola Ansible: Teleport
Ta rola zainstaluje Teleport na danym serwerze.
Co to robi:
Możesz skonfigurować, które części implementacji Teleport chcesz za pomocą zmiennych.
- Zainstaluj Teleport za pomocą DEB/RPM z weryfikacją GPG
- Zainstaluj Teleport z archiwum tarball z weryfikacją GPG (dla systemów bez apt/rpm)
- Automatycznie zapisz jako węzeł dla SSH
- Automatycznie wdrażaj "komendy"/etykiety dla SSH i aplikacji, takie jak wersjonowanie jądra, Teleport i inne
- Automatycznie generuj token zaproszenia
Wymagania
System działający na systemd To zostało przetestowane tylko na:
Debian 10/11 RHEL 7/8/9 openSUSE 15.0/1/2/3/Tumbleweed
Jak działa generowanie tokenów:
- Generuje token za pomocą komendy tctl w formacie JSON
- Wydobywa token
- Aktualizuje zmienną "INVITE_TOKEN"
Jak używać funkcji generowania tokenów:
- Uzupełnij następujące zmienne:
GENERATE_TOKEN: true # Wymagane do rozpoczęcia generowania tokenu GENERATE_TOKEN_COMBO: true # Jeśli chcesz wygenerować zarówno token aplikacji, jak i węzła. Nie używaj w połączeniu z poniższymi zmiennymi "GENERATE_TOKEN_<....>_ONLY". GENERATE_TOKEN_SSH_ONLY: false # Jeśli chcesz wygenerować tylko token węzła GENERATE_TOKEN_APP_ONLY: false # Jeśli chcesz wygenerować tylko token aplikacji TELEPORT_TOKEN_HOST: "Jump" # Host (przez SSH), na którym tctl będzie działać TOKEN_TTL: "2m" # TTL (czas życia) tokenu.
Zmienne roli
Zmienne grupy:
Nazwa | Typ | Przykład |
---|---|---|
INVITE_TOKEN | string | 4f622402dawdawdaw |
CA_PIN | string | sha256:2awdwadwad678767awd768awdd |
TELEPORT_HOST | string | teleport.domain.tld:443 |
TELEPORT_MAJOR_VERSION | INT | 10 |
TELEPORT_MINOR_VERSION | FLOAT | 3.5 |
GENERATE_TOKEN | bool | true |
GENERATE_TOKEN_COMBO | bool | true |
GENERATE_TOKEN_SSH_ONLY | bool | false |
GENERATE_TOKEN_APP_ONLY | bool | false |
TELEPORT_TOKEN_HOST | string | "Jump" |
TOKEN_TTL | string | "10m" |
Zmienne hosta:
Nazwa | Typ | Przykład |
---|---|---|
SSH_SERVICE | bool | true |
APP_SERVICE | bool | true |
CREATE_SSH_COMMANDS | bool | true |
CREATE_APP_COMMANDS | bool | true |
CREATE_COMMAND | bool | true |
CREATE_OS_COMMAND | bool | true |
CREATE_KERNEL_COMMAND | bool | true |
CREATE_TELEPORT_COMMAND | bool | true |
CREATE_HOSTNAME_COMMAND | bool | true |
CREATE_VIRTUALIZATION_COMMAND | bool | true |
TELEPORT_APPLICATION_NAME | string | proxmox |
TELEPORT_APPLICATION_IGNORE_TLS | string | true |
TELEPORT_APPLICATION_URI | string | https://192.168.200.1:8006 |
Zależności
Nie ma zależności dla tej roli
Przykładowy Playbook
PLAYBOOK (BEZ GENEROWANEGO TOKENU):
- hosts: teleport
become: true
roles:
- jamdoog.teleport
vars:
- INVITE_TOKEN: 4f622402dawdawdaw
- CA_PIN: sha256:2awdwadwad678767awd768awdd
- TELEPORT_HOST: domain.tld:443
- TELEPORT_MINOR_VERSION: 3.2
- TELEPORT_MAJOR_VERSION: 10
- SSH_SERVICE: true
- APP_SERVICE: true
- CREATE_COMMANDS: true
- CREATE_HOSTNAME_COMMAND: true
- CREATE_OS_COMMAND: true
- CREATE_KERNEL_COMMAND: true
- CREATE_TELEPORT_COMMAND: true
- CREATE_VIRTUALIZATION_COMMAND: true
- TELEPORT_APPLICATION_NAME: "proxmox"
- TELEPORT_APPLICATION_IGNORE_TLS: true
- TELEPORT_APPLICATION_URI: "https://192.168.200.1:8006"
PLAYBOOK (GENEROWANY TOKEN):
- hosts: teleport
become: true
roles:
- jamdoog.teleport
vars:
- GENERATE_TOKEN: true
- GENERATE_TOKEN_COMBO: true
- GENERATE_TOKEN_SSH_ONLY: false
- GENERATE_TOKEN_APP_ONLY: false
- TELEPORT_TOKEN_HOST: "Jump"
- TOKEN_TTL: "2m"
- CA_PIN: sha256:2awdwadwad678767awd768awdd
- TELEPORT_HOST: domain.tld:443
- TELEPORT_MINOR_VERSION: 3.2
- TELEPORT_MAJOR_VERSION: 10
- SSH_SERVICE: true
- APP_SERVICE: true
- CREATE_COMMANDS: true
- CREATE_HOSTNAME_COMMAND: true
- CREATE_OS_COMMAND: true
- CREATE_KERNEL_COMMAND: true
- CREATE_TELEPORT_COMMAND: true
- CREATE_VIRTUALIZATION_COMMAND: true
- TELEPORT_APPLICATION_NAME: "proxmox"
- TELEPORT_APPLICATION_IGNORE_TLS: true
- TELEPORT_APPLICATION_URI: "https://192.168.200.1:8006"
Licencja
BSD
Informacje o autorze
Ta rola została stworzona przez Jamesa Ledgera, piszę o różnych rzeczach na https://jamesledger.net
A ansible role to automatically deploy a node as a teleport instance
ansible-galaxy install jamdoog.teleport