1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: Apache-2.0
5 # install-arvados-cluster.yml - Ansible playbook to set up an Arvados cluster
7 # This playbook installs all services necessary for an Arvados cluster. It is
8 # still in early development, so it does not support all configurations or
9 # integrate with third-party services. Refer to
10 # `files/example-cluster-inventory.yml` for information about how to write
11 # configuration for this playbook.
13 - name: Bootstrap nodes
17 - name: Load Arvados configuration file
18 delegate_to: localhost
19 ansible.builtin.include_vars:
21 file: "{{ arvados_config_file }}"
22 - name: Load Arvados cluster configuration
23 ansible.builtin.set_fact:
24 arvados_cluster: "{{ arvados_config.Clusters[arvados_cluster_id] }}"
25 failed_when: arvados_cluster is undefined
26 - ansible.builtin.include_role:
27 name: distro_bootstrap
29 - name: Install PostgreSQL
30 hosts: arvados_postgresql
32 - ansible.builtin.include_role:
33 name: arvados_postgresql
35 - name: Set up Arvados database
36 hosts: arvados_postgresql,arvados_api
38 - ansible.builtin.include_role:
39 name: arvados_database
42 - name: Set up RailsAPI service(s)
46 - ansible.builtin.include_role:
49 - name: Set up API controller(s)
50 hosts: arvados_controller
53 - ansible.builtin.include_role:
54 name: arvados_controller
56 - name: Set up WebSocket server
57 hosts: arvados_websocket
60 - ansible.builtin.include_role:
61 name: arvados_websocket
63 - name: Set up keepstore(s)
64 hosts: arvados_keepstore
67 - ansible.builtin.include_role:
68 name: arvados_keepstore
70 - name: Set up keepproxy(ies)
71 hosts: arvados_keepproxy
74 - ansible.builtin.include_role:
75 name: arvados_keepproxy
77 - name: Set up keep-web(s)
78 hosts: arvados_keep_web
81 - ansible.builtin.include_role:
82 name: arvados_keep_web
84 - name: Set up Workbench(es)
85 hosts: arvados_workbench
88 - ansible.builtin.include_role:
89 name: arvados_workbench
91 - name: Set up shell node(s)
95 - ansible.builtin.include_role:
98 - name: Set up local dispatch nodes
99 hosts: arvados_dispatch_local
102 - ansible.builtin.include_role:
103 name: arvados_dispatch_local
105 - name: Set up cloud dispatcher(s)
106 hosts: arvados_dispatch_cloud
109 - ansible.builtin.include_role:
110 name: arvados_dispatch_cloud