hifis.rsd
Rol de Ansible: Directorio de Software de Investigación (RSD-as-a-service)
Configurando el Directorio de Software de Investigación usando Ansible.
Actualmente, las plataformas soportadas son:
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
Requisitos
docker
(Docker SDK para Python)docker-compose
Variables del Rol
rsd_dependencies
- Por defecto:
["docker", "docker-compose"]
- Descripción: Lista de módulos de python requeridos.
- Por defecto:
rsd_working_directory
- Por defecto:
"/opt/rsd"
- Descripción: La ruta donde se clonará el repositorio RSD.
- Por defecto:
rsd_version
- Por defecto:
"latest"
- Descripción: Qué versión de las imágenes de contenedor RSD-as-a-service desplegar (nombre de la etiqueta de imagen).
Si se usa
latest
, las imágenes de contenedor siempre se descargarán antes de iniciar la aplicación.
- Por defecto:
rsd_container_registry_path
- Por defecto:
"ghcr.io/hifis-net/rsd-saas"
- Descripción: Ruta al registro de contenedores desde donde se obtienen las imágenes.
- Por defecto:
rsd_environment_file
- Por defecto:
"rsd-secrets.env"
- Descripción: Archivo de entorno específico del inventario.
- Por defecto:
rsd_docker_compose_cmd
- Por defecto:
"docker-compose"
- Descripción: Comando de Docker Compose usado para validar docker-compose.yml.
- Por defecto:
rsd_docker_compose_template_file
- Por defecto:
"docker-compose.yml.j2"
- Descripción: Archivo plantilla para docker-compose.yml.
- Por defecto:
rsd_nginx_config_template
- Por defecto:
"nginx.conf.j2"
- Descripción: Archivo plantilla para la configuración de Nginx.
- Por defecto:
rsd_tls_cert_path
- Por defecto:
"/etc/ssl/certs/rsd.pem"
- Descripción: Ruta absoluta para el archivo del certificado TLS.
- Por defecto:
rsd_tls_key_path
- Por defecto:
"/etc/ssl/private/rsd.key"
- Descripción: Ruta absoluta para el archivo de clave TLS.
- Por defecto:
rsd_nginx_dhparam_file_path
- Por defecto:
"/etc/ssl/private/dhparam.pem"
- Descripción: Ruta absoluta para el archivo de parámetros DH.
- Por defecto:
rsd_swagger_enabled
- Por defecto:
false
- Descripción: Si Swagger está habilitado o no.
- Por defecto:
rsd_swagger_version
- Por defecto:
v4.15.0
- Descripción: versión de la imagen de Docker
swaggerapi/swagger-ui
.
- Por defecto:
rsd_prune_volumes
- Por defecto:
false
- Descripción: Establecer en
true
para eliminar volúmenes de datos de Docker (esto forzará la recreación del contenedor).
- Por defecto:
rsd_migrate_spotlights
- Por defecto:
false
- Descripción: Establecer en
true
para migrar los puntos destacados del software desde hifis.net al RSD (solo tema de Helmholtz).
- Por defecto:
rsd_spotlight_migration_image
- Por defecto:
"ghcr.io/hifis-net/rsd-spotlight-migration:v1.0.0"
- Descripción: Imagen de contenedor para la migración de puntos destacados de software.
- Por defecto:
Variables de Entorno RSD
rsd_compose_project_name
- Por defecto:
"rsd"
- Descripción: Define el nombre del proyecto Compose, si estás ejecutando diferentes versiones del RSD.
- Por defecto:
rsd_domain
- Por defecto:
"localhost"
- Descripción: Nombre de dominio bajo el cual debe ser accesible el RSD.
- Por defecto:
rsd_auth_providers
- Por defecto:
"SURFCONEXT;HELMHOLTZAAI"
- Descripción: Lista separada por punto y coma de proveedores de autenticación OpenID soportados.
- Por defecto:
rsd_admin_email_list
- Por defecto:
None
- Descripción: Lista separada por punto y coma de direcciones de correo electrónico de usuarios (coincidencia exacta incluyendo la capitalización) de administradores del RSD.
- Por defecto:
rsd_auth_user_mail_whitelist
- Por defecto:
None
- Descripción: Lista separada por punto y coma de direcciones de correo electrónico de usuarios que pueden iniciar sesión en el RSD.
- Por defecto:
rsd_hgfaai_client_id
- Por defecto:
"rsd-dev"
- Descripción: ID de cliente público de Helmholtz AAI.
- Por defecto:
rsd_hgfaai_client_secret
- Por defecto:
"changeme"
- Descripción: Secreto del cliente Helmholtz AAI.
- Por defecto:
rsd_hgfaai_well_known_url
- Por defecto:
"https://login-dev.helmholtz.de/oauth2/.well-known/openid-configuration"
- Descripción: URL bien conocida de Helmholtz AAI.
- Por defecto:
rsd_hgfaai_allow_external_users
- Por defecto:
false
- Descripción: Establecer en
true
para permitir usuarios de centros que no sean Helmholtz o de IdP sociales.
- Por defecto:
rsd_postgres_db_host
- Por defecto:
"database"
- Descripción: Nombre del host de la base de datos Postgres.
- Por defecto:
rsd_postgres_db_host_port
- Por defecto:
"5432"
- Descripción: Puerto del host de la base de datos Postgres.
- Por defecto:
rsd_postgres_db
- Por defecto:
"rsd-db"
- Descripción: Nombre de la base de datos Postgres.
- Por defecto:
rsd_postgres_user
- Por defecto:
"rsd"
- Descripción: Nombre de usuario de Postgres.
- Por defecto:
rsd_postgres_password
- Por defecto:
"changeme"
- Descripción: Contraseña de Postgres.
- Por defecto:
rsd_postgres_authenticator_password
- Por defecto:
"ChangeMe"
- Descripción: Contraseña del autenticador de Postgres usada por el backend (debería ser diferente de
rsd_postgres_password
).
- Por defecto:
rsd_max_requests_github
- Por defecto:
"6"
- Descripción: Número máximo de solicitudes a la API de GitHub por ejecución.
- Por defecto:
rsd_max_requests_gitlab
- Por defecto:
"6"
- Descripción: Número máximo de solicitudes a la API de GitLab por ejecución.
- Por defecto:
rsd_max_requests_doi
- Por defecto:
"6"
- Descripción: Número máximo de menciones a extraer por ejecución.
- Por defecto:
rsd_oaipmh_scraper_enabled
- Por defecto:
false
- Descripción: Establecer en
true
para habilitar el scraper oaipmh.
- Por defecto:
rsd_surfconext_client_secret
- Por defecto:
"changeme"
- Descripción: Secreto del cliente SurfConext.
- Por defecto:
rsd_gh_access_token
- Por defecto:
"changeme"
- Descripción: Token de acceso personal de GitHub.
- Por defecto:
rsd_jwt_secret
- Por defecto:
"changemeChangemeChangemeChangeme"
- Descripción: Secreto del token web JSON con al menos 32 caracteres para generar/verificar tokens.
- Por defecto:
rsd_zenodo_access_token
- Por defecto:
"changeme"
- Descripción: Token de acceso a Zenodo.
- Por defecto:
rsd_crossref_contact_email
- Por defecto:
""
- Descripción: Dirección de correo electrónico con la que Crossref puede contactarte para cumplir con su política "cortés".
- Por defecto:
rsd_matomo_url
- Por defecto:
""
- Descripción: URL de seguimiento (debe terminar con una barra diagonal final).
- Por defecto:
rsd_matomo_id
- Por defecto:
""
- Descripción: ID de Matomo para la URL de seguimiento correspondiente.
- Por defecto:
Dependencias
El Directorio de Software de Investigación requiere que docker
y docker-compose
estén disponibles en el sistema. Este rol se ha utilizado con éxito junto con los siguientes roles de Ansible:
- Docker - geerlingguy.docker
- Pip - geerlingguy.pip
Ejemplo de Playbook
- hosts: servers
roles:
- { role: hifis.rsd }
Licencia
Información del Autor
Este rol fue creado por HIFIS Software Services.
Colaboradores
Nos gustaría agradecer y dar crédito a los siguientes colaboradores de este proyecto:
Acerca del proyecto
Set up the Research Software Directory (RSD-as-a-service)
Instalar
ansible-galaxy install hifis.rsd
Licencia
other
Descargas
909
Propietario
Helmholtz Digital Services for Science — Collaboration made easy.