blob: 9ca7da76f7d4169f766feb8e5bf315ab5200fca1 [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'
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030027 bind:
28 api:
29 address: 127.0.0.1
30 database:
31 engine: mysql
32 host: 127.0.0.1
33 port: 3306
34 name:
35 main_database: designate
36 pool_manager: designate_pool_manager
37 user: designate
38 password: passw0rd
39 identity:
40 engine: keystone
41 host: 127.0.0.1
42 port: 35357
43 tenant: service
44 user: designate
45 password: passw0rd
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +030046 mdns:
47 address: 0.0.0.0
48 port: 5354
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030049 message_queue:
50 engine: rabbitmq
51 members:
52 - host: 127.0.0.1
53 user: openstack
54 password: password
55 virtual_host: '/openstack'
56 pools:
57 default:
58 description: 'default pool'
59 attributes:
60 service_tier: GOLD
61 ns_records:
62 - hostname: 'ns1.example.org.'
63 priority: 10
Pavel Cizinsky82361442016-11-25 14:26:47 +010064 nameservers:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030065 - host: 127.0.0.1
Pavel Cizinsky82361442016-11-25 14:26:47 +010066 port: 53
67 targets:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030068 default_target:
69 type: bind9
70 description: 'default target'
71 masters:
72 - host: 127.0.0.1
73 port: 5354
74 options:
75 host: 127.0.0.1
76 port: 53
77 rndc_host: 127.0.0.1
78 rndc_port: 953
79 rndc_key_file: /etc/designate/rndc.key
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030080 worker:
81 enabled: true
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030082.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030083 *domain_id* parameter is UUID of DNS zone managed by designate-sink service. This zone will
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030084 be populated by A records for fixed and floating ip addresses of spawned VMs. After designate
85 is deployed and zone is created, this parameter should be updated accordingly to UUID of
86 newly created zone. Then designate state should be reapplied.
87
Mykyta Karpinb2519312017-08-08 13:24:22 +030088.. note::
89 *server:api:base_uri* allows to set URL which is returned in designate-api responses, it is
90 useful in cases when, designate-api is deployed under proxy server. If not overriden in reclass,
91 it defaults to http://*server:bind:api:address*:9001/.
92
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030093.. note::
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +030094 *server:mdns:address* and *server:mdns:port* options allow to change MDNS listening address and
95 port. Changes to server:pools:*:targets will be also required if the MDNS's address and port are
96 being used there.
97
98.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030099 *worker:enabled* sets worker role and installs designate-worker and designate-producer packages
100 which services will push changes to backend DNS servers.
101 *pool_manager:enabled* should be a default role for older releases of OpenStack, older than
102 Newton in which designate-worker and designate-producer were represented.
103 In releases starting from Newton, only Designate pool manager service still allows live syncs
104 with Power DNS server for now.
105
Mykyta Karpin8bda8df2017-06-08 14:48:55 +0300106Pools pillar for BIND9 master and multiple slaves setup:
107
108.. code:: yaml
109
110 pools:
111 default:
112 description: 'default pool'
113 attributes:
114 service_tier: GOLD
115 ns_records:
116 - hostname: 'ns1.example.org.'
117 priority: 10
118 nameservers:
119 - host: 192.168.0.1
120 port: 53
121 - host: 192.168.0.2
122 port: 53
123 - host: 192.168.0.3
124 port: 53
125 targets:
126 default_target:
127 type: bind9
128 description: 'default target'
129 masters:
130 - host: 192.168.0.4
131 port: 5354
132 options:
133 host: 192.168.0.4
134 port: 53
135 rndc_host: 192.168.0.4
136 rndc_port: 953
137 rndc_key_file: /etc/designate/rndc.key
Pavel Cizinsky82361442016-11-25 14:26:47 +0100138
139Usage
Aleš Komárek53c944b2017-02-06 14:08:15 +0100140=====
Pavel Cizinsky82361442016-11-25 14:26:47 +0100141
142Create server
143
144.. code:: bash
145
146 designate server-create --name ns.example.com.
147
148Create domain
149
150.. code:: bash
151
152 designate domain-create --name example.com. --email mail@example.com
153
154Create record
155
156.. code:: bash
157
158 designate record-create example.com. --name test.example.com. --type A --data 10.2.14.15
159
160Test it
161
162.. code:: bash
163
164 dig @127.0.0.1 test.example.com.
Filip Pytlounbfa72112017-02-02 13:17:47 +0100165
166Documentation and Bugs
167======================
168
169To learn how to install and update salt-formulas, consult the documentation
170available online at:
171
172 http://salt-formulas.readthedocs.io/
173
174In the unfortunate event that bugs are discovered, they should be reported to
175the appropriate issue tracker. Use Github issue tracker for specific salt
176formula:
177
178 https://github.com/salt-formulas/salt-formula-letsencrypt/issues
179
180For feature requests, bug reports or blueprints affecting entire ecosystem,
181use Launchpad salt-formulas project:
182
183 https://launchpad.net/salt-formulas
184
185You can also join salt-formulas-users team and subscribe to mailing list:
186
187 https://launchpad.net/~salt-formulas-users
188
189Developers wishing to work on the salt-formulas projects should always base
190their work on master branch and submit pull request against specific formula.
191
192 https://github.com/salt-formulas/salt-formula-letsencrypt
193
194Any questions or feedback is always welcome so feel free to join our IRC
195channel:
196
197 #salt-formulas @ irc.freenode.net