hifis.rsd

Ansible 角色: 研究软件目录 (RSD-as-a-service)

CI 状态 Ansible 角色: hifis.unattended_upgrades Ansible 质量评分 Ansible 角色下载量 DOI

使用 Ansible 设置 研究软件目录

当前支持的平台有:

  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS

要求

角色变量

  • rsd_dependencies
    • 默认值: ["docker", "docker-compose"]
    • 描述: 所需 Python 模块列表。
  • rsd_working_directory
    • 默认值: "/opt/rsd"
    • 描述: RSD 仓库的检出路径。
  • rsd_version
    • 默认值: "latest"
    • 描述: 要部署的 RSD-as-a-service 容器镜像版本(镜像标签名)。 如果使用latest,在启动应用程序之前将始终拉取容器镜像。
  • rsd_container_registry_path
    • 默认值: "ghcr.io/hifis-net/rsd-saas"
    • 描述: 镜像拉取的容器注册表路径。
  • rsd_environment_file
    • 默认值: "rsd-secrets.env"
    • 描述: 特定于清单的环境文件。
  • rsd_docker_compose_cmd
    • 默认值: "docker-compose"
    • 描述: 用于验证 docker-compose.yml 的 Docker Compose 命令。
  • rsd_docker_compose_template_file
    • 默认值: "docker-compose.yml.j2"
    • 描述: docker-compose.yml 的模板文件。
  • rsd_nginx_config_template
    • 默认值: "nginx.conf.j2"
    • 描述: Nginx 配置的模板文件。
  • rsd_tls_cert_path
    • 默认值: "/etc/ssl/certs/rsd.pem"
    • 描述: TLS 证书文件的绝对目标路径。
  • rsd_tls_key_path
    • 默认值: "/etc/ssl/private/rsd.key"
    • 描述: TLS 密钥文件的绝对目标路径。
  • rsd_nginx_dhparam_file_path
    • 默认值: "/etc/ssl/private/dhparam.pem"
    • 描述: DH 参数文件的绝对目标路径。
  • rsd_swagger_enabled
    • 默认值: false
    • 描述: Swagger 是否启用。
  • rsd_swagger_version
    • 默认值: v4.15.0
    • 描述: Docker 镜像 swaggerapi/swagger-ui 的版本。
  • rsd_prune_volumes
    • 默认值: false
    • 描述: 设置为 true 以删除 Docker 数据卷(这将强制重新创建容器)。
  • rsd_migrate_spotlights
    • 默认值: false
    • 描述: 设置为 true 以将软件聚焦从 hifis.net 迁移到 RSD(仅限于亥姆霍兹主题)。
  • rsd_spotlight_migration_image
    • 默认值: "ghcr.io/hifis-net/rsd-spotlight-migration:v1.0.0"
    • 描述: 用于软件聚焦迁移的容器镜像。

RSD 环境变量

  • rsd_compose_project_name
  • rsd_domain
    • 默认值: "localhost"
    • 描述: RSD 应可访问的域名。
  • rsd_auth_providers
    • 默认值: "SURFCONEXT;HELMHOLTZAAI"
    • 描述: 支持的 OpenID 认证提供者的用分号分隔的列表。
  • rsd_admin_email_list
    • 默认值: None
    • 描述: RSD 管理员用户的电子邮件地址(完全匹配,包括字母大小写)的分号分隔列表。
  • rsd_auth_user_mail_whitelist
    • 默认值: None
    • 描述: 被允许登录 RSD 的用户电子邮件地址的分号分隔列表。
  • rsd_hgfaai_client_id
    • 默认值: "rsd-dev"
    • 描述: 公共亥姆霍兹 AAI 客户端 ID。
  • rsd_hgfaai_client_secret
    • 默认值: "changeme"
    • 描述: 亥姆霍兹 AAI 客户端密钥。
  • rsd_hgfaai_well_known_url
    • 默认值: "https://login-dev.helmholtz.de/oauth2/.well-known/openid-configuration"
    • 描述: 亥姆霍兹 AAI 的已知 URL。
  • rsd_hgfaai_allow_external_users
    • 默认值: false
    • 描述: 设置为 true 以允许非亥姆霍兹中心或社交身份提供者的用户。
  • rsd_postgres_db_host
    • 默认值: "database"
    • 描述: PostgreSQL 数据库主机名。
  • rsd_postgres_db_host_port
    • 默认值: "5432"
    • 描述: PostgreSQL 数据库主机端口。
  • rsd_postgres_db
    • 默认值: "rsd-db"
    • 描述: PostgreSQL 数据库名称。
  • rsd_postgres_user
    • 默认值: "rsd"
    • 描述: PostgreSQL 用户名。
  • rsd_postgres_password
    • 默认值: "changeme"
    • 描述: PostgreSQL 密码。
  • rsd_postgres_authenticator_password
    • 默认值: "ChangeMe"
    • 描述: 后端使用的 PostgreSQL 验证密码(应与 rsd_postgres_password 不同)。
  • rsd_max_requests_github
    • 默认值: "6"
    • 描述: 每次运行对 GitHub API 的最大请求数。
  • rsd_max_requests_gitlab
    • 默认值: "6"
    • 描述: 每次运行对 GitLab API 的最大请求数。
  • rsd_max_requests_doi
    • 默认值: "6"
    • 描述: 每次运行要抓取的提及数最大值。
  • rsd_oaipmh_scraper_enabled
    • 默认值: false
    • 描述: 设置为 true 以启用 oaipmh 抓取器。
  • rsd_surfconext_client_secret
    • 默认值: "changeme"
    • 描述: SurfConext 客户端密钥。
  • rsd_gh_access_token
    • 默认值: "changeme"
    • 描述: GitHub 个人访问令牌。
  • rsd_jwt_secret
    • 默认值: "changemeChangemeChangemeChangeme"
    • 描述: JSON Web Token 密钥,至少 32 个字符,用于生成/验证令牌。
  • rsd_zenodo_access_token
    • 默认值: "changeme"
    • 描述: Zenodo 访问令牌。
  • rsd_crossref_contact_email
    • 默认值: ""
    • 描述: Crossref 可以联系的电子邮件地址,以遵守他们的“礼貌”政策。
  • rsd_matomo_url
    • 默认值: ""
    • 描述: 跟踪 URL(应以斜杠结尾)
  • rsd_matomo_id
    • 默认值: ""
    • 描述: 与相应跟踪 URL 相关的 Matomo ID。

依赖

研究软件目录需要系统上可用 dockerdocker-compose。此角色已与以下 Ansible 角色成功一起使用:

示例剧本

- hosts: servers
  roles:
     - { role: hifis.rsd }

许可

Apache-2.0

作者信息

此角色由 HIFIS 软件服务 创建。

贡献者

我们要感谢并向以下项目贡献者致以敬意:

关于项目

Set up the Research Software Directory (RSD-as-a-service)

安装
ansible-galaxy install hifis.rsd
许可证
other
下载
909
拥有者
Helmholtz Digital Services for Science — Collaboration made easy.