blob: 3dc16f0d51366c7e5a2300325fb205730759d5ec [file] [log] [blame]
# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.5
creationTimestamp: null
name: uis.operator.skywalking.apache.org
spec:
additionalPrinterColumns:
- JSONPath: .spec.version
description: The version
name: Version
priority: 1
type: string
- JSONPath: .spec.instances
description: The number of expected instance
name: Instances
type: string
- JSONPath: .status.availableReplicas
description: The number of running
name: Running
type: string
- JSONPath: .status.internalAddress
description: The address of OAP server
name: InternalAddress
type: string
- JSONPath: .status.externalIPs
description: The address of OAP server
name: ExternalIPs
type: string
- JSONPath: .status.ports
description: The address of OAP server
name: Ports
type: string
- JSONPath: .spec.image
name: Image
priority: 1
type: string
group: operator.skywalking.apache.org
names:
kind: UI
listKind: UIList
plural: uis
singular: ui
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: UI is the Schema for the uis API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: UISpec defines the desired state of UI
properties:
OAPServerAddress:
description: Backend OAP server address
type: string
image:
description: Image is the UI Docker image to deploy.
type: string
instances:
description: Count is the number of UI pods
format: int32
type: integer
service:
description: Service relevant settings
properties:
ingress:
description: Ingress defines the behavior of an ingress
properties:
annotations:
additionalProperties:
type: string
description: Annotations is an unstructured key value map stored
with a resource that may be set by external tools to store
and retrieve arbitrary metadata. They are not queryable and
should be preserved when modifying objects.
type: object
host:
description: Host is the fully qualified domain name of a network
host, as defined by RFC 3986. Note the following deviations
from the "host" part of the URI as defined in RFC 3986
type: string
ingressClassName:
description: IngressClassName is the name of the IngressClass
cluster resource. The associated IngressClass defines which
controller will implement the resource. This replaces the
deprecated `kubernetes.io/ingress.class` annotation. For backwards
compatibility, when that annotation is set, it must be given
precedence over this field. The controller may emit a warning
if the field and annotation have different values. Implementations
of this API should ignore Ingresses without a class specified.
An IngressClass resource may be marked as default, which can
be used to set a default value for this field. For more information,
refer to the IngressClass documentation.
type: string
tls:
description: TLS configuration. Currently the Ingress only supports
a single TLS port, 443. If multiple members of this list specify
different hosts, they will be multiplexed on the same port
according to the hostname specified through the SNI TLS extension,
if the ingress controller fulfilling the ingress supports
SNI.
items:
description: IngressTLS describes the transport layer security
associated with an Ingress.
properties:
hosts:
description: Hosts are a list of hosts included in the
TLS certificate. The values in this list must match
the name/s used in the tlsSecret. Defaults to the wildcard
host setting for the loadbalancer controller fulfilling
this Ingress, if left unspecified.
items:
type: string
type: array
x-kubernetes-list-type: atomic
secretName:
description: SecretName is the name of the secret used
to terminate TLS traffic on port 443. Field is left
optional to allow TLS routing based on SNI hostname
alone. If the SNI host in a listener conflicts with
the "Host" header field used by an IngressRule, the
SNI host is used for termination and value of the Host
header is used for routing.
type: string
type: object
type: array
type: object
template:
description: ServiceTemplate defines the behavior of a service.
properties:
clusterIP:
description: clusterIP is the IP address of the service and
is usually assigned randomly.
type: string
externalIPs:
description: externalIPs is a list of IP addresses for which
nodes in the cluster will also accept traffic for this service.
items:
type: string
type: array
loadBalancerIP:
description: 'Only applies to Service Type: LoadBalancer LoadBalancer
will get created with the IP specified in this field.'
type: string
loadBalancerSourceRanges:
description: If specified and supported by the platform, this
will restrict traffic through the cloud-provider load-balancer
will be restricted to the specified client IPs.
items:
type: string
type: array
type:
description: type determines how the Service is exposed.
type: string
type: object
type: object
version:
description: Version of UI.
type: string
required:
- instances
- version
type: object
status:
description: UIStatus defines the observed state of UI
properties:
availableReplicas:
description: Total number of available pods (ready for at least minReadySeconds)
targeted by this deployment.
format: int32
type: integer
conditions:
description: Represents the latest available observations of the underlying
deployment's current state.
items:
description: DeploymentCondition describes the state of a deployment
at a certain point.
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
format: date-time
type: string
lastUpdateTime:
description: The last time this condition was updated.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of deployment condition.
type: string
required:
- status
- type
type: object
type: array
externalIPs:
description: externalIPs is a list of IP addresses for which nodes in
the cluster will also accept traffic for this service.
items:
type: string
type: array
internalAddress:
type: string
ports:
description: Ports that will be exposed by this service.
items:
format: int32
type: integer
type: array
type: object
type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []