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

O projekcie

A ansible role to automatically deploy a node as a teleport instance

Zainstaluj
ansible-galaxy install jamdoog.teleport
Licencja
bsd-3-clause
Pobrania
1.2k
Właściciel