Tang server sizing requirements

The requirements around availability, network, and physical location drive the decision of how many Tang servers to use, rather than any concern over server capacity.

Tang servers do not maintain the state of data encrypted using Tang resources. Tang servers are either fully independent or share only their key material, which enables them to scale well.

There are two ways Tang servers handle key material:

  • Multiple Tang servers share key material:

    • You must load balance Tang servers sharing keys behind the same URL. The configuration can be as simple as round-robin DNS, or you can use physical load balancers.

    • You can scale from a single Tang server to multiple Tang servers. Scaling Tang servers does not require rekeying or client reconfiguration on the node when the Tang servers share key material and the same URL.

    • Client node setup and key rotation only requires one Tang server.

  • Multiple Tang servers generate their own key material:

    • You can configure multiple Tang servers at installation time.

    • You can scale an individual Tang server behind a load balancer.

    • All Tang servers must be available during client node setup or key rotation.

    • When a client node boots using the default configuration, the Clevis client contacts all Tang servers. Only n Tang servers must be online to proceed with decryption. The default value for n is 1.

    • Red Hat does not support postinstallation configuration that changes the behavior of the Tang servers.