ETSINFV.KUBERNETES.V 1: Difference between revisions

From NFVwiki
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
<nowiki>Insert non-formatted text here</nowiki>[[https://nfvwiki.etsi.org/index.php?title=VIM_connection_information back to VimConnectionInfo registry]]
[[https://nfvwiki.etsi.org/index.php?title=VIM_connection_information back to VimConnectionInfo registry]]


== '''1 Solution information''' ==
== '''1 Solution information''' ==
{| class="wikitable"
{| class="wikitable"
|'''Solution Name'''
|'''Solution Name [M]'''
|Kubernetes v1
|Kubernetes v1
|-
|-
|'''Description'''
|'''Description [M]'''
|ETSI-registered CISM Connection Info defining the interface and access parameters to use a Kubernetes<sup>®</sup>-based CISM, to be signalled via the APIs specified in ETSI GS NFV-SOL 003.
|ETSI-registered CISM Connection Info defining the interface and access parameters to use a Kubernetes<sup>®</sup>-based CISM, to be signalled via the APIs specified in ETSI GS NFV-SOL 003.
The API of a Kubernetes<sup>®</sup>-based CISM is specified in ETSI GS NFV-SOL 018.
The API of a Kubernetes<sup>®</sup>-based CISM is specified in ETSI GS NFV-SOL 018.
Valid for Kubernetes<sup>®</sup> releases starting from 1.22.
Valid for Kubernetes<sup>®</sup> releases starting from 1.22.
|-
|-
|'''Specification  URI'''
|'''Specification  URI [O]'''
|[https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/ https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/018/]
|https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/018/
|}
|}


== '''2 Registration information''' ==
== '''2 Registration information''' ==
{| class="wikitable"
{| class="wikitable"
|'''Registrant name'''
|'''Registrant name [M]'''
|ETSI ISG NFV  
|ETSI ISG NFV  
|}  
|}  
Line 23: Line 23:
== '''3 Requested vimType identifier''' ==
== '''3 Requested vimType identifier''' ==
{| class="wikitable"
{| class="wikitable"
|'''Registrant'''
|'''Registrant [M]'''
|
|
|'''VIM Name'''
|'''VIM Name [M]'''
|
|
|'''Version'''
|'''Version [O]'''
|-
|-
|ETSINFV
|ETSINFV
Line 39: Line 39:
Purpose: Provides information about the interface or interfaces to the CISM, such as the URI of an interface endpoint to communicate with the CISM  
Purpose: Provides information about the interface or interfaces to the CISM, such as the URI of an interface endpoint to communicate with the CISM  
{| class="wikitable"
{| class="wikitable"
|'''interfaceInfo'''
|'''interfaceInfo [M]'''
|-
|-
|<code>{</code>
|
 
<code>{
<code>  "$schema": "http://json-schema.org/draft-07/schema#",</code>
  "$schema": "http://json-schema.org/draft-07/schema#",
 
  "title": "interfaceInfo",
<code>  "title": "interfaceInfo",</code>
  "additionalProperties": false,
 
  "required": [
<code>  "additionalProperties": false,</code>
      "authType",
 
      "endpoint"
<code>  "required": [</code>
  ],
 
  "type": "object",
<code>      "authType", </code>
  "properties": {
 
      "authType": {
<code>      "endpoint" </code>
        "type": "string",
 
        "enum": ["OID", "TOKEN", "CERTIFICATE"],
<code>  ],</code>
        "description": "The authentication type for the Kubernetes cluster. Indicates the required access information."
 
      },
<code>  "type": "object", </code>
      "endpoint": {
 
        "type": "string",
<code>  "properties": { </code>
        "format": "url",
 
        "description": "The URL representing the Kubernetes cluster API endpoint."
<code>      "authType": { </code>
      },
 
      "serverCertificate": {
<code>        "type": "string", </code>
        "type": "string",
 
        "format": "byte",
<code>        "enum": ["OID", "TOKEN", "CERTIFICATE"], </code>
        "description": "CA certificate of the Kubernetes cluster API server in PEM format."
 
      },
<code>        "description": "The authentication type for the Kubernetes cluster. Indicates the required access information." </code>
      "skipCertificateVerification": {
 
        "default": false,
<code>      }, </code>
        "type": "boolean",
 
        "description": "Certificate verification for the endpoint can be skipped by setting this field to true."
<code>      "endpoint": { </code>
      }
 
  }
<code>        "type": "string", </code>
}
 
<code>        "format": "url", </code>
 
<code>        "description": "The URL representing the Kubernetes cluster API endpoint." </code>
 
<code>      }, </code>
 
<code>      "serverCertificate": { </code>
 
<code>        "type": "string", </code>
 
<code>        "format": "byte", </code>
 
<code>        "description": "CA certificate of the Kubernetes cluster API server in PEM format." </code>
 
<code>      }, </code>
 
<code>      "skipCertificateVerification": { </code>
 
<code>        "default": false, </code>
 
<code>        "type": "boolean", </code>
 
<code>        "description": "Certificate verification for the endpoint can be skipped by setting this field to true." </code>
 
<code>      } </code>
 
<code>  }</code>
 
<code>}</code>


|}
|}


== '''5 JSON schema definition of "accessInfo"''' ==
== '''5 JSON schema definition of "accessInfo"''' ==
Purpose: Provides authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups.
Purpose: Provides authentication credentials for accessing the CISM, and other access-related information.
{| class="wikitable"
{| class="wikitable"
|'''accessInfo'''
|'''accessInfo [M]'''
|-
|-
|<code>{</code>
|
 
<code>{
<code>  "$schema": "http://json-schema.org/draft-07/schema#",</code>
  "$schema": "http://json-schema.org/draft-07/schema#",
 
  "title": "accessInfo",
<code>  "title": "accessInfo",</code>
  "additionalProperties": false,
 
  "required": [],
<code>  "additionalProperties": false,</code>
  "type": "object",
 
  "properties": {
<code>  "required": [],</code>
        "tokenAuthInfo": {
 
            "type": "object",
<code>  "type": "object",</code>
            "description": "The authentication credentials for token-based authentication."
 
            "properties": {
<code>  "properties": {</code>
                "token": {  
 
                    "type": "string",
<code>        "tokenAuthInfo": {</code>
                    "format": "byte",
 
                    "description": "Binary token to be used for access authentication."
<code>            "type": "object",</code>
                }
 
            },
<code>            "description": "The authentication credentials for token-based authentication."</code>
            "required": [
 
                "token"
<code>            "properties": {</code>
            ],
 
        },
<code>                "token": { </code>
        "certificateAuthInfo": {
 
            "type": "object",
<code>                    "type": "string",</code>
            "description": "The authentication credentials for certificate-based authentication."
 
            "properties": {
<code>                    "format": "byte",</code>
                "clientCertificate": {
 
                    "type": "string",
<code>                    "description": "Binary token to be used for access authentication."</code>
                    "format": "byte",
 
                    "description": "Kubernetes client certificate data in PEM format."
<code>                }</code>
                },
 
                "clientCertificateKey": {
<code>            },</code>
                    "type": "string",
 
                    "format": "byte",
<code>            "required": [</code>
                    "description": "Kubernetes client certificate key data in PEM format."
 
                }
<code>                "token"</code>
            },
 
            "required": [
<code>            ],</code>
                "clientCertificate",
 
                "clientCertificateKey"
<code>        },</code>
            ],
 
        },
<code>        "certificateAuthInfo": {</code>
        "oidAuthInfo": {
 
            "type": "object",
<code>            "type": "object",</code>
            "description": "The authentication credentials for Open ID-based authentication."
 
            "properties": {
<code>            "description": "The authentication credentials for certificate-based authentication."</code>
                "username": {
 
                    "type": "string",
<code>            "properties": {</code>
                    "description": "The username to use for access."
 
                },
<code>                "clientCertificate": {</code>
                "password": {
 
                    "writeOnly": true,
<code>                    "type": "string",</code>
                    "type": "string",
 
                    "format": "password",
<code>                    "format": "byte",</code>
                    "description": "The password for the username for access. Required for input, not returned on output."
 
                },
<code>                    "description": "Kubernetes client certificate data in PEM format."</code>
                "clientId": {
 
                    "type": "string",
<code>                },</code>
                    "description": "An ID which identifies an client application to use for access."
 
                },
<code>                "clientCertificateKey": {</code>
                "clientSecret": {
 
                    "writeOnly": true,
<code>                    "type": "string",</code>
                    "type": "string",
 
                    "format": "password",
<code>                    "format": "byte",</code>
                    "description": "The secret for the clientId for access. Required for input, not returned on output."
 
                },
<code>                    "description": "Kubernetes client certificate key data in PEM format."</code>
                "remoteServerCertificate": {
 
                    "type": "string",
<code>                }</code>
                    "format": "byte",
 
                    "description": "CA certificate data of the Open ID API server in PEM format."
<code>            },</code>
                },
 
                "skipCertificateVerification": {
<code>            "required": [</code>
                    "default": false,
 
                    "type": "boolean",
<code>                "clientCertificate",</code>
                    "description": "Certificate verification for the remote server can be skipped by setting this field to true."
 
                }
<code>                "clientCertificateKey"</code>
            },
 
            "required": [
<code>            ],</code>
                "username",
 
                "password",
<code>        },</code>
                "clientId"
 
            ],
<code>        "oidAuthInfo": {</code>
        }
 
    }
<code>            "type": "object",</code>
}
 
<code>            "description": "The authentication credentials for Open ID-based authentication."</code>
 
<code>            "properties": {</code>
 
<code>                "username": {</code>
 
<code>                    "type": "string",</code>
 
<code>                    "description": "The username to use for access."</code>
 
<code>                },</code>
 
<code>                "password": {</code>
 
<code>                    "writeOnly": true,</code>
 
<code>                    "type": "string",</code>
 
<code>                    "format": "password",</code>
 
<code>                    "description": "The password for the username for access. Required for input, not returned on output." </code>
 
<code>                }, </code>
 
<code>                "clientId": { </code>
 
<code>                    "type": "string", </code>
 
<code>                    "description": "An ID which identifies an client application to use for access." </code>
 
<code>                }, </code>
 
<code>                "clientSecret": { </code>
 
<code>                    "writeOnly": true, </code>
 
<code>                    "type": "string", </code>
 
<code>                    "format": "password", </code>
 
<code>                    "description": "The secret for the clientId for access. Required for input, not returned on output." </code>
 
<code>                }, </code>
 
<code>                "remoteServerCertificate": { </code>
 
<code>                    "type": "string", </code>
 
<code>                    "format": "byte", </code>
 
<code>                    "description": "CA certificate data of the Open ID API server in PEM format." </code>
 
<code>                }, </code>
 
<code>                "skipCertificateVerification": { </code>
 
<code>                    "default": false, </code>
 
<code>                    "type": "boolean", </code>
 
<code>                    "description": "Certificate verification for the remote server can be skipped by setting this field to true." </code>
 
<code>                } </code>
 
<code>            }, </code>
 
<code>            "required": [ </code>
 
<code>                "username", </code>
 
<code>                "password", </code>
 
<code>                "clientId" </code>
 
<code>            ], </code>
 
<code>        } </code>
 
<code>    } </code>


<code>                        } </code>
|}
|}


== '''6 JSON schema definition of "extra"''' ==
== '''6 JSON schema definition of "extra"''' ==
Purpose: Provides optional additional VIM type specific information.  
Purpose: Provides optional additional CISM type specific information.  
{| class="wikitable"
{| class="wikitable"
|'''extra'''
|'''extra [O]'''
|-
|-
|<code>not specified</code>
|<code>not specified</code>
|}
|}

Latest revision as of 11:05, 26 April 2022

[back to VimConnectionInfo registry]

1 Solution information

Solution Name [M] Kubernetes v1
Description [M] ETSI-registered CISM Connection Info defining the interface and access parameters to use a Kubernetes®-based CISM, to be signalled via the APIs specified in ETSI GS NFV-SOL 003.

The API of a Kubernetes®-based CISM is specified in ETSI GS NFV-SOL 018. Valid for Kubernetes® releases starting from 1.22.

Specification URI [O] https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/018/

2 Registration information

Registrant name [M] ETSI ISG NFV

3 Requested vimType identifier

Registrant [M] VIM Name [M] Version [O]
ETSINFV . KUBERNETES . V_1

4 JSON schema definition of "interfaceInfo"

Purpose: Provides information about the interface or interfaces to the CISM, such as the URI of an interface endpoint to communicate with the CISM

interfaceInfo [M]

{

  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "interfaceInfo",
  "additionalProperties": false,
  "required": [
     "authType",
     "endpoint"
  ],
  "type": "object",
  "properties": {
     "authType": {
        "type": "string",
        "enum": ["OID", "TOKEN", "CERTIFICATE"],
        "description": "The authentication type for the Kubernetes cluster. Indicates the required access information."
     },
     "endpoint": {
        "type": "string",
        "format": "url",
        "description": "The URL representing the Kubernetes cluster API endpoint."
     },
     "serverCertificate": {
        "type": "string",
        "format": "byte",
        "description": "CA certificate of the Kubernetes cluster API server in PEM format."
     },
     "skipCertificateVerification": {
        "default": false,
        "type": "boolean",
        "description": "Certificate verification for the endpoint can be skipped by setting this field to true."
     }
  }

}

5 JSON schema definition of "accessInfo"

Purpose: Provides authentication credentials for accessing the CISM, and other access-related information.

accessInfo [M]

{

  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "accessInfo",
  "additionalProperties": false,
  "required": [],
  "type": "object",
  "properties": {
       "tokenAuthInfo": {
           "type": "object",
           "description": "The authentication credentials for token-based authentication."
           "properties": {
               "token": { 
                   "type": "string",
                   "format": "byte",
                   "description": "Binary token to be used for access authentication."
               }
           },
           "required": [
               "token"
           ],
       },
       "certificateAuthInfo": {
           "type": "object",
           "description": "The authentication credentials for certificate-based authentication."
           "properties": {
               "clientCertificate": {
                   "type": "string",
                   "format": "byte",
                   "description": "Kubernetes client certificate data in PEM format."
               },
               "clientCertificateKey": {
                   "type": "string",
                   "format": "byte",
                   "description": "Kubernetes client certificate key data in PEM format."
               }
           },
           "required": [
               "clientCertificate",
               "clientCertificateKey"
           ],
       },
       "oidAuthInfo": {
           "type": "object",
           "description": "The authentication credentials for Open ID-based authentication."
           "properties": {
               "username": {
                   "type": "string",
                   "description": "The username to use for access."
               },
               "password": {
                   "writeOnly": true,
                   "type": "string",
                   "format": "password",
                   "description": "The password for the username for access. Required for input, not returned on output."
               },
               "clientId": {
                   "type": "string",
                   "description": "An ID which identifies an client application to use for access."
               },
               "clientSecret": {
                   "writeOnly": true,
                   "type": "string",
                   "format": "password",
                   "description": "The secret for the clientId for access. Required for input, not returned on output."
               },
               "remoteServerCertificate": {
                   "type": "string",
                   "format": "byte",
                   "description": "CA certificate data of the Open ID API server in PEM format."
               },
               "skipCertificateVerification": {
                   "default": false,
                   "type": "boolean",
                   "description": "Certificate verification for the remote server can be skipped by setting this field to true."
               }
           },
           "required": [
               "username",
               "password",
               "clientId"
           ],
       }
   }

}

6 JSON schema definition of "extra"

Purpose: Provides optional additional CISM type specific information.

extra [O]
not specified