A service for managing and provisioning Bare Metal servers.
Go to file
Steve Baker c6112b01c3 Enable Basic HTTP authentication middleware
When the config option ``auth_strategy`` is set to ``http_basic`` then
non-public API calls require a valid HTTP Basic authentication header
to be set. The config option ``http_basic_auth_user_file`` defaults to
``/etc/ironic/htpasswd`` and points to a file which supports the
Apache htpasswd syntax[1]. This file is read for every request, so no
service restart is required when changes are made.

The only password digest supported is bcrypt, and the ``bcrypt``
python library is used for password checks since it supports ``$2y$``
prefixed bcrypt passwords as generated by the Apache htpasswd utility.

To try HTTP basic authentication, the following can be done:

* Set ``/etc/ironic/ironic.conf`` ``DEFAULT`` ``auth_strategy`` to ``http_basic``
* Populate the htpasswd file with entries, for example:
  ``htpasswd -nbB myName myPassword >> /etc/ironic/htpasswd``
* Make basic authenticated HTTP requests, for example:
  ``curl --user myName:myPassword http://localhost:6385/v1/drivers``

[1] https://httpd.apache.org/docs/current/misc/password_encryptions.html

Change-Id: I7b89155d8bbd2f48e186c12adea9d6932cd0bfe2
Story: 2007656
Task: 39825
Depends-On: https://review.opendev.org/729070
2020-06-05 01:15:08 +12:00
api-ref Merge "Fix pygments style" 2020-05-21 20:48:27 +00:00
devstack Merge "Add IPv6 ci Job" 2020-05-29 03:48:26 +00:00
doc Merge "Add the noop management interface to the redfish hardware type" 2020-05-28 12:28:04 +00:00
etc Drop rootwrap.d/ironic-lib.filters file 2020-03-16 23:05:36 +01:00
ironic Enable Basic HTTP authentication middleware 2020-06-05 01:15:08 +12:00
playbooks Collect tftpd info from journald 2020-05-19 09:23:32 +02:00
releasenotes Enable Basic HTTP authentication middleware 2020-06-05 01:15:08 +12:00
tools Fixes unusable Guru meditation report 2020-04-20 09:00:03 +08:00
zuul.d Merge "Extend vmedia job timeout" 2020-05-31 00:50:00 +00:00
.gitignore Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:40:53 +00:00
.mailmap Add my new address to .mailmap 2020-04-13 07:29:37 -07:00
.stestr.conf Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
CONTRIBUTING.rst Project Contributing updates for Goal 2020-02-20 02:01:21 +00:00
LICENSE Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
README.rst Add ironic-specs link to readme.rst 2019-08-30 17:16:09 +08:00
bindep.txt Add librsvg2* to bindep 2019-12-23 17:04:00 +05:30
driver-requirements.txt Change ibmcclient compatible version 2020-05-15 18:31:51 +02:00
lower-constraints.txt Enable Basic HTTP authentication middleware 2020-06-05 01:15:08 +12:00
reno.yaml tell reno to ignore the kilo branch 2020-02-07 16:42:15 -05:00
requirements.txt Enable Basic HTTP authentication middleware 2020-06-05 01:15:08 +12:00
setup.cfg Add py38 package metadata 2020-05-25 10:32:40 +08:00
setup.py Cleanup Python 2.7 support 2020-04-03 17:49:23 +02:00
test-requirements.txt Cap pycodestyle explicitly to be < 2.6.0 2020-05-12 20:52:40 +00:00
tox.ini Enforce autospec in test_agent module 2020-06-02 18:22:18 +02:00

README.rst

Ironic

Team and repository tags

image

Overview

Ironic consists of an API and plug-ins for managing and provisioning physical machines in a security-aware and fault-tolerant manner. It can be used with nova as a hypervisor driver, or standalone service using bifrost. By default, it will use PXE and IPMI to interact with bare metal machines. Ironic also supports vendor-specific plug-ins which may implement additional functionality.

Ironic is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

Project resources

Project status, bugs, and requests for feature enhancements (RFEs) are tracked in StoryBoard: https://storyboard.openstack.org/#!/project/943

For information on how to contribute to ironic, see https://docs.openstack.org/ironic/latest/contributor