Merge branch '14812-wb1-new-config' refs #14812
[arvados.git] / doc / admin / config-migration.html.textile.liquid
1 ---
2 layout: default
3 navsection: admin
4 title: Migrating Configuration
5 ...
6
7 {% comment %}
8 Copyright (C) The Arvados Authors. All rights reserved.
9
10 SPDX-License-Identifier: CC-BY-SA-3.0
11 {% endcomment %}
12
13 Arvados is migrating to a centralized configuration file for all components.  The centralized Arvados configuration is @/etc/arvados/config.yml@.  Components that support the new centralized configuration are listed below.  Components not listed here do not yet support centralized configuration.  During the migration period, legacy configuration files will continue to be loaded and take precedence over the centralized configuration file.
14
15 h2. API server
16
17 The legacy API server configuration is stored in @config/application.yml@ and @config/database.yml@.  After migration to @/etc/arvados/config.yml@, both of these files should be moved out of the way and/or deleted.
18
19 Change to the API server directory and use the following commands:
20
21 <pre>
22 $ bundle exec rake config:migrate > config.yml
23 $ cp config.yml /etc/arvados/config.yml
24 </pre>
25
26 This will print the contents of @config.yml@ after merging the legacy @application.yml@ and @database.yml@ into the existing systemwide @config.yml@.  It may be redirected to a file and copied to @/etc/arvados/config.yml@ (it is safe to copy over, all configuration items from the existing @/etc/arvados/config.yml@ will be included in the migrated output).
27
28 If you wish to update @config.yml@ configuration by hand, or check that everything has been migrated, use @config:diff@ to print configuration items that differ between @application.yml@ and the system @config.yml@.
29
30 <pre>
31 $ bundle exec rake config:diff
32 </pre>
33
34 This command will also report if no migrations are required.
35
36 h2. Workbench
37
38 The legacy workbench configuration is stored in @config/application.yml@.  After migration to @/etc/arvados/config.yml@, this file should be moved out of the way and/or deleted.
39
40 Change to the workbench server directory and use the following commands:
41
42 <pre>
43 $ bundle exec rake config:migrate > config.yml
44 $ cp config.yml /etc/arvados/config.yml
45 </pre>
46
47 This will print the contents of @config.yml@ after merging the legacy @application.yml@ into the existing systemwide @config.yml@.  It may be redirected to a file and copied to @/etc/arvados/config.yml@ (it is safe to copy over, all configuration items from the existing @/etc/arvados/config.yml@ will be included in the migrated output).
48
49 If you wish to update @config.yml@ configuration by hand, or check that everything has been migrated, use @config:diff@ to print configuration items that differ between @application.yml@ and the system @config.yml@.
50
51 <pre>
52 $ bundle exec rake config:diff
53 </pre>
54
55 This command will also report if no migrations are required.
56
57 h2. crunch-dispatch-slurm
58
59 Currently only reads @InstanceTypes@ from centralized configuration.  Still requires component-specific configuration file.
60
61 h2. keepstore
62
63 Currently only reads @RemoteClusters@ from centralized configuration.  Still requires component-specific configuration file.
64
65 h2. arvados-controller
66
67 Already uses centralized config exclusively.  No migration needed.
68
69 h2. arvados-dispatch-cloud
70
71 Already uses centralized config exclusively.  No migration needed.