@@ -226,6 +226,74 @@ ironic-python-agent.service unit in cloud-config.yaml [5]_.
226226* ``--debug ``: Enables debug logging.
227227
228228
229+ IPA and SSL
230+ ===========
231+
232+ During its operation IPA makes HTTP requests to a number of other services,
233+ currently including
234+
235+ - ironic for lookup/heartbeats
236+ - ironic-inspector to publish results of introspection
237+ - HTTP image storage to fetch the user image to be written to the node's disk
238+ (Object storage service or other service storing user images
239+ when ironic is running in a standalone mode)
240+
241+ When these services are configured to require SSL-encrypted connections,
242+ IPA can be configured to either properly use such secure connections or
243+ ignore verifying such SSL connections.
244+
245+ Configuration mostly happens in the IPA config file
246+ (default is ``/etc/ironic_python_agent/ironic_python_agent.conf ``)
247+ or command line arguments passed to ``ironic-python-agent ``,
248+ and it is possible to provide some options via kernel command line arguments
249+ instead.
250+
251+ Available options in the ``[DEFAULT] `` config file section are:
252+
253+ insecure
254+ Whether to verify server SSL certificates.
255+ When not specified explicitly, defaults to the value of ``ipa-insecure ``
256+ kernel command line argument (converted to boolean).
257+ The default for this kernel command line argument is taken to be ``False ``.
258+ Overriding it to ``True `` by adding ``ipa-insecure=1 `` to the value of
259+ ``[pxe]pxe_append_params `` in ironic configuration file will allow running
260+ the same IPA-based deploy ramdisk in a CI-like environment when services
261+ are using secure HTTPS endpoints with self-signed certificates without
262+ adding a custom CA file to the deploy ramdisk (see below).
263+
264+ cafile
265+ Path to the PEM encoded Certificate Authority file.
266+ When not specified, available system-wide list of CAs will be used to
267+ verify server certificates.
268+ Thus in order to use IPA with HTTPS endpoints of other services in
269+ a secure fashion (with ``insecure `` option being ``False ``, see above),
270+ operators should either ensure that certificates of those services
271+ are verifiable by root CAs present in the deploy ramdisk,
272+ or add a custom CA file to the ramdisk and set this IPA option to point
273+ to this file at ramdisk build time.
274+
275+ certfile
276+ Path to PEM encoded client certificate cert file.
277+ This option must be used when services are configured to require client
278+ certificates on SSL-secured connections.
279+ This cert file must be added to the deploy ramdisk and path
280+ to it specified for IPA via this option at ramdisk build time.
281+ This option has an effect only when the ``keyfile `` option is also set.
282+
283+ keyfile
284+ Path to PEM encoded client certificate key file.
285+ This option must be used when services are configured to require client
286+ certificates on SSL-secured connections.
287+ This key file must be added to the deploy ramdisk and path
288+ to it specified for IPA via this option at ramdisk build time.
289+ This option has an effect only when the ``certfile `` option is also set.
290+
291+ Currently a single set of cafile/certfile/keyfile options is used for all
292+ HTTP requests to the other services.
293+
294+ Securing IPA's HTTP server itself with SSL is not yet supported in default
295+ ramdisk builds.
296+
229297Hardware Managers
230298=================
231299
0 commit comments