Handle secrets as Sensitive values
The cephx keys and passwords passed to ceph::key, ceph::mon, ceph::mgr, ceph::rgw::keystone and ceph::rgw::barbican were plain strings, so they ended up unredacted in the catalog and could leak into logs, reports and PuppetDB. The error raised by ceph::mon when both key and keyring were set also printed the key.
All secret parameters now accept a Sensitive value and are always wrapped in Sensitive where they are consumed, including the exec commands that embed them. The profile classes wrap the values they pass on, and ceph::keys wraps the secret of each key before creating the ceph::key resources.
ceph::rgw::keystone::auth also accepts a Sensitive password, but unwraps it before passing it to keystone::resource::service_identity, which does not accept a Sensitive value.
Change-Id: I8cf3fa8e0406bff047718110d050ce3bc7a78571 Assisted-By: Claude Fable 5.1 noreply@anthropic.com Signed-off-by: Sam Morrison sorrison@gmail.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Team and repository tags
ceph
Table of Contents
Overview
The ceph module is intended to leverage all Ceph has to offer and allow for a wide range of use case. Although hosted on the OpenStack infrastructure, it does not require to sign a CLA nor is it restricted to OpenStack users. It benefits from a structured development process that helps federate the development effort. Each feature is tested with integration tests involving virtual machines to show that it performs as expected when used with a realistic scenario.
Module Description
The ceph module deploys a Ceph cluster ( MON, OSD ), the Cephfs file system and the RadosGW object store. It provides integration with various environments ( OpenStack … ) and components to be used by third party puppet modules that depend on a Ceph cluster.
Setup
Implementation
A blueprint contains an inventory of what is desirable. It was decided to start from scratch and implement one module at a time.
Limitations
We follow the OS compatibility of Ceph. With the release of infernalis this is currently:
Use Cases
Development
The developer documentation of the puppet-openstack project is the reference:
Mailing lists:
IRC channels:
Development
Developer documentation for the entire puppet-openstack project.
Contributors
Release Notes
Repository