enix.teleport

enix.teleport

Un rol para desplegar y configurar teleport y extensiones en hosts unix utilizando Ansible.

[!WARNING] Este rol de Ansible ya no se mantiene y el proyecto ahora es de solo lectura. Gracias.

Requisitos

Plataformas soportadas:

  • Ubuntu 18.04 "Bionic"
  • Ubuntu 20.04 "Focal"
  • Ubuntu 22.04 "Jammy"
  • Debian 7 "Wheezy"
  • Debian 8 "Jessie"
  • Debian 9 "Stretch"
  • Debian 10 "Buster"
  • Debian 11 "Bullseye"
  • Debian 12 "Bookworm"

Variables del Rol

Este rol viene precargado con casi todos los valores predeterminados disponibles. Puedes sobreescribir cada uno en las variables de tus hosts/grupos, en tu inventario o en tu playbook. Consulta los valores predeterminados anotados en defaults/main.yml para obtener ayuda en la configuración. Todas las variables proporcionadas comienzan con teleport__.

  • teleport__version: 10 - Versión principal del binario a instalar y mantener, la versión del repositorio predeterminado es 8. Disponibles ahora: 8, 9, 10, 11.
  • teleport__agent: false - Configurar y habilitar el software del agente de teleport.
  • teleport__bind_addr: 0.0.0.0 - Dirección de enlace utilizada para configurar todas las demás direcciones de enlace.
  • teleport__nodename - Nombre con el que el agente de teleport se reporta a su proxy conectado. Si no se define, no se configurará ningún nombre de nodo y Teleport utilizará el nombre del host de la máquina.
  • teleport__diag: false - Habilitar el endpoint de monitoreo HTTP de teleport.
  • teleport__diag_addr: "127.0.0.1" - Dirección de enlace para el endpoint de monitoreo HTTP.
  • teleport__diag_port: 3000 - Puerto para el endpoint de monitoreo HTTP.
  • teleport__node: false - Configurar y habilitar el rol de nodo de teleport.
  • teleport__node_token: "" - Token utilizado para unirse al proxy.
  • teleport__node_server: "" - URL del servidor proxy.
  • teleport__proxy: false - Habilitar el modo proxy en teleport.
  • teleport__proxy_public_addr: "" - Dirección pública que expone el proxy.
  • teleport__proxy_acme: false - Habilitar el protocolo ACME para certificado público. Cuando está deshabilitado, Teleport buscará el certificado en /etc/letsencrypt/live/{{ teleport__proxy_public_addr }}
  • teleport__proxy_acme_email: "" - Email para la solicitud ACME.
  • teleport__auth: false - Habilitar el rol de autenticación de teleport.
  • teleport__auth_cluster_name: "" - Nombre del clúster de autenticación de teleport.
  • teleport__auth_u2f: false - Habilitar U2F (configuración no webauthn de estilo antiguo).
  • teleport__auth_addr: {{ teleport__bind_addr }} - Dirección de enlace para el servicio de autenticación de teleport.
  • teleport__auth_port: 3025 - Puerto para el servicio de autenticación de teleport.
  • teleport__ssh_addr: {{ teleport__bind_addr }} - Dirección de enlace para el servicio SSH de teleport.
  • teleport__ssh_port: 3022 - Puerto para el servicio SSH de teleport.
  • teleport__ssh: false - Habilitar el módulo SSH de teleport.
  • teleport__ssh_labels: '' - Agregar etiquetas al módulo SSH (formato yaml).
  • teleport__ssh_pam_enabled: true - Habilitar PAM.
  • teleport__ssh_pam_service: 'sshd' - Nombre del servicio PAM.
  • teleport__app: false - Habilitar el módulo de aplicación de teleport.
  • teleport_applications: [] - Lista de aplicaciones, definidas como un diccionario con las siguientes claves:
    • name - Nombre de la aplicación.
    • uri - URI para la reversa del proxy.
    • skip_verify: false - Si se debe omitir la verificación del certificado en la URI de destino.
  • teleport__web_addr: {{ teleport__bind_addr }} - Dirección de enlace para el servicio web de teleport.
  • teleport__web_port: 443 - Puerto para el servicio web de teleport.
  • teleport__tunnel_addr: {{ teleport__bind_addr }} - Dirección de enlace para el servicio de túnel.
  • teleport__tunnel_port: 3024 - Puerto para el servicio de túnel de teleport.
  • teleport__binary_compat: false - Si es verdadero, desplegará una versión binaria junto con el paquete con más compatibilidad de glibc. (Hecho automáticamente en las versiones debian anteriores a buster (10)).
  • teleport__install_repo: true - Configúralo en falso si deseas evitar la instalación del repositorio (útil para entornos aislados - instala manualmente y luego usa este rol para configurar todo).

