blob: 4d28f57c8ffb950b793b741c2d02e70105fd1934 [file] [log] [blame]
Petr Jedinýdd6387a2017-08-01 15:50:17 +02001
Petr Jediný1ff6f562017-08-09 14:38:09 +02002================
3Barbican formula
4================
Petr Jedinýdd6387a2017-08-01 15:50:17 +02005
6Barbican is a REST API designed for the secure storage, provisioning and
7management of secrets such as passwords, encryption keys and X.509 Certificates.
8It is aimed at being useful for all environments, including large ephemeral
9Clouds.
10
11Sample pillars
12==============
13
Petr Jediný1ff6f562017-08-09 14:38:09 +020014Barbican cluster service
Petr Jedinýdd6387a2017-08-01 15:50:17 +020015
16.. code-block:: yaml
17
18 barbican:
19 server:
20 enabled: true
21 version: ocata
Petr Jediný1ff6f562017-08-09 14:38:09 +020022 host_href: ''
23 is_proxied: true
24 plugin:
25 simple_crypto:
26 kek: "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY="
27 store:
28 software:
29 crypto_plugin: simple_crypto
30 store_plugin: store_crypto
31 global_default: True
32 database:
33 engine: "mysql+pymysql"
34 host: 10.0.106.20
35 port: 3306
36 name: barbican
37 user: barbican
38 password: password
39 bind:
40 address: 10.0.106.20
41 port: 9311
42 admin_port: 9312
43 identity:
44 engine: keystone
45 host: 10.0.106.20
46 port: 35357
47 domain: default
48 tenant: service
49 user: barbican
50 password: password
51 message_queue:
52 engine: rabbitmq
53 user: openstack
54 password: password
55 virtual_host: '/openstack'
56 members:
57 - host: 10.10.10.10
58 port: 5672
59 - host: 10.10.10.11
60 port: 5672
61 - host: 10.10.10.12
62 port: 5672
63 cache:
64 members:
65 - host: 10.10.10.10
66 port: 11211
67 - host: 10.10.10.11
68 port: 11211
69 - host: 10.10.10.12
70 port: 11211
71
72Running behind loadbalancer
73
74If you are running behind loadbalancer, set the `host_href` to load balancer's
75address. You can set `host_href` empty and the api attempts autodetect correct
76address from http requests.
77
78.. code-block:: yaml
79
80 barbican:
81 server:
82 enabled: true
83 version: ocata
84 host_href: ''
85
86
87Running behind proxy
88
89If you are running behind proxy, set the `is_proxied` parameter to `true`. This
90will allow `host_href` autodetection with help of proxy headers such as
91`X-FORWARDED-FOR` and `X-FORWARDED-PROTO`.
92
93.. code-block:: yaml
94
95 barbican:
96 server:
97 enabled: true
98 version: ocata
99 host_href: ''
100 is_proxied: true
101
102Queuing asynchronous messaging
103
104By default is `async_queues_enable` set `false` to invoke worker tasks
105synchronously (i.e. no-queue standalone mode). To enable queuing asynchronous
106messaging you need to set it true.
107
108.. code-block:: yaml
109
110 barbican:
111 server:
112 enabled: true
113 version: ocata
114 async_queues_enable: true
115
116Keystone notification listener
117
118To enable keystone notification listener, set the `ks_notification_enable`
119to true.
120`ks_notifications_allow_requeue` enables requeue feature in case of
121notification processing error. Enable this only when underlying transport
122supports this feature.
123
124
125.. code-block:: yaml
126
127 barbican:
128 server:
129 enabled: true
130 version: ocata
131 ks_notifications_enable: true
132 ks_notifications_allow_requeue: true
133
134
135Configuring plugins
136-------------------
137
138Dogtag KRA
139
140.. code block:: yaml
141
142 barbican:
143 server:
144 plugin:
145 dogtag:
146 pem_path: '/etc/barbican/kra_admin_cert.pem'
147 dogtag_host: localhost
148 dogtag_port: 8433
149 nss_db_path: '/etc/barbican/alias'
150 nss_db_path_ca: '/etc/barbican/alias-ca'
151 nss_password: 'password123'
152 simple_cmc_profile: 'caOtherCert'
153 ca_expiration_time: 1
154 plugin_working_dir: '/etc/barbican/dogtag'
155
156KMIP HSM
157
158.. code block:: yaml
159
160 barbican:
161 server:
162 plugin:
163 kmip:
164 username: 'admin'
165 password: 'password'
166 host: localhost
167 port: 5696
168 keyfile: '/path/to/certs/cert.key'
169 certfile: '/path/to/certs/cert.crt'
170 ca_certs: '/path/to/certs/LocalCA.crt'
171
172
173PKCS11 HSM
174
175.. code block:: yaml
176
177 barbican:
178 server:
179 plugin:
180 p11_crypto:
181 library_path: '/usr/lib/libCryptoki2_64.so'
182 login: 'mypassword'
183 mkek_label: 'an_mkek'
184 mkek_length: 32
185 hmac_label: 'my_hmac_label'
186
187
188
189Software Only Crypto
190
191`kek` is key encryption key created from 32 bytes encoded as Base64. You should
192not use this in production.
193
194.. code block:: yaml
195
196 barbican:
197 server:
198 plugin:
199 simple_crypto:
200 kek: 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY='
201
202
203Secret stores
204-------------
205
206.. code-block:: yaml
207
208 barbican:
209 server:
210 plugin:
211 simple_crypto:
212 kek: "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY="
213 p11_crypto:
214 library_path: '/usr/lib/libCryptoki2_64.so'
215 login: 'mypassword'
216 mkek_label: 'an_mkek'
217 mkek_length: 32
218 hmac_label: 'my_hmac_label'
219 kmip:
220 username: 'admin'
221 password: 'password'
222 host: localhost
223 port: 5696
224 keyfile: '/path/to/certs/cert.key'
225 certfile: '/path/to/certs/cert.crt'
226 ca_certs: '/path/to/certs/LocalCA.crt'
227 dogtag:
228 pem_path: '/etc/barbican/kra_admin_cert.pem'
229 dogtag_host: localhost
230 dogtag_port: 8433
231 nss_db_path: '/etc/barbican/alias'
232 nss_db_path_ca: '/etc/barbican/alias-ca'
233 nss_password: 'password123'
234 simple_cmc_profile: 'caOtherCert'
235 ca_expiration_time: 1
236 plugin_working_dir: '/etc/barbican/dogtag'
237 store:
238 software:
239 crypto_plugin: simple_crypto
240 store_plugin: store_crypto
241 global_default: True
242 kmip:
243 store_plugin: kmip_plugin
244 dogtag:
245 store_plugin: dogtag_plugin
246 pkcs11:
247 store_plugin: store_crypto
248 crypto_plugin: p11_crypto
249
Petr Jedinýdd6387a2017-08-01 15:50:17 +0200250
251Documentation and Bugs
252======================
253
254To learn how to install and update salt-formulas, consult the documentation
255available online at:
256
257 http://salt-formulas.readthedocs.io/
258
259In the unfortunate event that bugs are discovered, they should be reported to
260the appropriate issue tracker. Use GitHub issue tracker for specific salt
261formula:
262
263 https://github.com/salt-formulas/salt-formula-barbican/issues
264
265For feature requests, bug reports or blueprints affecting entire ecosystem,
266use Launchpad salt-formulas project:
267
268 https://launchpad.net/salt-formulas
269
270Developers wishing to work on the salt-formulas projects should always base
271their work on master branch and submit pull request against specific formula.
272
273You should also subscribe to mailing list (salt-formulas@freelists.org):
274
275 https://www.freelists.org/list/salt-formulas
276
277Any questions or feedback is always welcome so feel free to join our IRC
278channel:
279
280 #salt-formulas @ irc.freenode.net
281
282Read more
283=========
284
285* https://docs.openstack.org/barbican/latest/