hifis.rsd
Ansible Rolle: Forschungssoftware Verzeichnis (RSD-als-Dienst)
Einrichten des Forschungssoftwareverzeichnisses mit Ansible.
Derzeit unterstützte Plattformen sind:
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
Anforderungen
docker(Docker SDK für Python)docker-compose
Rollenvariablen
rsd_dependencies- Standard:
["docker", "docker-compose"] - Beschreibung: Liste der erforderlichen Python-Module.
- Standard:
rsd_working_directory- Standard:
"/opt/rsd" - Beschreibung: Der Pfad, an dem das RSD-Repository ausgecheckt wird.
- Standard:
rsd_version- Standard:
"latest" - Beschreibung: Welche Version der RSD-als-Dienst-Containerbilder bereitgestellt werden soll (Bild-Tag-Name).
Wenn
latestverwendet wird, werden die Containerbilder immer vor dem Start der Anwendung heruntergeladen.
- Standard:
rsd_container_registry_path- Standard:
"ghcr.io/hifis-net/rsd-saas" - Beschreibung: Pfad zum Container-Registry, von wo die Bilder heruntergeladen werden.
- Standard:
rsd_environment_file- Standard:
"rsd-secrets.env" - Beschreibung: Umgebungsspezifische Inventardatei.
- Standard:
rsd_docker_compose_cmd- Standard:
"docker-compose" - Beschreibung: Docker Compose-Befehl zur Validierung von docker-compose.yml.
- Standard:
rsd_docker_compose_template_file- Standard:
"docker-compose.yml.j2" - Beschreibung: Vorlage für docker-compose.yml.
- Standard:
rsd_nginx_config_template- Standard:
"nginx.conf.j2" - Beschreibung: Vorlage für die Nginx-Konfiguration.
- Standard:
rsd_tls_cert_path- Standard:
"/etc/ssl/certs/rsd.pem" - Beschreibung: Absoluter Zielpfad für die TLS-Zertifikatdatei.
- Standard:
rsd_tls_key_path- Standard:
"/etc/ssl/private/rsd.key" - Beschreibung: Absoluter Zielpfad für die TLS-Schlüsseldatei.
- Standard:
rsd_nginx_dhparam_file_path- Standard:
"/etc/ssl/private/dhparam.pem" - Beschreibung: Absoluter Zielpfad für die DH-Parameterdatei.
- Standard:
rsd_swagger_enabled- Standard:
false - Beschreibung: Ob Swagger aktiviert ist oder nicht.
- Standard:
rsd_swagger_version- Standard:
v4.15.0 - Beschreibung: Version des Docker-Images
swaggerapi/swagger-ui.
- Standard:
rsd_prune_volumes- Standard:
false - Beschreibung: Auf
truesetzen, um Docker-Datenvolumes zu entfernen (dies zwingt zur Neuinstallation der Container).
- Standard:
rsd_migrate_spotlights- Standard:
false - Beschreibung: Auf
truesetzen, um die Software-Spotlights von hifis.net in das RSD zu migrieren (nur Helmholtz-Theme).
- Standard:
rsd_spotlight_migration_image- Standard:
"ghcr.io/hifis-net/rsd-spotlight-migration:v1.0.0" - Beschreibung: Container-Image für die Migration von Software-Spotlights.
- Standard:
RSD-Umgebungsvariablen
rsd_compose_project_name- Standard:
"rsd" - Beschreibung: Definiert den Compose-Projektnamen, falls Sie verschiedene Versionen des RSD ausführen.
- Standard:
rsd_domain- Standard:
"localhost" - Beschreibung: Domainname, unter der das RSD zugänglich sein soll.
- Standard:
rsd_auth_providers- Standard:
"SURFCONEXT;HELMHOLTZAAI" - Beschreibung: Durch Semikolons getrennte Liste der unterstützten OpenID-Auth-Anbieter.
- Standard:
rsd_admin_email_list- Standard:
None - Beschreibung: Durch Semikolons getrennte Liste von Benutzer-E-Mail-Adressen (exakte Übereinstimmung einschließlich Groß- und Kleinschreibung) der RSD-Administratoren.
- Standard:
rsd_auth_user_mail_whitelist- Standard:
None - Beschreibung: Durch Semikolons getrennte Liste von Benutzer-E-Mail-Adressen, die sich in das RSD einloggen dürfen.
- Standard:
rsd_hgfaai_client_id- Standard:
"rsd-dev" - Beschreibung: Öffentliche Helmholtz AAI-Client-ID.
- Standard:
rsd_hgfaai_client_secret- Standard:
"changeme" - Beschreibung: Helmholtz AAI-Client-Geheimnis.
- Standard:
rsd_hgfaai_well_known_url- Standard:
"https://login-dev.helmholtz.de/oauth2/.well-known/openid-configuration" - Beschreibung: Wohlbekannte URL des Helmholtz AAI.
- Standard:
rsd_hgfaai_allow_external_users- Standard:
false - Beschreibung: Auf
truesetzen, um Benutzern von Nicht-Helmholtz-Zentren oder sozialen IdPs zu erlauben.
- Standard:
rsd_postgres_db_host- Standard:
"database" - Beschreibung: Postgres-Datenbank-Hostname.
- Standard:
rsd_postgres_db_host_port- Standard:
"5432" - Beschreibung: Postgres-Datenbank-Hostport.
- Standard:
rsd_postgres_db- Standard:
"rsd-db" - Beschreibung: Postgres-Datenbankname.
- Standard:
rsd_postgres_user- Standard:
"rsd" - Beschreibung: Postgres-Benutzername.
- Standard:
rsd_postgres_password- Standard:
"changeme" - Beschreibung: Postgres-Passwort.
- Standard:
rsd_postgres_authenticator_password- Standard:
"ChangeMe" - Beschreibung: Postgres-Authentifizierer-Passwort, das vom Backend verwendet wird (sollte sich vom
rsd_postgres_passwordunterscheiden).
- Standard:
rsd_max_requests_github- Standard:
"6" - Beschreibung: Maximale Anzahl von Anfragen an die GitHub-API pro Ausführung.
- Standard:
rsd_max_requests_gitlab- Standard:
"6" - Beschreibung: Maximale Anzahl von Anfragen an die GitLab-API pro Ausführung.
- Standard:
rsd_max_requests_doi- Standard:
"6" - Beschreibung: Maximale Anzahl von Erwähnungen, die pro Ausführung gesammelt werden sollen.
- Standard:
rsd_oaipmh_scraper_enabled- Standard:
false - Beschreibung: Auf
truesetzen, um den OAI-PMH-Scraper zu aktivieren.
- Standard:
rsd_surfconext_client_secret- Standard:
"changeme" - Beschreibung: SurfConext-Client-Geheimnis.
- Standard:
rsd_gh_access_token- Standard:
"changeme" - Beschreibung: GitHub-Personen-Zugriffstoken.
- Standard:
rsd_jwt_secret- Standard:
"changemeChangemeChangemeChangeme" - Beschreibung: Geheimes Schlüsselwort für JSON-Web-Tokens mit mindestens 32 Zeichen, um Tokens zu generieren/überprüfen.
- Standard:
rsd_zenodo_access_token- Standard:
"changeme" - Beschreibung: Zenodo-Zugriffstoken.
- Standard:
rsd_crossref_contact_email- Standard:
"" - Beschreibung: E-Mail-Adresse, unter der Crossref Sie kontaktieren kann, um deren "höfliche" Richtlinie einzuhalten.
- Standard:
rsd_matomo_url- Standard:
"" - Beschreibung: Tracking-URL (sollte mit einem Schrägstrich enden)
- Standard:
rsd_matomo_id- Standard:
"" - Beschreibung: Matomo-ID für die entsprechende Tracking-URL.
- Standard:
Abhängigkeiten
Das Forschungssoftwareverzeichnis benötigt docker und docker-compose,
um auf dem System verfügbar zu sein. Diese Rolle wurde erfolgreich zusammen mit den folgenden Ansible-Rollen verwendet:
- Docker - geerlingguy.docker
- Pip - geerlingguy.pip
Beispiel-Playbook
- hosts: servers
roles:
- { role: hifis.rsd }
Lizenz
Autor Informationen
Diese Rolle wurde von HIFIS Software Services erstellt.
Mitwirkende
Wir möchten den folgenden Mitwirkenden dieses Projekts danken und Anerkennung zollen:
Über das Projekt
Set up the Research Software Directory (RSD-as-a-service)
Installieren
ansible-galaxy install hifis.rsdLizenz
other
Downloads
916
Besitzer
Helmholtz Digital Services for Science — Collaboration made easy.
