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
latest
verwendet 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
true
setzen, um Docker-Datenvolumes zu entfernen (dies zwingt zur Neuinstallation der Container).
- Standard:
rsd_migrate_spotlights
- Standard:
false
- Beschreibung: Auf
true
setzen, 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
true
setzen, 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_password
unterscheiden).
- 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
true
setzen, 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.rsd
Lizenz
other
Downloads
909
Besitzer
Helmholtz Digital Services for Science — Collaboration made easy.