blob: 5c1e46d3236ae5f743589764e6e9b86e5a415635 [file] [log] [blame]
Pavel Cizinsky82361442016-11-25 14:26:47 +01001
Aleš Komárek53c944b2017-02-06 14:08:15 +01002=================
3Designate formula
4=================
5
6Designate provides DNSaaS services for OpenStack.
7
8Sample pillars
9==============
Pavel Cizinsky82361442016-11-25 14:26:47 +010010
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030011For Designate with BIND9 local backend:
12
Pavel Cizinsky82361442016-11-25 14:26:47 +010013.. code:: yaml
14
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030015 designate:
16 server:
17 enabled: true
18 region: RegionOne
19 domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
20 version: ocata
21 backend:
22 bind9:
23 rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
24 rndc_algorithm: hmac-sha512
Mykyta Karpinb2519312017-08-08 13:24:22 +030025 api:
26 base_uri: 'http://127.0.0.1:9001'
Pavlo Shchelokovskyyf605cef2018-08-22 16:39:55 +030027 quotas_verify_project_id: False
Mykyta Karpin96a3f432017-12-19 14:17:08 +020028 admin_api:
29 enabled: true
30 enabled_extensions_admin: quotas
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030031 bind:
32 api:
33 address: 127.0.0.1
34 database:
35 engine: mysql
36 host: 127.0.0.1
37 port: 3306
38 name:
39 main_database: designate
40 pool_manager: designate_pool_manager
41 user: designate
42 password: passw0rd
43 identity:
44 engine: keystone
45 host: 127.0.0.1
46 port: 35357
47 tenant: service
48 user: designate
49 password: passw0rd
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +030050 mdns:
51 address: 0.0.0.0
52 port: 5354
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030053 message_queue:
54 engine: rabbitmq
55 members:
56 - host: 127.0.0.1
57 user: openstack
58 password: password
59 virtual_host: '/openstack'
60 pools:
61 default:
62 description: 'default pool'
63 attributes:
64 service_tier: GOLD
65 ns_records:
66 - hostname: 'ns1.example.org.'
67 priority: 10
Pavel Cizinsky82361442016-11-25 14:26:47 +010068 nameservers:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030069 - host: 127.0.0.1
Pavel Cizinsky82361442016-11-25 14:26:47 +010070 port: 53
71 targets:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030072 default_target:
73 type: bind9
74 description: 'default target'
75 masters:
76 - host: 127.0.0.1
77 port: 5354
78 options:
79 host: 127.0.0.1
80 port: 53
81 rndc_host: 127.0.0.1
82 rndc_port: 953
83 rndc_key_file: /etc/designate/rndc.key
Mykyta Karpinf728b072017-10-31 13:39:11 +020084 quota:
85 zones: 40
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030086 worker:
87 enabled: true
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030088.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030089 *domain_id* parameter is UUID of DNS zone managed by designate-sink service. This zone will
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030090 be populated by A records for fixed and floating ip addresses of spawned VMs. After designate
91 is deployed and zone is created, this parameter should be updated accordingly to UUID of
92 newly created zone. Then designate state should be reapplied.
93
Mykyta Karpinb2519312017-08-08 13:24:22 +030094.. note::
95 *server:api:base_uri* allows to set URL which is returned in designate-api responses, it is
96 useful in cases when, designate-api is deployed under proxy server. If not overriden in reclass,
97 it defaults to http://*server:bind:api:address*:9001/.
98
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030099.. note::
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +0300100 *server:mdns:address* and *server:mdns:port* options allow to change MDNS listening address and
101 port. Changes to server:pools:*:targets will be also required if the MDNS's address and port are
102 being used there.
103
104.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +0300105 *worker:enabled* sets worker role and installs designate-worker and designate-producer packages
106 which services will push changes to backend DNS servers.
107 *pool_manager:enabled* should be a default role for older releases of OpenStack, older than
108 Newton in which designate-worker and designate-producer were represented.
109 In releases starting from Newton, only Designate pool manager service still allows live syncs
110 with Power DNS server for now.
111
Mykyta Karpinf728b072017-10-31 13:39:11 +0200112.. note::
113 *server:quota:zones* allows to set default value for zones quota for all projects and users.
114 In case with Designate tempest plugin (0.2.0) zones quota should be increased to 40, so all
115 tests can pass.
116
Pavlo Shchelokovskyyf605cef2018-08-22 16:39:55 +0300117.. note::
118 *server:api:quotas_verify_project_id* allows to enable project id verification when setting quotas
119 for project, when Designate will ask Keystone if the project id is valid
120
Mykyta Karpin8bda8df2017-06-08 14:48:55 +0300121Pools pillar for BIND9 master and multiple slaves setup:
122
123.. code:: yaml
124
125 pools:
126 default:
127 description: 'default pool'
128 attributes:
129 service_tier: GOLD
130 ns_records:
131 - hostname: 'ns1.example.org.'
132 priority: 10
133 nameservers:
134 - host: 192.168.0.1
135 port: 53
136 - host: 192.168.0.2
137 port: 53
138 - host: 192.168.0.3
139 port: 53
140 targets:
141 default_target:
142 type: bind9
143 description: 'default target'
144 masters:
145 - host: 192.168.0.4
146 port: 5354
147 options:
148 host: 192.168.0.4
149 port: 53
150 rndc_host: 192.168.0.4
151 rndc_port: 953
152 rndc_key_file: /etc/designate/rndc.key
Pavel Cizinsky82361442016-11-25 14:26:47 +0100153
sgarbuzb7188892018-05-08 13:26:42 +0300154Enhanced logging with logging.conf
155----------------------------------
156
157By default logging.conf is disabled.
158
159That is possible to enable per-binary logging.conf with new variables:
160 * openstack_log_appender - set it to true to enable log_config_append for all OpenStack services;
161 * openstack_fluentd_handler_enabled - set to true to enable FluentHandler for all Openstack services.
162
163Only WatchedFileHandler and FluentHandler are available.
164
165Also it is possible to configure this with pillar:
166
167.. code-block:: yaml
168
169 designate:
170 server:
171 logging:
172 log_appender: true
173 log_handlers:
174 watchedfile:
175 enabled: true
176 fluentd:
177 enabled: true
178
Pavel Cizinsky82361442016-11-25 14:26:47 +0100179Usage
Aleš Komárek53c944b2017-02-06 14:08:15 +0100180=====
Pavel Cizinsky82361442016-11-25 14:26:47 +0100181
182Create server
183
184.. code:: bash
185
186 designate server-create --name ns.example.com.
187
188Create domain
189
190.. code:: bash
191
192 designate domain-create --name example.com. --email mail@example.com
193
194Create record
195
196.. code:: bash
197
198 designate record-create example.com. --name test.example.com. --type A --data 10.2.14.15
199
200Test it
201
202.. code:: bash
203
204 dig @127.0.0.1 test.example.com.
Filip Pytlounbfa72112017-02-02 13:17:47 +0100205
Oleksandr Shyshkoc7d48272018-08-31 12:22:41 +0300206Enable x509 and ssl communication between Designate and Galera cluster.
207---------------------
208By default communication between Designate and Galera is unsecure.
209
210designate:
211 server:
212 database:
213 x509:
214 enabled: True
215
216You able to set custom certificates in pillar:
217
218designate:
219 server:
220 database:
221 x509:
222 cacert: (certificate content)
223 cert: (certificate content)
224 key: (certificate content)
225
226You can read more about it here:
227 https://docs.openstack.org/security-guide/databases/database-access-control.html
228
Oleksandr Shyshkob9886992018-09-21 12:44:35 +0300229Enable x509 and ssl communication between Designate and Rabbitmq.
230---------------------
231By default communication between Designate and Rabbitmq is unsecure.
232
233.. code-block:: yaml
234
235designate:
236 server:
237 message_queue:
238 x509:
239 enabled: True
240
241You able to set custom certificates in pillar:
242
243.. code-block:: yaml
244
245designate:
246 server:
247 message_queue:
248 x509:
249 cacert: (certificate content)
250 cert: (certificate content)
251 key: (certificate content)
252
253You can read more about it here:
254 https://docs.openstack.org/security-guide/messaging/security.html
Mykyta Karpin70405bc2018-11-07 17:28:06 +0000255
256Using designate client to create zones and install client packages
257-------------------------------------------------------------------
258
259designate:
260 client:
261 enabled: true
262 resources:
263 v2:
264 enabled: true
265 cloud_name: admin_identity
266 zones:
267 test_zone:
268 name: test.zone.
269 email: admin@test.zone
270
Oleksandr Shyshkob9886992018-09-21 12:44:35 +0300271
Filip Pytlounbfa72112017-02-02 13:17:47 +0100272Documentation and Bugs
273======================
274
275To learn how to install and update salt-formulas, consult the documentation
276available online at:
277
278 http://salt-formulas.readthedocs.io/
279
280In the unfortunate event that bugs are discovered, they should be reported to
281the appropriate issue tracker. Use Github issue tracker for specific salt
282formula:
283
284 https://github.com/salt-formulas/salt-formula-letsencrypt/issues
285
286For feature requests, bug reports or blueprints affecting entire ecosystem,
287use Launchpad salt-formulas project:
288
289 https://launchpad.net/salt-formulas
290
291You can also join salt-formulas-users team and subscribe to mailing list:
292
293 https://launchpad.net/~salt-formulas-users
294
295Developers wishing to work on the salt-formulas projects should always base
296their work on master branch and submit pull request against specific formula.
297
298 https://github.com/salt-formulas/salt-formula-letsencrypt
299
300Any questions or feedback is always welcome so feel free to join our IRC
301channel:
302
303 #salt-formulas @ irc.freenode.net