openapi: 3.1.0 info: title: Istio Extensions AuthorizationPolicy ServiceEntry API description: The Istio Extensions API (extensions.istio.io) provides configuration resources for extending the Istio service mesh with custom functionality. The WasmPlugin resource enables deploying WebAssembly (Wasm) modules as plugins to the Envoy sidecar proxies, allowing custom processing of network traffic at various phases of the request lifecycle. These resources are defined as Kubernetes Custom Resource Definitions (CRDs) and are accessed via the Kubernetes API server. version: v1alpha1 contact: name: Istio url: https://istio.io/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://{cluster}/apis/extensions.istio.io/v1alpha1 description: Kubernetes API server endpoint for Istio Extensions v1alpha1 variables: cluster: default: kubernetes.default.svc description: Kubernetes API server hostname tags: - name: ServiceEntry description: External service entries added to the mesh service registry externalDocs: url: https://istio.io/latest/docs/reference/config/networking/service-entry/ paths: /namespaces/{namespace}/serviceentries: get: operationId: listServiceEntries summary: Istio List ServiceEntries description: List all ServiceEntry resources in the specified namespace. A ServiceEntry enables adding additional entries into Istio's internal service registry, so that auto-discovered services in the mesh can access and route to these manually specified services. tags: - ServiceEntry parameters: - $ref: '#/components/parameters/namespace' - $ref: '#/components/parameters/labelSelector' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/continue' responses: '200': description: Successful response containing list of ServiceEntries content: application/json: schema: $ref: '#/components/schemas/ServiceEntryList' '401': description: Unauthorized post: operationId: createServiceEntry summary: Istio Create a ServiceEntry description: Create a new ServiceEntry resource in the specified namespace. tags: - ServiceEntry parameters: - $ref: '#/components/parameters/namespace' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ServiceEntry' responses: '201': description: ServiceEntry created content: application/json: schema: $ref: '#/components/schemas/ServiceEntry' '401': description: Unauthorized '409': description: Conflict /namespaces/{namespace}/serviceentries/{name}: get: operationId: getServiceEntry summary: Istio Get a ServiceEntry description: Read the specified ServiceEntry resource. tags: - ServiceEntry parameters: - $ref: '#/components/parameters/namespace' - $ref: '#/components/parameters/name' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ServiceEntry' '401': description: Unauthorized '404': description: Not found put: operationId: replaceServiceEntry summary: Istio Replace a ServiceEntry description: Replace the specified ServiceEntry resource. tags: - ServiceEntry parameters: - $ref: '#/components/parameters/namespace' - $ref: '#/components/parameters/name' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ServiceEntry' responses: '200': description: ServiceEntry replaced content: application/json: schema: $ref: '#/components/schemas/ServiceEntry' '401': description: Unauthorized '404': description: Not found delete: operationId: deleteServiceEntry summary: Istio Delete a ServiceEntry description: Delete the specified ServiceEntry resource. tags: - ServiceEntry parameters: - $ref: '#/components/parameters/namespace' - $ref: '#/components/parameters/name' responses: '200': description: ServiceEntry deleted '401': description: Unauthorized '404': description: Not found components: schemas: ServiceEntryList: type: object properties: apiVersion: type: string kind: type: string enum: - ServiceEntryList metadata: $ref: '#/components/schemas/ListMeta' items: type: array items: $ref: '#/components/schemas/ServiceEntry' ServiceEntry: type: object properties: apiVersion: type: string enum: - networking.istio.io/v1 kind: type: string enum: - ServiceEntry metadata: $ref: '#/components/schemas/ObjectMeta' spec: type: object properties: hosts: type: array items: type: string description: The hosts associated with the ServiceEntry. addresses: type: array items: type: string description: Virtual IP addresses associated with the service. ports: type: array items: type: object properties: number: type: integer protocol: type: string name: type: string description: The ports associated with the external service. location: type: string enum: - MESH_EXTERNAL - MESH_INTERNAL description: Whether the service should be considered external or part of the mesh. resolution: type: string enum: - NONE - STATIC - DNS - DNS_ROUND_ROBIN description: Service discovery mode for the hosts. endpoints: type: array items: type: object properties: address: type: string ports: type: object additionalProperties: type: integer labels: type: object additionalProperties: type: string description: One or more endpoints associated with the service. exportTo: type: array items: type: string ObjectMeta: type: object properties: name: type: string description: Name of the resource namespace: type: string description: Namespace of the resource labels: type: object additionalProperties: type: string description: Map of string keys and values for organizing resources annotations: type: object additionalProperties: type: string description: Unstructured key-value map for storing arbitrary metadata creationTimestamp: type: string format: date-time description: Timestamp representing the server time when this object was created resourceVersion: type: string description: An opaque value that represents the internal version of this object ListMeta: type: object properties: resourceVersion: type: string continue: type: string parameters: labelSelector: name: labelSelector in: query description: A selector to restrict the list of returned objects by their labels schema: type: string continue: name: continue in: query description: Continue token for paginated list requests schema: type: string name: name: name in: path required: true description: The resource name schema: type: string namespace: name: namespace in: path required: true description: The Kubernetes namespace schema: type: string limit: name: limit in: query description: Maximum number of resources to return schema: type: integer securitySchemes: BearerAuth: type: http scheme: bearer description: Kubernetes API server bearer token authentication externalDocs: description: Istio Extensions Configuration Reference url: https://istio.io/latest/docs/reference/config/