hifis.rsd
Ansible 角色: 研究软件目录 (RSD-as-a-service)
使用 Ansible 设置 研究软件目录。
当前支持的平台有:
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
要求
docker
(Docker Python SDK)docker-compose
角色变量
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"
- 描述: 定义 Compose 项目名称,如果您运行不同版本的 RSD。
- 默认值:
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。
- 默认值:
依赖
研究软件目录需要系统上可用 docker
和 docker-compose
。此角色已与以下 Ansible 角色成功一起使用:
- Docker - geerlingguy.docker
- Pip - geerlingguy.pip
示例剧本
- hosts: servers
roles:
- { role: hifis.rsd }
许可
作者信息
此角色由 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.