Class ProjectSecrets

All Implemented Interfaces:
Diffable<Metadata.ProjectCustom>, Metadata.MetadataCustom<Metadata.ProjectCustom>, Metadata.ProjectCustom, NamedDiffable<Metadata.ProjectCustom>, NamedWriteable, VersionedNamedWriteable, Writeable, ChunkedToXContent

public class ProjectSecrets extends AbstractNamedDiffable<Metadata.ProjectCustom> implements Metadata.ProjectCustom
Secrets that are stored in project state as a Metadata.ProjectCustom

Project state secrets are initially loaded on the master node, from a file on disk. Once the cluster is running, the master node watches the file for changes. This class propagates changes in the file-based secure settings for each project from the master node out to other nodes using the transport protocol.

Since the master node should always have settings on disk, we don't need to persist this class to saved cluster state, either on disk or in the cloud. Therefore, we have defined this Metadata.ProjectCustom as a "private custom" object by not serializing its content in toXContentChunked(ToXContent.Params).