Dependencias

  • Ninguna

Uso

Usa Ansible galaxy requirements.yml

# teleport de enix
# rol privado
- src: git+ssh://[email protected]/ansible/ansible-teleport.git
  name: enix.teleport

Y añádelo a los roles de tu playbook:

# Ejemplo de nodo
    - hosts: all
      roles:
        - role enix.teleport:
            teleport__agent: true
            teleport__version: 9
            teleport__nodename: "test.node"
            teleport__node: true
            teleport__node_token: "gjlksfdjglkfsdjlkgfds9423"
            teleport__node_server: "https://toto.tp.com:3025"
            teleport__ssh: true
            teleport__ssh_labels:
              tenant: toto.com
# Ejemplo de Proxy
    - hosts: all
      roles:
        - role enix.teleport:
            teleport__agent: true
            teleport__version: 10
            teleport__nodename: "toto.proxy"
            teleport__proxy: true
            teleport__proxy_public_addr: "toto.tp.com"
            teleport__proxy_acme: false
            teleport__proxy_acme_email: "[email protected]"
            teleport__auth: true
            teleport__auth_cluster_name: "toto.tp.com"
            teleport__ssh: true
            teleport__ssh_labels:
              tenant: toto.com

Registro de Cambios

1.9.1

Agregar soporte para PAM.

1.9.0

Corregir problema con package UnHold. Cambiar la versión predeterminada a 10. Agregar pruebas molecule.

1.8.2

Soporte para VyOS. Permitir sobrescribir ansible_distribution en la URL del repositorio APT.

1.8.1

Agregar etiqueta de Ansible config.

1.8.0

Hacer que el nombre de nodo sea opcional (Teleport utilizará el nombre del host por defecto).

1.7.1

Corregir mensaje de error cuando el objetivo no es similar a debian. Usar un nuevo método de verificación de firma de paquete cuando sea aplicable, y limpiar la gestión de repositorios.

1.7.0

Agregar soporte para configuración de estilo antiguo U2F (no webauthn).

1.6.1

Corregir configuración duplicada de diag.

1.6.0

Agregar soporte para el endpoint HTTP diag.

1.5.2

Corregir error de linting en YAML.

1.5.1

Cambio estético en la plantilla teleport.yaml para evitar diferencias innecesarias.

1.5.0

Soporte para servicio de aplicación.

1.4.0

Soporte para certificados LE generados fuera de teleport (ACME deshabilitado).

1.3.1

Corregir falta de barra inclinada al final en el repositorio legado de debian.

1.3.0

Agregar soporte para actualizaciones de teleport usando teleport (el manejador esperará a que la conexión esté activa). Forzar la eliminación del repositorio APT antiguo. Actualizar automáticamente el paquete de teleport si hay una versión más nueva disponible.

1.2.0

Agregar soporte para dirección de enlace de proxy.

1.1.0

Revertir al repositorio debian de teleport con versiones principales.

1.0.0

Usar el repositorio debian de Enix por defecto.

0.9.2

Actualizar la versión del binario compatible a 8.3.8.

0.9.1

Agregar compatibilidad con binario de centos 6 (debian 8 jessie).

0.9.0

Versión inicial.

Licencia

GPLv2

Información del Autor

Laurent Corbes laurent.corbes@enix.fr - http://www.enix.io

Acerca del proyecto

Ansible role to deploy teleport software

Instalar
ansible-galaxy install enix.teleport
Licencia
Unknown
Descargas
924
Propietario
Enix