-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Align Volume (Block Storage) capabilities description between SCS and Gaia-X #110
Comments
classDiagram
StorageServiceOffering <|-- FileStorageServiceOffering
StorageServiceOffering <|-- BlockServiceStorageOffering
StorageServiceOffering <|-- ObjectServiceStorageOffering
As volumes are of type block storage, we have to investigate BlockStorageServiceOffering |
The following attributes are mentioned in SCS Volume Type Decision Record:
The following attributes are part of SCS Volume Type Standard:
Gaia-X class BlockStorageServiceOffering offers the following attributes:
|
Taking, what I figured out in my last comments, the following attributes must be generated:
|
Undiscoverability Gaia-X mandatory attributesGaia-X models encryption with class
Both proposals have different pros and cons. The first proposal is easy to implement, but no scalable as it will blow up configuration file. The second one, requires a more complex implementation, but will be scalable. As we want to support linked data principles, see #73, we decided to go for proposal 2. |
Use linked-data principles to add non-discoverable (mandatory) attributesLinked data offers a possibility spread knowledge about subject in different files. We use this feature to provide non-discoverable (mandatory) attributes. Assume we have an OpenStack volume type, which is encrypted. Encryption itself, can be discovered but not the mandatory attributes Assuming the example illustrated above, we will have at least two files at the end: File 1: Output of SCS GX Credential GeneratorThis file contains all discoverable attributes, such as volume name, but non-discoverable attributes are missing even if they are mandatory. {
"@context":{
"ex":"http://example.com/",
"gx":"https://w3id.org/gaia-x/development#",
"qudt":"http://qudt.org/vocab/",
"qudt-schema":"http://qudt.org/schema/qudt/",
"xsd":"http://www.w3.org/2001/XMLSchema#"
},
"@graph":[
{
"@id":"ex:myBlockStorageConfig",
"@type":"gx:BlockStorageConfiguration",
"gx:name":"LUKS Encrypted Volume",
"gx:storageEncryption":{
"@id":"storageEncryptoin_1"
}
}
]
} File 2: Manual written GX CredentialThis file contains all non-discoverable attributes of encrypted volume. The glue code between both files is the {
"@context":{
"ex":"http://example.com/",
"gx":"https://w3id.org/gaia-x/development#",
"qudt":"http://qudt.org/vocab/",
"qudt-schema":"http://qudt.org/schema/qudt/",
"xsd":"http://www.w3.org/2001/XMLSchema#"
},
"@graph":[
{
"@id":"storageEncryptoin_1",
"@type":"gx:Encryption",
"gx:cipher":"RSA",
"gx:keyManagement":"BYOK"
}
]
} |
Support linked data principle comes with one major drawback: We can not generate all Gaia-X Credentials and request for Gaia-X compliance in a glance. Instead, we have to go for a three step process
Hence, we have to adapt source code as follows:
|
There exists a SCS decision record and a standard on volume types and a base class, called Storage Service Offering to describe storage capabilities. Both have to be aligned.
The text was updated successfully, but these errors were encountered: