SovereignCloudStack / standards

SCS standards in a machine readable format
https://scs.community/
Creative Commons Attribution Share Alike 4.0 International
30 stars 21 forks source link

[EPIC] IaaS standards #285

Open mbuechse opened 1 year ago

mbuechse commented 1 year ago

General

Standard for Standards & Documentation

Mandatory Openstack Services

Computing

Flavor naming, flavor selection, and flavor discoverability:

Standard flavors

OpenStack powered Compute 2022.11

Storage

Volume types

Network

public network

Network Time Protocoll

DNS

L3 loadbalancer (OVN)

Neutron Policy Standard

Images

Image Meta Data

Standard Images

Identity

Domain admin role: Allow project creation, user management as self-service (resellers)

Identity federation via OIDC: Federate users from federated clouds

Security

Baseline security

Database(s)

Entropy in VMs

Key Store

Encryption

Security Groups

Backup and Redundancy

Taxonomy of Backups

User Backup

Definition of Availability Zones: Availability expectations when spreading over AZs

Definition of Region: What is shared?

Unsorted/unclassified

Metadata source (w/ user-data, vendor-data)

MetaData API

SCS compatibility assessment tool

Openinfra Interop Guidelines

fkr commented 7 months ago

Discussion on how to best proceed with these standards / item that could be standardized in todays meeting with @josephineSei , @markus-hentsch and @mbuechse

We agreed to

0) Follow-up on the flavor/properties/traits discussion that happened as part of the Caracal vPTG - this topic is with @fkr 1a) Work on the topics of DNS and NTP standards, this will be started in the next weeks in Team IaaS 1b) Find out which items / features / functionality should be standardized for the loadbalancing

josephineSei commented 4 months ago

Somehow editing the description of this issue does not show me the correct version. So maybe one of you can include this: Standardized list of OpenStack services: https://github.com/SovereignCloudStack/standards/issues/469

josephineSei commented 4 months ago

I opened an issue for the Security Groups: https://github.com/SovereignCloudStack/standards/issues/473 .

markus-hentsch commented 3 months ago

I discussed with @josephineSei which topics might not be covered yet by SCS standardization appropriately yet and what kind of potential might exist regarding those.

Key rotation

We thought about the possibility of creating a standard or guide for cryptographic key rotation in SCS and had a look at involved components. We deemed the following topics relevant for key rotation.

Cinder Volumes:

Ephemeral Storage (Nova):

Images (Glance):

Keystone token provider:

PKI / TLS


Summary: LUKS encryption key rotation (concerns Nova and Cinder) would require an upstream contribution and would either be weak cryptographically (when changing only key slots) or require a lot of effort to get right (online reencryption). Glance image key rotation could be established using guidelines and a manual process but the implementation is not ready yet. The only thing immediately actionable here would be creating a better guide for Keystone Fernet key rotation.

Backups

We briefly discussed the potential necessity of some form of backup guide for user data due to the following considerations:

... so the state seems pretty messy. server image create does different things in a non-obvious way depending on whether Ephemeral Storage or volumes are used. volume backup create does not create genuine backups strictly speaking.

We see potential here to at least formulate a guide to better assist users seeking to implement a backup concept.

josephineSei commented 3 months ago

@markus-hentsch and I further discussed the possible need to:

  1. standardize the usage of TLS and traffic encryption between the OpenStack services and the database at least.
  2. deep-dive into the possibilty to create VPNaaS in Neutron (https://docs.openstack.org/neutron-vpnaas/latest/) and whether this would be needed as a standard.
  3. deep dive into possibilities to isolate a Compute Host for a project, check if that would be a requirement for certain users and possibly make this feature better usable upstream