]> git.arvados.org - arvados.git/blob - tools/ansible/examples/full-cluster-inventory.yml
20311: Include CWL schemas in Python packages
[arvados.git] / tools / ansible / examples / full-cluster-inventory.yml
1 ### Example inventory for install-arvados-cluster.yml ###
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: Apache-2.0
5 #
6 # This file illustrates host groups you can deploy with
7 # install-arvados-cluster.yml and variables you can use to customize
8 # the deployment. Copy this file somewhere else, edit it following the
9 # comments, and run the installer like:
10 #   $ ansible-playbook -Ki YOUR-INVENTORY.yml install-arvados-cluster.yml
11
12 ### Core cluster configuration settings ###
13 all:
14   vars:
15     # To deploy a cluster, you must write a cluster configuration file and have
16     # a copy on the node where you run the Ansible installer. This file will be
17     # deployed to cluster hosts as needed and read by the Ansible installer for
18     # service configuration.
19     # Refer to <https://doc.arvados.org/admin/config.html> for details.
20     arvados_config_file: /PATH/TO/arvados/config.yml
21
22     # This is the cluster identifier (five lowercase alphanumerics) for the
23     # cluster configured in `arvados_config_file` that you want to deploy.
24     arvados_cluster_id: xurid
25     
26     # If specified, this file will be deployed to cluster hosts as
27     # /etc/arvados/ca-certificates.crt. Arvados services use this file as a
28     # source of trusted CA certificates.
29     #arvados_certificates_file: /PATH/TO/ca-certificates.crt
30
31     # `arvados_tls` defines the source of the TLS certificate for each Arvados
32     # service. Each key corresponds to a key in the `Services` section of your
33     # cluster configuration.
34     arvados_tls:
35       Controller:
36         cert: /PATH/TO/controller.pem
37         key: /PATH/TO/controller.key
38         # Set `remote` to `true` if the `cert` and `key` files already exist on
39         # the hosts running this service (for example, because they're already
40         # deployed by another service).
41         remote: false
42       # Settings from this `Default` section will be used for any service that
43       # does not have a specific configuration in `arvados_tls`. This is handy
44       # to use if you have a wildcard certificate that can be used by most/all
45       # of your cluster services.
46       #Default:
47       #  cert: /PATH/TO/arvados-cluster.pem
48       #  key: /PATH/TO/arvados-cluster.key
49       #  remote: false
50
51     # `arvados_nginx_internal_networks` is a map of netmasks that should be
52     # considered "internal" to the Arvados cluster. For each netmask key, if its
53     # value is the literal `false`, it will be considered external. *Any* other
54     # value will cause the netmask to be considered internal.
55     #arvados_nginx_internal_networks:
56     #  "10.0.0.0/8": true
57     #  "172.16.0.0/12": true
58     #  "192.168.0.0/16: true
59
60     # `arvados_nginx_server_names` defines additional server name(s) for
61     # individual services beyond what's in the service's `ExternalURL` in the
62     # cluster configuration. The service's nginx front-end will be configured
63     # to recognize all listed server names. Each key corresponds to a key in
64     # `Services` section of your cluster configuration.
65     #arvados_nginx_server_names:
66     #  Controller:
67     #    - arvados.example
68     #    - api.arvados.example
69
70     # `arvados_apt_periodic_default` defines the number of days that periodic
71     # apt tasks like unattended upgrades should run. Set this to `0` to disable
72     # periodic tasks.
73     #arvados_apt_periodic_default: 1
74     # If you need more advanced control, `arvados_apt_periodic` can set separate
75     # values for different periodic settings. Refer to
76     # `roles/distro_apt/defaults/main.yml`.
77
78
79 ### Host groups for core Arvados services ###
80 # Most Arvados clusters will have at least one host in each of these groups.
81 # It's normal to have the same host in multiple groups. For example, most
82 # clusters have the same host(s) in the `arvados_api`, `arvados_controller`,
83 # and `arvados_websocket` groups.
84
85 # arvados_api host(s) run the Arvados Rails API server.
86 arvados_api:
87   hosts:
88     api.arvados.example:
89   vars:
90     # If your cluster will use an external database, specify the database
91     # superuser credentials here. These will be used to set up a dedicated
92     # Arvados role and database.
93     #arvados_database_login_user: ""
94     #arvados_database_login_password: ""
95
96 # arvados_controller host(s) run the Arvados API controller.
97 arvados_controller:
98   hosts:
99     api.arvados.example:
100
101 # arvados_websocket host(s) run the Arvados websockets server.
102 arvados_websocket:
103   hosts:
104     api.arvados.example:
105
106 # arvados_keepstore host(s) run the Arvados keepstore services.
107 arvados_keepstore:
108   hosts:
109     keep0.arvados.example:
110     keep1.arvados.example:
111
112 # arvados_keepproxy host(s) run the Arvados keepproxy service.
113 arvados_keepproxy:
114   hosts:
115     keep.arvados.example:
116
117 # arvados_keep_web host(s) run the Arvados keep-web/WebDAV service.
118 arvados_keep_web:
119   hosts:
120     webdav.arvados.example:
121
122 # arvados_keepstore host(s) serve the Arvados Workbench front-end.
123 arvados_workbench:
124   hosts:
125     workbench.arvados.example:
126
127
128 ### Host groups for Arvados dispatchers ###
129 # A complete Arvados cluster must deploy at least one dispatcher, but
130 # different clusters run different dispatchers. Uncomment and define the
131 # group(s) for the dispatcher(s) your cluster will run.
132
133 # arvados_dispatch_cloud host(s) run the arvados-dispatch-cloud service
134 # to create dedicated cloud nodes to configure containers. You must have
135 # `Containers.CloudVMs` configured in your cluster configuration for this
136 # to work.
137 #arvados_dispatch_cloud:
138 #  hosts:
139 #    api.arvados.example:
140
141 # arvados_dispatch_local host(s) run the crunch-dispatch-local service
142 # to run containers on the local host. This is only intended for small
143 # development clusters, not production use. These hosts will automatically
144 # have compute requirements like Docker and arv-mount installed.
145 #arvados_dispatch_local:
146 #  hosts:
147 #    compute0.arvados.example:
148 #    compute1.arvados.example:
149
150
151 ### Host groups for Arvados supporting services ###
152 # These groups deploy services that can make an Arvados cluster easier to
153 # deploy or use, but they are not required for all clusters. Uncomment and
154 # define the group(s) for the services you want to run.
155
156 # arvados_postgresql host(s) will have the PostgreSQL server installed to host
157 # the cluster database. The Ansible installer currently does minimal server
158 # configuration and does not set up replication or other high-level features.
159 # You do not need this group if your cluster uses an externally managed database
160 # (e.g., Amazon RDS).
161 #arvados_postgresql:
162 #  hosts:
163 #    api.arvados.example:
164 #  vars:
165 #    # `arvados_postgresql_hba_sources` is an array of IPv4 or v6 netmasks,
166 #    # or special values recognized in `pg_hba.conf`. The Arvados database user
167 #    # will be allowed to connect from these sources. This must be configured
168 #    # so that all cluster services are allowed to connect to the database.
169 #    arvados_postgresql_hba_sources:
170 #      - samenet
171 #    # `arvados_postgresql_hba_method` defines the PostgreSQL authentication
172 #    # method that will be accepted for the Arvados database user. Set this
173 #    # to `md5` if your distribution includes a version of PostgreSQL too old
174 #    # to support `scram-sha-256`.
175 #    arvados_postgresql_hba_method: scram-sha-256
176 #    # If you need to do advanced database setup, refer to other settings in
177 #    # `roles/arvados_postgresql/defaults/main.yml`.
178
179 # arvados_shell host(s) have all client tools installed so cluster users can
180 # access a complete client environment via SSH or webshell.
181 # (Note the Ansible installer does not currently deploy webshell.)
182 #arvados_shell:
183 #  hosts:
184 #    shell.arvados.example:
185 #      # The installer will automatically create an Arvados virtual machine
186 #      # record for each shell node. The `hostname` attribute in that record
187 #      # will come from the inventory hostname by default. If you need to use
188 #      # a different hostname externally, set `arvados_shell_hostname` like this:
189 #      #arvados_shell_hostname: shellhost.arvados.example