ETSINFV.KUBERNETES.V 1: Difference between revisions

From NFVwiki
No edit summary
No edit summary
 
(17 intermediate revisions by the same user not shown)
Line 3: Line 3:
== '''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": "<nowiki>http://json-schema.org/draft-07/schema#</nowiki>",</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>      "endpoint"</code>
  "properties": {
 
      "authType": {
<code>  ],</code>
        "type": "string",
 
        "enum": ["OID", "TOKEN", "CERTIFICATE"],
<code>  "type": "object",</code>
        "description": "The authentication type for the Kubernetes cluster. Indicates the required access information."
 
      },
<code>  "properties": {</code>
      "endpoint": {
 
        "type": "string",
<code>      "endpoint": {</code>
        "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."
      }
  }
}


<code>        "type": "string",</code>
<code>        "format": "url",</code>
<code>        "description": "The url  representing the interface endpoint."</code>
<code>      },</code>
<code>      "trustedCertificates": {</code>
<code>        "items": {</code>
<code>            "type": "string",</code>
<code>            "format": "byte"</code>
<code>        },</code>
<code>        "type": "array",</code>
<code>        "description": "A collection  of base64 encoded certificates to be trusted in relation to the endpoint."</code>
<code>      },</code>
<code>      "skipCertificateHostnameCheck":  {</code>
<code>        "default": false,</code>
<code>        "type": "boolean",</code>
<code>        "description": "Certificate  hostname check for the endpoint can be skipped by setting this field to true."</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>{
  "$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"''' ==
== '''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