You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2021/11/29 02:20:40 UTC
[skywalking-swck] branch master updated: Remove deprecated Kubernetes API dependence (#47)
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-swck.git
The following commit(s) were added to refs/heads/master by this push:
new 8987bd1 Remove deprecated Kubernetes API dependence (#47)
8987bd1 is described below
commit 8987bd1dcb0b791665f5406b3c8af372e7160c04
Author: Roland <ro...@kubesphere.io>
AuthorDate: Mon Nov 29 10:20:33 2021 +0800
Remove deprecated Kubernetes API dependence (#47)
* Update CRD version to apiextensions.k8s.io/v1
* Upgrade cert-manager api to cert-manager.io/v1
* Upgrade ingress api to networking.k8s.io/v1
* Update kubebuilder and test tools
Signed-off-by: Roland.Ma <ro...@kubesphere.io>
Co-authored-by: Gao Hongtao <ha...@gmail.com>
---
Makefile | 4 +-
apis/operator/v1alpha1/fetcher_webhook.go | 4 +-
.../v1alpha1/javaagent_injector_webhook.go | 2 +-
apis/operator/v1alpha1/javaagent_webhook.go | 4 +-
apis/operator/v1alpha1/oapserver_webhook.go | 4 +-
apis/operator/v1alpha1/storage_webhook.go | 4 +-
apis/operator/v1alpha1/ui_webhook.go | 4 +-
.../operator.skywalking.apache.org_fetchers.yaml | 156 +--
.../operator.skywalking.apache.org_javaagents.yaml | 147 ++-
.../operator.skywalking.apache.org_oapservers.yaml | 1015 ++++++++++----------
.../operator.skywalking.apache.org_storages.yaml | 433 +++++----
.../bases/operator.skywalking.apache.org_uis.yaml | 433 ++++-----
config/operator/certmanager/certificate.yaml | 4 +-
.../operator.skywalking.apache.org_fetchers.yaml | 156 +--
.../operator.skywalking.apache.org_javaagents.yaml | 147 ++-
.../operator.skywalking.apache.org_oapservers.yaml | 1015 ++++++++++----------
.../operator.skywalking.apache.org_storages.yaml | 433 +++++----
.../bases/operator.skywalking.apache.org_uis.yaml | 433 ++++-----
.../crd/patches/cainjection_in_fetchers.yaml | 2 +-
.../crd/patches/cainjection_in_javaagents.yaml | 2 +-
.../crd/patches/cainjection_in_oapservers.yaml | 2 +-
.../crd/patches/cainjection_in_storages.yaml | 2 +-
.../operator/crd/patches/cainjection_in_uis.yaml | 2 +-
.../operator/crd/patches/webhook_in_fetchers.yaml | 20 +-
.../crd/patches/webhook_in_javaagents.yaml | 20 +-
.../crd/patches/webhook_in_oapservers.yaml | 20 +-
.../operator/crd/patches/webhook_in_storages.yaml | 20 +-
config/operator/crd/patches/webhook_in_uis.yaml | 20 +-
config/operator/default/kustomization.yaml | 4 +-
.../operator/default/webhookcainjection_patch.yaml | 4 +-
.../rbac/auth_proxy_client_clusterrole.yaml | 2 +-
config/operator/webhook/manifests.yaml | 70 +-
config/operator/webhook/ns_selector_patch.yaml | 2 +-
controllers/operator/ui_controller.go | 4 +-
controllers/operator/ui_controller_test.go | 4 +-
hack/install-kubebuilder.sh | 9 +-
pkg/operator/manifests/ui/templates/ingress.yaml | 13 +-
pkg/operator/repo/assets.gen.go | 17 +-
38 files changed, 2342 insertions(+), 2295 deletions(-)
diff --git a/Makefile b/Makefile
index 2858255..3569b23 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@
OPERATOR_IMG ?= controller:latest
ADAPTER_IMG ?= metrics-adapter:latest
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
-CRD_OPTIONS ?= "crd:trivialVersions=true"
+CRD_OPTIONS ?= crd
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
@@ -149,7 +149,7 @@ ifeq (, $(shell which controller-gen))
CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
cd $$CONTROLLER_GEN_TMP_DIR ;\
go mod init tmp ;\
- go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.2.5 ;\
+ go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.7.0 ;\
rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
}
CONTROLLER_GEN=$(GOBIN)/controller-gen
diff --git a/apis/operator/v1alpha1/fetcher_webhook.go b/apis/operator/v1alpha1/fetcher_webhook.go
index efa03b0..92d9a52 100644
--- a/apis/operator/v1alpha1/fetcher_webhook.go
+++ b/apis/operator/v1alpha1/fetcher_webhook.go
@@ -36,7 +36,7 @@ func (r *Fetcher) SetupWebhookWithManager(mgr ctrl.Manager) error {
}
// nolint: lll
-// +kubebuilder:webhook:path=/mutate-operator-skywalking-apache-org-v1alpha1-fetcher,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=fetchers,verbs=create;update,versions=v1alpha1,name=mfetcher.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,path=/mutate-operator-skywalking-apache-org-v1alpha1-fetcher,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=fetchers,verbs=create;update,versions=v1alpha1,name=mfetcher.kb.io
var _ webhook.Defaulter = &Fetcher{}
@@ -49,7 +49,7 @@ func (r *Fetcher) Default() {
}
// nolint: lll
-// +kubebuilder:webhook:verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-fetcher,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=fetchers,versions=v1alpha1,name=vfetcher.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-fetcher,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=fetchers,versions=v1alpha1,name=vfetcher.kb.io
var _ webhook.Validator = &Fetcher{}
diff --git a/apis/operator/v1alpha1/javaagent_injector_webhook.go b/apis/operator/v1alpha1/javaagent_injector_webhook.go
index 0d262e1..d8db268 100644
--- a/apis/operator/v1alpha1/javaagent_injector_webhook.go
+++ b/apis/operator/v1alpha1/javaagent_injector_webhook.go
@@ -33,7 +33,7 @@ import (
var javaagentInjectorLog = logf.Log.WithName("javaagent_injector")
// nolint: lll
-// +kubebuilder:webhook:path=/mutate-v1-pod,mutating=true,failurePolicy=fail,groups="",resources=pods,verbs=create;update,versions=v1,name=mpod.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,path=/mutate-v1-pod,mutating=true,failurePolicy=fail,groups="",resources=pods,verbs=create;update,versions=v1,name=mpod.kb.io
// Javaagent injects java agent into Pods
type JavaagentInjector struct {
diff --git a/apis/operator/v1alpha1/javaagent_webhook.go b/apis/operator/v1alpha1/javaagent_webhook.go
index 99dcc99..e601a36 100644
--- a/apis/operator/v1alpha1/javaagent_webhook.go
+++ b/apis/operator/v1alpha1/javaagent_webhook.go
@@ -38,7 +38,7 @@ func (r *JavaAgent) SetupWebhookWithManager(mgr ctrl.Manager) error {
}
// nolint: lll
-// +kubebuilder:webhook:path=/mutate-operator-skywalking-apache-org-v1alpha1-javaagent,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=javaagents,verbs=create;update,versions=v1alpha1,name=mjavaagent.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,path=/mutate-operator-skywalking-apache-org-v1alpha1-javaagent,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=javaagents,verbs=create;update,versions=v1alpha1,name=mjavaagent.kb.io
var _ webhook.Defaulter = &JavaAgent{}
@@ -63,7 +63,7 @@ func (r *JavaAgent) Default() {
}
// nolint: lll
-// +kubebuilder:webhook:verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-javaagent,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=javaagents,versions=v1alpha1,name=vjavaagent.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-javaagent,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=javaagents,versions=v1alpha1,name=vjavaagent.kb.io
var _ webhook.Validator = &JavaAgent{}
diff --git a/apis/operator/v1alpha1/oapserver_webhook.go b/apis/operator/v1alpha1/oapserver_webhook.go
index e88bf6d..9dffe3a 100644
--- a/apis/operator/v1alpha1/oapserver_webhook.go
+++ b/apis/operator/v1alpha1/oapserver_webhook.go
@@ -38,7 +38,7 @@ func (r *OAPServer) SetupWebhookWithManager(mgr ctrl.Manager) error {
}
// nolint: lll
-// +kubebuilder:webhook:path=/mutate-operator-skywalking-apache-org-v1alpha1-oapserver,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=oapservers,verbs=create;update,versions=v1alpha1,name=moapserver.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,path=/mutate-operator-skywalking-apache-org-v1alpha1-oapserver,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=oapservers,verbs=create;update,versions=v1alpha1,name=moapserver.kb.io
var _ webhook.Defaulter = &OAPServer{}
@@ -61,7 +61,7 @@ func (r *OAPServer) Default() {
}
// nolint: lll
-// +kubebuilder:webhook:verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-oapserver,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=oapservers,versions=v1alpha1,name=voapserver.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-oapserver,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=oapservers,versions=v1alpha1,name=voapserver.kb.io
var _ webhook.Validator = &OAPServer{}
diff --git a/apis/operator/v1alpha1/storage_webhook.go b/apis/operator/v1alpha1/storage_webhook.go
index d3ff66a..1edd860 100644
--- a/apis/operator/v1alpha1/storage_webhook.go
+++ b/apis/operator/v1alpha1/storage_webhook.go
@@ -37,7 +37,7 @@ func (r *Storage) SetupWebhookWithManager(mgr ctrl.Manager) error {
}
// nolint: lll
-// +kubebuilder:webhook:path=/mutate-operator-skywalking-apache-org-v1alpha1-storage,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=storages,verbs=create;update,versions=v1alpha1,name=mstorage.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,path=/mutate-operator-skywalking-apache-org-v1alpha1-storage,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=storages,verbs=create;update,versions=v1alpha1,name=mstorage.kb.io
var _ webhook.Defaulter = &Storage{}
@@ -55,7 +55,7 @@ func (r *Storage) Default() {
}
// nolint: lll
-// +kubebuilder:webhook:verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-storage,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=storages,versions=v1alpha1,name=vstorage.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-storage,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=storages,versions=v1alpha1,name=vstorage.kb.io
var _ webhook.Validator = &Storage{}
diff --git a/apis/operator/v1alpha1/ui_webhook.go b/apis/operator/v1alpha1/ui_webhook.go
index 41f46ff..d026f08 100644
--- a/apis/operator/v1alpha1/ui_webhook.go
+++ b/apis/operator/v1alpha1/ui_webhook.go
@@ -36,7 +36,7 @@ func (r *UI) SetupWebhookWithManager(mgr ctrl.Manager) error {
}
// nolint: lll
-// +kubebuilder:webhook:path=/mutate-operator-skywalking-apache-org-v1alpha1-ui,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=uis,verbs=create;update,versions=v1alpha1,name=mui.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,path=/mutate-operator-skywalking-apache-org-v1alpha1-ui,mutating=true,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=uis,verbs=create;update,versions=v1alpha1,name=mui.kb.io
var _ webhook.Defaulter = &UI{}
@@ -55,7 +55,7 @@ func (r *UI) Default() {
}
// nolint: lll
-// +kubebuilder:webhook:verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-ui,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=uis,versions=v1alpha1,name=vui.kb.io
+// +kubebuilder:webhook:admissionReviewVersions=v1,sideEffects=None,verbs=create;update,path=/validate-operator-skywalking-apache-org-v1alpha1-ui,mutating=false,failurePolicy=fail,groups=operator.skywalking.apache.org,resources=uis,versions=v1alpha1,name=vui.kb.io
var _ webhook.Validator = &UI{}
diff --git a/config/dev/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml b/config/dev/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml
index 01a27d4..7cc1ad5 100644
--- a/config/dev/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml
+++ b/config/dev/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml
@@ -17,11 +17,11 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: fetchers.operator.skywalking.apache.org
spec:
@@ -32,86 +32,86 @@ spec:
plural: fetchers
singular: fetcher
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: Fetcher is the Schema for the fetchers 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: FetcherSpec defines the desired state of Fetcher
- properties:
- OAPServerAddress:
- description: OAPServerAddress is the address of backend OAPServers
- type: string
- clusterName:
- description: ClusterName
- type: string
- type:
- description: Fetcher is the type of how to fetch metrics from target.
- items:
- description: Service Type string describes ingress methods for a service
- type: string
- type: array
- type: object
- status:
- description: FetcherStatus defines the observed state of Fetcher
- properties:
- conditions:
- description: Represents the latest available observations of a fetcher'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
- 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
- replicas:
- description: Replicas is currently not being set and might be removed
- in the next version.
- format: int32
- type: integer
- type: object
- type: object
- version: v1alpha1
versions:
- name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Fetcher is the Schema for the fetchers 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: FetcherSpec defines the desired state of Fetcher
+ properties:
+ OAPServerAddress:
+ description: OAPServerAddress is the address of backend OAPServers
+ type: string
+ clusterName:
+ description: ClusterName
+ type: string
+ type:
+ description: Fetcher is the type of how to fetch metrics from target.
+ items:
+ description: Service Type string describes ingress methods for a
+ service
+ type: string
+ type: array
+ type: object
+ status:
+ description: FetcherStatus defines the observed state of Fetcher
+ properties:
+ conditions:
+ description: Represents the latest available observations of a fetcher'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
+ 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
+ replicas:
+ description: Replicas is currently not being set and might be removed
+ in the next version.
+ format: int32
+ type: integer
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/dev/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml b/config/dev/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml
index 8ed8b17..c441890 100644
--- a/config/dev/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml
+++ b/config/dev/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml
@@ -17,27 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: javaagents.operator.skywalking.apache.org
spec:
- additionalPrinterColumns:
- - JSONPath: .spec.podSelector
- description: The selector label of injected Pod
- name: PodSelector
- type: string
- - JSONPath: .spec.serviceName
- description: The name of service in the injected agent
- name: ServiceName
- type: string
- - JSONPath: .spec.backendService
- description: The backend service in the injected agent
- name: BackendService
- type: string
group: operator.skywalking.apache.org
names:
kind: JavaAgent
@@ -45,68 +32,80 @@ spec:
plural: javaagents
singular: javaagent
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: JavaAgent is the Schema for the javaagents 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: JavaAgentSpec defines the desired state of JavaAgent
- properties:
- agentConfiguration:
- additionalProperties:
- type: string
- description: AgentConfiguration is the injected agent's final configuration
- type: object
- backendService:
- description: BackendService is the backend service in the injected agent,
- which need to be printed
- type: string
- podSelector:
- description: PodSelector is the selector label of injected Pod
- type: string
- serviceName:
- description: ServiceName is the name of service in the injected agent,
- which need to be printed
- type: string
- type: object
- status:
- description: JavaAgentStatus defines the observed state of JavaAgent
- properties:
- creationTime:
- description: The time the JavaAgent was created.
- format: date-time
- type: string
- expectedInjectiedNum:
- description: The number of pods that need to be injected
- type: integer
- lastUpdateTime:
- description: The last time this condition was updated.
- format: date-time
- type: string
- realInjectedNum:
- description: The number of pods that injected successfully
- type: integer
- type: object
- type: object
- version: v1alpha1
versions:
- - name: v1alpha1
+ - additionalPrinterColumns:
+ - description: The selector label of injected Pod
+ jsonPath: .spec.podSelector
+ name: PodSelector
+ type: string
+ - description: The name of service in the injected agent
+ jsonPath: .spec.serviceName
+ name: ServiceName
+ type: string
+ - description: The backend service in the injected agent
+ jsonPath: .spec.backendService
+ name: BackendService
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: JavaAgent is the Schema for the javaagents 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: JavaAgentSpec defines the desired state of JavaAgent
+ properties:
+ agentConfiguration:
+ additionalProperties:
+ type: string
+ description: AgentConfiguration is the injected agent's final configuration
+ type: object
+ backendService:
+ description: BackendService is the backend service in the injected
+ agent, which need to be printed
+ type: string
+ podSelector:
+ description: PodSelector is the selector label of injected Pod
+ type: string
+ serviceName:
+ description: ServiceName is the name of service in the injected agent,
+ which need to be printed
+ type: string
+ type: object
+ status:
+ description: JavaAgentStatus defines the observed state of JavaAgent
+ properties:
+ creationTime:
+ description: The time the JavaAgent was created.
+ format: date-time
+ type: string
+ expectedInjectiedNum:
+ description: The number of pods that need to be injected
+ type: integer
+ lastUpdateTime:
+ description: The last time this condition was updated.
+ format: date-time
+ type: string
+ realInjectedNum:
+ description: The number of pods that injected successfully
+ type: integer
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/dev/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml b/config/dev/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml
index bd73b05..53ced0d 100644
--- a/config/dev/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml
+++ b/config/dev/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml
@@ -17,36 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: oapservers.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.address
- description: The address of OAP server
- name: Address
- type: string
- - JSONPath: .spec.image
- name: Image
- priority: 1
- type: string
group: operator.skywalking.apache.org
names:
kind: OAPServer
@@ -54,513 +32,538 @@ spec:
plural: oapservers
singular: oapserver
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: OAPServer is the Schema for the oapservers 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: OAPServerSpec defines the desired state of OAPServer
- properties:
- config:
- description: Config holds the OAP server configuration.
- items:
- description: EnvVar represents an environment variable present in
- a Container.
+ versions:
+ - additionalPrinterColumns:
+ - description: The version
+ jsonPath: .spec.version
+ name: Version
+ priority: 1
+ type: string
+ - description: The number of expected instance
+ jsonPath: .spec.instances
+ name: Instances
+ type: string
+ - description: The number of running
+ jsonPath: .status.availableReplicas
+ name: Running
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.address
+ name: Address
+ type: string
+ - jsonPath: .spec.image
+ name: Image
+ priority: 1
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: OAPServer is the Schema for the oapservers 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: OAPServerSpec defines the desired state of OAPServer
+ properties:
+ config:
+ description: Config holds the OAP server configuration.
+ items:
+ description: EnvVar represents an environment variable present in
+ a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must be a C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are expanded using
+ the previous defined environment variables in the container
+ and any service environment variables. If a variable cannot
+ be resolved, the reference in the input string will be unchanged.
+ The $(VAR_NAME) syntax can be escaped with a double $$, ie:
+ $$(VAR_NAME). Escaped references will never be expanded, regardless
+ of whether the variable exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: Source for the environment variable's value. Cannot
+ be used if value is not empty.
+ properties:
+ configMapKeyRef:
+ description: Selects a key of a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ description: 'Selects a field of the pod: supports metadata.name,
+ metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
+ spec.nodeName, spec.serviceAccountName, status.hostIP,
+ status.podIP, status.podIPs.'
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath is
+ written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select in the specified
+ API version.
+ type: string
+ required:
+ - fieldPath
+ type: object
+ resourceFieldRef:
+ description: 'Selects a resource of the container: only
+ resources limits and requests (limits.cpu, limits.memory,
+ limits.ephemeral-storage, requests.cpu, requests.memory
+ and requests.ephemeral-storage) are currently supported.'
+ properties:
+ containerName:
+ description: 'Container name: required for volumes,
+ optional for env vars'
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Specifies the output format of the exposed
+ resources, defaults to "1"
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ type: object
+ secretKeyRef:
+ description: Selects a key of a secret in the pod's namespace
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ image:
+ description: Image is the OAP Server Docker image to deploy.
+ type: string
+ instances:
+ description: Count is the number of OAP servers
+ format: int32
+ type: integer
+ service:
+ description: Service relevant settings
properties:
- name:
- description: Name of the environment variable. Must be a C_IDENTIFIER.
- type: string
- value:
- description: 'Variable references $(VAR_NAME) are expanded using
- the previous defined environment variables in the container
- and any service environment variables. If a variable cannot
- be resolved, the reference in the input string will be unchanged.
- The $(VAR_NAME) syntax can be escaped with a double $$, ie:
- $$(VAR_NAME). Escaped references will never be expanded, regardless
- of whether the variable exists or not. Defaults to "".'
- type: string
- valueFrom:
- description: Source for the environment variable's value. Cannot
- be used if value is not empty.
+ ingress:
+ description: Ingress defines the behavior of an ingress
properties:
- configMapKeyRef:
- description: Selects a key of a ConfigMap.
- properties:
- key:
- description: The key to select.
- type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
- type: string
- optional:
- description: Specify whether the ConfigMap or its key
- must be defined
- type: boolean
- required:
- - key
+ 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
+ storage:
+ description: StorageConfig relevant settings
+ properties:
+ injectstorage:
+ description: Storage relevant settings
+ 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
- fieldRef:
- description: 'Selects a field of the pod: supports metadata.name,
- metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
- spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP,
- status.podIPs.'
+ spec:
+ description: StorageSpec defines the desired state of Storage
properties:
- apiVersion:
- description: Version of the schema the FieldPath is written
- in terms of, defaults to "v1".
+ address:
+ description: Address of external storage address.
type: string
- fieldPath:
- description: Path of the field to select in the specified
- API version.
+ config:
+ description: Config holds the Storage configuration.
+ items:
+ description: EnvVar represents an environment variable
+ present in a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must
+ be a C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are
+ expanded using the previous defined environment
+ variables in the container and any service environment
+ variables. If a variable cannot be resolved, the
+ reference in the input string will be unchanged.
+ The $(VAR_NAME) syntax can be escaped with a double
+ $$, ie: $$(VAR_NAME). Escaped references will
+ never be expanded, regardless of whether the variable
+ exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: Source for the environment variable's
+ value. Cannot be used if value is not empty.
+ properties:
+ configMapKeyRef:
+ description: Selects a key of a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ description: 'Selects a field of the pod: supports
+ metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
+ `metadata.annotations[''<KEY>'']`, spec.nodeName,
+ spec.serviceAccountName, status.hostIP, status.podIP,
+ status.podIPs.'
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath
+ is written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select
+ in the specified API version.
+ type: string
+ required:
+ - fieldPath
+ type: object
+ resourceFieldRef:
+ description: 'Selects a resource of the container:
+ only resources limits and requests (limits.cpu,
+ limits.memory, limits.ephemeral-storage, requests.cpu,
+ requests.memory and requests.ephemeral-storage)
+ are currently supported.'
+ properties:
+ containerName:
+ description: 'Container name: required for
+ volumes, optional for env vars'
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Specifies the output format
+ of the exposed resources, defaults to
+ "1"
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ type: object
+ secretKeyRef:
+ description: Selects a key of a secret in the
+ pod's namespace
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ connectType:
+ description: ConnectType is the way to connect storage(e.g.
+ external,internal).
type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- description: 'Selects a resource of the container: only resources
- limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage,
- requests.cpu, requests.memory and requests.ephemeral-storage)
- are currently supported.'
- properties:
- containerName:
- description: 'Container name: required for volumes, optional
- for env vars'
+ image:
+ description: Image is the storage Docker image to deploy.
type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- description: Specifies the output format of the exposed
- resources, defaults to "1"
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
+ instances:
+ description: Instance is the number of storage.
+ format: int32
+ type: integer
resource:
- description: 'Required: resource to select'
+ description: ResourceCnfig relevant settings
+ properties:
+ limit:
+ type: string
+ requests:
+ type: string
+ type: object
+ security:
+ description: Security relevant settings
+ properties:
+ tls:
+ description: SSLConfig of storage .
+ type: boolean
+ user:
+ description: UserConfig of storage .
+ properties:
+ secretName:
+ description: SecretName of storage user .
+ type: string
+ type: object
+ type: object
+ servicename:
+ description: ServiceName relevant settings
type: string
- required:
- - resource
- type: object
- secretKeyRef:
- description: Selects a key of a secret in the pod's namespace
- properties:
- key:
- description: The key of the secret to select from. Must
- be a valid secret key.
+ type:
+ description: Type of storage.
type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
+ version:
+ description: Version of storage.
type: string
- optional:
- description: Specify whether the Secret or its key must
- be defined
- type: boolean
- required:
- - key
type: object
- type: object
- required:
- - name
- type: object
- type: array
- image:
- description: Image is the OAP Server Docker image to deploy.
- type: string
- instances:
- description: Count is the number of OAP servers
- 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.
+ status:
+ description: StorageStatus defines the observed state of Storage
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.
+ conditions:
+ description: Represents the latest available observations
+ of the underlying statefulset's current state.
items:
- type: string
+ description: StatefulSetCondition describes the state
+ of a statefulset at a certain point.
+ properties:
+ lastTransitionTime:
+ description: Last time the condition transitioned
+ from one status to another.
+ 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 statefulset condition.
+ type: string
+ required:
+ - status
+ - type
+ type: object
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.
+ type: object
+ name:
+ description: Name relevant settings
+ type: string
+ type: object
+ version:
+ description: Version of OAP.
+ type: string
+ required:
+ - instances
+ - version
+ type: object
+ status:
+ description: OAPServerStatus defines the observed state of OAPServer
+ properties:
+ address:
+ description: Address indicates the entry of OAP server which ingresses
+ data
+ type: string
+ 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:
- clusterIP:
- description: clusterIP is the IP address of the service and
- is usually assigned randomly.
+ lastTransitionTime:
+ description: Last time the condition transitioned from one status
+ to another.
+ format: date-time
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.'
+ lastUpdateTime:
+ description: The last time this condition was updated.
+ format: date-time
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.
+ message:
+ description: A human readable message indicating details about
+ the transition.
type: string
- type: object
- type: object
- storage:
- description: StorageConfig relevant settings
- properties:
- injectstorage:
- description: Storage relevant settings
- 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'
+ reason:
+ description: The reason for the condition's last transition.
type: string
- metadata:
- type: object
- spec:
- description: StorageSpec defines the desired state of Storage
- properties:
- address:
- description: Address of external storage address.
- type: string
- config:
- description: Config holds the Storage configuration.
- items:
- description: EnvVar represents an environment variable
- present in a Container.
- properties:
- name:
- description: Name of the environment variable. Must
- be a C_IDENTIFIER.
- type: string
- value:
- description: 'Variable references $(VAR_NAME) are
- expanded using the previous defined environment
- variables in the container and any service environment
- variables. If a variable cannot be resolved, the
- reference in the input string will be unchanged.
- The $(VAR_NAME) syntax can be escaped with a double
- $$, ie: $$(VAR_NAME). Escaped references will never
- be expanded, regardless of whether the variable
- exists or not. Defaults to "".'
- type: string
- valueFrom:
- description: Source for the environment variable's
- value. Cannot be used if value is not empty.
- properties:
- configMapKeyRef:
- description: Selects a key of a ConfigMap.
- properties:
- key:
- description: The key to select.
- type: string
- name:
- description: 'Name of the referent. More info:
- https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion,
- kind, uid?'
- type: string
- optional:
- description: Specify whether the ConfigMap
- or its key must be defined
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- description: 'Selects a field of the pod: supports
- metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
- `metadata.annotations[''<KEY>'']`, spec.nodeName,
- spec.serviceAccountName, status.hostIP, status.podIP,
- status.podIPs.'
- properties:
- apiVersion:
- description: Version of the schema the FieldPath
- is written in terms of, defaults to "v1".
- type: string
- fieldPath:
- description: Path of the field to select in
- the specified API version.
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- description: 'Selects a resource of the container:
- only resources limits and requests (limits.cpu,
- limits.memory, limits.ephemeral-storage, requests.cpu,
- requests.memory and requests.ephemeral-storage)
- are currently supported.'
- properties:
- containerName:
- description: 'Container name: required for
- volumes, optional for env vars'
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- description: Specifies the output format of
- the exposed resources, defaults to "1"
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- description: 'Required: resource to select'
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- description: Selects a key of a secret in the
- pod's namespace
- properties:
- key:
- description: The key of the secret to select
- from. Must be a valid secret key.
- type: string
- name:
- description: 'Name of the referent. More info:
- https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion,
- kind, uid?'
- type: string
- optional:
- description: Specify whether the Secret or
- its key must be defined
- type: boolean
- required:
- - key
- type: object
- type: object
- required:
- - name
- type: object
- type: array
- connectType:
- description: ConnectType is the way to connect storage(e.g.
- external,internal).
- type: string
- image:
- description: Image is the storage Docker image to deploy.
- type: string
- instances:
- description: Instance is the number of storage.
- format: int32
- type: integer
- resource:
- description: ResourceCnfig relevant settings
- properties:
- limit:
- type: string
- requests:
- type: string
- type: object
- security:
- description: Security relevant settings
- properties:
- tls:
- description: SSLConfig of storage .
- type: boolean
- user:
- description: UserConfig of storage .
- properties:
- secretName:
- description: SecretName of storage user .
- type: string
- type: object
- type: object
- servicename:
- description: ServiceName relevant settings
- type: string
- type:
- description: Type of storage.
- type: string
- version:
- description: Version of storage.
- type: string
- type: object
status:
- description: StorageStatus defines the observed state of Storage
- properties:
- conditions:
- description: Represents the latest available observations
- of the underlying statefulset's current state.
- items:
- description: StatefulSetCondition describes the state
- of a statefulset at a certain point.
- properties:
- lastTransitionTime:
- description: Last time the condition transitioned
- from one status to another.
- 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 statefulset condition.
- type: string
- required:
- - status
- - type
- type: object
- type: array
- type: object
+ 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
- name:
- description: Name relevant settings
- type: string
- type: object
- version:
- description: Version of OAP.
- type: string
- required:
- - instances
- - version
- type: object
- status:
- description: OAPServerStatus defines the observed state of OAPServer
- properties:
- address:
- description: Address indicates the entry of OAP server which ingresses
- data
- type: string
- 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
- type: object
- type: object
- version: v1alpha1
- versions:
- - name: v1alpha1
+ type: array
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/dev/operator/crd/bases/operator.skywalking.apache.org_storages.yaml b/config/dev/operator/crd/bases/operator.skywalking.apache.org_storages.yaml
index 0514b67..add30e1 100644
--- a/config/dev/operator/crd/bases/operator.skywalking.apache.org_storages.yaml
+++ b/config/dev/operator/crd/bases/operator.skywalking.apache.org_storages.yaml
@@ -17,31 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: storages.operator.skywalking.apache.org
spec:
- additionalPrinterColumns:
- - JSONPath: .spec.instances
- description: The number of expected instance
- name: Instances
- type: string
- - JSONPath: .spec.type
- description: The type of storage
- name: Type
- type: string
- - JSONPath: .spec.version
- description: The version
- name: Version
- type: string
- - JSONPath: .spec.connectType
- description: the way to connect storage
- name: ConnectType
- type: string
group: operator.skywalking.apache.org
names:
kind: Storage
@@ -49,215 +32,231 @@ spec:
plural: storages
singular: storage
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: Storage is the Schema for the storages 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: StorageSpec defines the desired state of Storage
- properties:
- address:
- description: Address of external storage address.
- type: string
- config:
- description: Config holds the Storage configuration.
- items:
- description: EnvVar represents an environment variable present in
- a Container.
+ versions:
+ - additionalPrinterColumns:
+ - description: The number of expected instance
+ jsonPath: .spec.instances
+ name: Instances
+ type: string
+ - description: The type of storage
+ jsonPath: .spec.type
+ name: Type
+ type: string
+ - description: The version
+ jsonPath: .spec.version
+ name: Version
+ type: string
+ - description: the way to connect storage
+ jsonPath: .spec.connectType
+ name: ConnectType
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Storage is the Schema for the storages 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: StorageSpec defines the desired state of Storage
+ properties:
+ address:
+ description: Address of external storage address.
+ type: string
+ config:
+ description: Config holds the Storage configuration.
+ items:
+ description: EnvVar represents an environment variable present in
+ a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must be a C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are expanded using
+ the previous defined environment variables in the container
+ and any service environment variables. If a variable cannot
+ be resolved, the reference in the input string will be unchanged.
+ The $(VAR_NAME) syntax can be escaped with a double $$, ie:
+ $$(VAR_NAME). Escaped references will never be expanded, regardless
+ of whether the variable exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: Source for the environment variable's value. Cannot
+ be used if value is not empty.
+ properties:
+ configMapKeyRef:
+ description: Selects a key of a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ description: 'Selects a field of the pod: supports metadata.name,
+ metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
+ spec.nodeName, spec.serviceAccountName, status.hostIP,
+ status.podIP, status.podIPs.'
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath is
+ written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select in the specified
+ API version.
+ type: string
+ required:
+ - fieldPath
+ type: object
+ resourceFieldRef:
+ description: 'Selects a resource of the container: only
+ resources limits and requests (limits.cpu, limits.memory,
+ limits.ephemeral-storage, requests.cpu, requests.memory
+ and requests.ephemeral-storage) are currently supported.'
+ properties:
+ containerName:
+ description: 'Container name: required for volumes,
+ optional for env vars'
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Specifies the output format of the exposed
+ resources, defaults to "1"
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ type: object
+ secretKeyRef:
+ description: Selects a key of a secret in the pod's namespace
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ connectType:
+ description: ConnectType is the way to connect storage(e.g. external,internal).
+ type: string
+ image:
+ description: Image is the storage Docker image to deploy.
+ type: string
+ instances:
+ description: Instance is the number of storage.
+ format: int32
+ type: integer
+ resource:
+ description: ResourceCnfig relevant settings
properties:
- name:
- description: Name of the environment variable. Must be a C_IDENTIFIER.
+ limit:
type: string
- value:
- description: 'Variable references $(VAR_NAME) are expanded using
- the previous defined environment variables in the container
- and any service environment variables. If a variable cannot
- be resolved, the reference in the input string will be unchanged.
- The $(VAR_NAME) syntax can be escaped with a double $$, ie:
- $$(VAR_NAME). Escaped references will never be expanded, regardless
- of whether the variable exists or not. Defaults to "".'
+ requests:
type: string
- valueFrom:
- description: Source for the environment variable's value. Cannot
- be used if value is not empty.
+ type: object
+ security:
+ description: Security relevant settings
+ properties:
+ tls:
+ description: SSLConfig of storage .
+ type: boolean
+ user:
+ description: UserConfig of storage .
properties:
- configMapKeyRef:
- description: Selects a key of a ConfigMap.
- properties:
- key:
- description: The key to select.
- type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
- type: string
- optional:
- description: Specify whether the ConfigMap or its key
- must be defined
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- description: 'Selects a field of the pod: supports metadata.name,
- metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
- spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP,
- status.podIPs.'
- properties:
- apiVersion:
- description: Version of the schema the FieldPath is written
- in terms of, defaults to "v1".
- type: string
- fieldPath:
- description: Path of the field to select in the specified
- API version.
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- description: 'Selects a resource of the container: only resources
- limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage,
- requests.cpu, requests.memory and requests.ephemeral-storage)
- are currently supported.'
- properties:
- containerName:
- description: 'Container name: required for volumes, optional
- for env vars'
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- description: Specifies the output format of the exposed
- resources, defaults to "1"
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- description: 'Required: resource to select'
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- description: Selects a key of a secret in the pod's namespace
- properties:
- key:
- description: The key of the secret to select from. Must
- be a valid secret key.
- type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
- type: string
- optional:
- description: Specify whether the Secret or its key must
- be defined
- type: boolean
- required:
- - key
- type: object
+ secretName:
+ description: SecretName of storage user .
+ type: string
type: object
- required:
- - name
type: object
- type: array
- connectType:
- description: ConnectType is the way to connect storage(e.g. external,internal).
- type: string
- image:
- description: Image is the storage Docker image to deploy.
- type: string
- instances:
- description: Instance is the number of storage.
- format: int32
- type: integer
- resource:
- description: ResourceCnfig relevant settings
- properties:
- limit:
- type: string
- requests:
- type: string
- type: object
- security:
- description: Security relevant settings
- properties:
- tls:
- description: SSLConfig of storage .
- type: boolean
- user:
- description: UserConfig of storage .
+ servicename:
+ description: ServiceName relevant settings
+ type: string
+ type:
+ description: Type of storage.
+ type: string
+ version:
+ description: Version of storage.
+ type: string
+ type: object
+ status:
+ description: StorageStatus defines the observed state of Storage
+ properties:
+ conditions:
+ description: Represents the latest available observations of the underlying
+ statefulset's current state.
+ items:
+ description: StatefulSetCondition describes the state of a statefulset
+ at a certain point.
properties:
- secretName:
- description: SecretName of storage user .
+ lastTransitionTime:
+ description: Last time the condition transitioned from one status
+ to another.
+ 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 statefulset condition.
+ type: string
+ required:
+ - status
+ - type
type: object
- type: object
- servicename:
- description: ServiceName relevant settings
- type: string
- type:
- description: Type of storage.
- type: string
- version:
- description: Version of storage.
- type: string
- type: object
- status:
- description: StorageStatus defines the observed state of Storage
- properties:
- conditions:
- description: Represents the latest available observations of the underlying
- statefulset's current state.
- items:
- description: StatefulSetCondition describes the state of a statefulset
- at a certain point.
- properties:
- lastTransitionTime:
- description: Last time the condition transitioned from one status
- to another.
- 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 statefulset condition.
- type: string
- required:
- - status
- - type
- type: object
- type: array
- type: object
- type: object
- version: v1alpha1
- versions:
- - name: v1alpha1
+ type: array
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/dev/operator/crd/bases/operator.skywalking.apache.org_uis.yaml b/config/dev/operator/crd/bases/operator.skywalking.apache.org_uis.yaml
index 3dc16f0..9eceb8e 100644
--- a/config/dev/operator/crd/bases/operator.skywalking.apache.org_uis.yaml
+++ b/config/dev/operator/crd/bases/operator.skywalking.apache.org_uis.yaml
@@ -17,44 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
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
@@ -62,201 +32,232 @@ spec:
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:
+ versions:
+ - additionalPrinterColumns:
+ - description: The version
+ jsonPath: .spec.version
+ name: Version
+ priority: 1
+ type: string
+ - description: The number of expected instance
+ jsonPath: .spec.instances
+ name: Instances
+ type: string
+ - description: The number of running
+ jsonPath: .status.availableReplicas
+ name: Running
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.internalAddress
+ name: InternalAddress
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.externalIPs
+ name: ExternalIPs
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.ports
+ name: Ports
+ type: string
+ - jsonPath: .spec.image
+ name: Image
+ priority: 1
+ type: string
+ name: v1alpha1
+ schema:
+ 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
- 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:
+ 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: 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.
+ 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:
- clusterIP:
- description: clusterIP is the IP address of the service and
- is usually assigned randomly.
+ lastTransitionTime:
+ description: Last time the condition transitioned from one status
+ to another.
+ format: date-time
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.'
+ 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
- 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.
+ description: Type of deployment condition.
type: string
+ required:
+ - status
+ - type
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: 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
- 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
+ ports:
+ description: Ports that will be exposed by this service.
+ items:
+ format: int32
+ type: integer
+ type: array
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/operator/certmanager/certificate.yaml b/config/operator/certmanager/certificate.yaml
index 975b11a..a9f4ee4 100644
--- a/config/operator/certmanager/certificate.yaml
+++ b/config/operator/certmanager/certificate.yaml
@@ -19,7 +19,7 @@
# More document can be found at https://docs.cert-manager.io
# WARNING: Targets CertManager 0.11 check https://docs.cert-manager.io/en/latest/tasks/upgrading/index.html for
# breaking changes
-apiVersion: cert-manager.io/v1alpha2
+apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: selfsigned-issuer
@@ -27,7 +27,7 @@ metadata:
spec:
selfSigned: {}
---
-apiVersion: cert-manager.io/v1alpha2
+apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml
diff --git a/config/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml b/config/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml
index 01a27d4..7cc1ad5 100644
--- a/config/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml
+++ b/config/operator/crd/bases/operator.skywalking.apache.org_fetchers.yaml
@@ -17,11 +17,11 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: fetchers.operator.skywalking.apache.org
spec:
@@ -32,86 +32,86 @@ spec:
plural: fetchers
singular: fetcher
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: Fetcher is the Schema for the fetchers 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: FetcherSpec defines the desired state of Fetcher
- properties:
- OAPServerAddress:
- description: OAPServerAddress is the address of backend OAPServers
- type: string
- clusterName:
- description: ClusterName
- type: string
- type:
- description: Fetcher is the type of how to fetch metrics from target.
- items:
- description: Service Type string describes ingress methods for a service
- type: string
- type: array
- type: object
- status:
- description: FetcherStatus defines the observed state of Fetcher
- properties:
- conditions:
- description: Represents the latest available observations of a fetcher'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
- 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
- replicas:
- description: Replicas is currently not being set and might be removed
- in the next version.
- format: int32
- type: integer
- type: object
- type: object
- version: v1alpha1
versions:
- name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Fetcher is the Schema for the fetchers 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: FetcherSpec defines the desired state of Fetcher
+ properties:
+ OAPServerAddress:
+ description: OAPServerAddress is the address of backend OAPServers
+ type: string
+ clusterName:
+ description: ClusterName
+ type: string
+ type:
+ description: Fetcher is the type of how to fetch metrics from target.
+ items:
+ description: Service Type string describes ingress methods for a
+ service
+ type: string
+ type: array
+ type: object
+ status:
+ description: FetcherStatus defines the observed state of Fetcher
+ properties:
+ conditions:
+ description: Represents the latest available observations of a fetcher'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
+ 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
+ replicas:
+ description: Replicas is currently not being set and might be removed
+ in the next version.
+ format: int32
+ type: integer
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml b/config/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml
index 8ed8b17..c441890 100644
--- a/config/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml
+++ b/config/operator/crd/bases/operator.skywalking.apache.org_javaagents.yaml
@@ -17,27 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: javaagents.operator.skywalking.apache.org
spec:
- additionalPrinterColumns:
- - JSONPath: .spec.podSelector
- description: The selector label of injected Pod
- name: PodSelector
- type: string
- - JSONPath: .spec.serviceName
- description: The name of service in the injected agent
- name: ServiceName
- type: string
- - JSONPath: .spec.backendService
- description: The backend service in the injected agent
- name: BackendService
- type: string
group: operator.skywalking.apache.org
names:
kind: JavaAgent
@@ -45,68 +32,80 @@ spec:
plural: javaagents
singular: javaagent
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: JavaAgent is the Schema for the javaagents 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: JavaAgentSpec defines the desired state of JavaAgent
- properties:
- agentConfiguration:
- additionalProperties:
- type: string
- description: AgentConfiguration is the injected agent's final configuration
- type: object
- backendService:
- description: BackendService is the backend service in the injected agent,
- which need to be printed
- type: string
- podSelector:
- description: PodSelector is the selector label of injected Pod
- type: string
- serviceName:
- description: ServiceName is the name of service in the injected agent,
- which need to be printed
- type: string
- type: object
- status:
- description: JavaAgentStatus defines the observed state of JavaAgent
- properties:
- creationTime:
- description: The time the JavaAgent was created.
- format: date-time
- type: string
- expectedInjectiedNum:
- description: The number of pods that need to be injected
- type: integer
- lastUpdateTime:
- description: The last time this condition was updated.
- format: date-time
- type: string
- realInjectedNum:
- description: The number of pods that injected successfully
- type: integer
- type: object
- type: object
- version: v1alpha1
versions:
- - name: v1alpha1
+ - additionalPrinterColumns:
+ - description: The selector label of injected Pod
+ jsonPath: .spec.podSelector
+ name: PodSelector
+ type: string
+ - description: The name of service in the injected agent
+ jsonPath: .spec.serviceName
+ name: ServiceName
+ type: string
+ - description: The backend service in the injected agent
+ jsonPath: .spec.backendService
+ name: BackendService
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: JavaAgent is the Schema for the javaagents 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: JavaAgentSpec defines the desired state of JavaAgent
+ properties:
+ agentConfiguration:
+ additionalProperties:
+ type: string
+ description: AgentConfiguration is the injected agent's final configuration
+ type: object
+ backendService:
+ description: BackendService is the backend service in the injected
+ agent, which need to be printed
+ type: string
+ podSelector:
+ description: PodSelector is the selector label of injected Pod
+ type: string
+ serviceName:
+ description: ServiceName is the name of service in the injected agent,
+ which need to be printed
+ type: string
+ type: object
+ status:
+ description: JavaAgentStatus defines the observed state of JavaAgent
+ properties:
+ creationTime:
+ description: The time the JavaAgent was created.
+ format: date-time
+ type: string
+ expectedInjectiedNum:
+ description: The number of pods that need to be injected
+ type: integer
+ lastUpdateTime:
+ description: The last time this condition was updated.
+ format: date-time
+ type: string
+ realInjectedNum:
+ description: The number of pods that injected successfully
+ type: integer
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml b/config/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml
index bd73b05..53ced0d 100644
--- a/config/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml
+++ b/config/operator/crd/bases/operator.skywalking.apache.org_oapservers.yaml
@@ -17,36 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: oapservers.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.address
- description: The address of OAP server
- name: Address
- type: string
- - JSONPath: .spec.image
- name: Image
- priority: 1
- type: string
group: operator.skywalking.apache.org
names:
kind: OAPServer
@@ -54,513 +32,538 @@ spec:
plural: oapservers
singular: oapserver
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: OAPServer is the Schema for the oapservers 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: OAPServerSpec defines the desired state of OAPServer
- properties:
- config:
- description: Config holds the OAP server configuration.
- items:
- description: EnvVar represents an environment variable present in
- a Container.
+ versions:
+ - additionalPrinterColumns:
+ - description: The version
+ jsonPath: .spec.version
+ name: Version
+ priority: 1
+ type: string
+ - description: The number of expected instance
+ jsonPath: .spec.instances
+ name: Instances
+ type: string
+ - description: The number of running
+ jsonPath: .status.availableReplicas
+ name: Running
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.address
+ name: Address
+ type: string
+ - jsonPath: .spec.image
+ name: Image
+ priority: 1
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: OAPServer is the Schema for the oapservers 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: OAPServerSpec defines the desired state of OAPServer
+ properties:
+ config:
+ description: Config holds the OAP server configuration.
+ items:
+ description: EnvVar represents an environment variable present in
+ a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must be a C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are expanded using
+ the previous defined environment variables in the container
+ and any service environment variables. If a variable cannot
+ be resolved, the reference in the input string will be unchanged.
+ The $(VAR_NAME) syntax can be escaped with a double $$, ie:
+ $$(VAR_NAME). Escaped references will never be expanded, regardless
+ of whether the variable exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: Source for the environment variable's value. Cannot
+ be used if value is not empty.
+ properties:
+ configMapKeyRef:
+ description: Selects a key of a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ description: 'Selects a field of the pod: supports metadata.name,
+ metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
+ spec.nodeName, spec.serviceAccountName, status.hostIP,
+ status.podIP, status.podIPs.'
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath is
+ written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select in the specified
+ API version.
+ type: string
+ required:
+ - fieldPath
+ type: object
+ resourceFieldRef:
+ description: 'Selects a resource of the container: only
+ resources limits and requests (limits.cpu, limits.memory,
+ limits.ephemeral-storage, requests.cpu, requests.memory
+ and requests.ephemeral-storage) are currently supported.'
+ properties:
+ containerName:
+ description: 'Container name: required for volumes,
+ optional for env vars'
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Specifies the output format of the exposed
+ resources, defaults to "1"
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ type: object
+ secretKeyRef:
+ description: Selects a key of a secret in the pod's namespace
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ image:
+ description: Image is the OAP Server Docker image to deploy.
+ type: string
+ instances:
+ description: Count is the number of OAP servers
+ format: int32
+ type: integer
+ service:
+ description: Service relevant settings
properties:
- name:
- description: Name of the environment variable. Must be a C_IDENTIFIER.
- type: string
- value:
- description: 'Variable references $(VAR_NAME) are expanded using
- the previous defined environment variables in the container
- and any service environment variables. If a variable cannot
- be resolved, the reference in the input string will be unchanged.
- The $(VAR_NAME) syntax can be escaped with a double $$, ie:
- $$(VAR_NAME). Escaped references will never be expanded, regardless
- of whether the variable exists or not. Defaults to "".'
- type: string
- valueFrom:
- description: Source for the environment variable's value. Cannot
- be used if value is not empty.
+ ingress:
+ description: Ingress defines the behavior of an ingress
properties:
- configMapKeyRef:
- description: Selects a key of a ConfigMap.
- properties:
- key:
- description: The key to select.
- type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
- type: string
- optional:
- description: Specify whether the ConfigMap or its key
- must be defined
- type: boolean
- required:
- - key
+ 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
+ storage:
+ description: StorageConfig relevant settings
+ properties:
+ injectstorage:
+ description: Storage relevant settings
+ 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
- fieldRef:
- description: 'Selects a field of the pod: supports metadata.name,
- metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
- spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP,
- status.podIPs.'
+ spec:
+ description: StorageSpec defines the desired state of Storage
properties:
- apiVersion:
- description: Version of the schema the FieldPath is written
- in terms of, defaults to "v1".
+ address:
+ description: Address of external storage address.
type: string
- fieldPath:
- description: Path of the field to select in the specified
- API version.
+ config:
+ description: Config holds the Storage configuration.
+ items:
+ description: EnvVar represents an environment variable
+ present in a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must
+ be a C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are
+ expanded using the previous defined environment
+ variables in the container and any service environment
+ variables. If a variable cannot be resolved, the
+ reference in the input string will be unchanged.
+ The $(VAR_NAME) syntax can be escaped with a double
+ $$, ie: $$(VAR_NAME). Escaped references will
+ never be expanded, regardless of whether the variable
+ exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: Source for the environment variable's
+ value. Cannot be used if value is not empty.
+ properties:
+ configMapKeyRef:
+ description: Selects a key of a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ description: 'Selects a field of the pod: supports
+ metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
+ `metadata.annotations[''<KEY>'']`, spec.nodeName,
+ spec.serviceAccountName, status.hostIP, status.podIP,
+ status.podIPs.'
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath
+ is written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select
+ in the specified API version.
+ type: string
+ required:
+ - fieldPath
+ type: object
+ resourceFieldRef:
+ description: 'Selects a resource of the container:
+ only resources limits and requests (limits.cpu,
+ limits.memory, limits.ephemeral-storage, requests.cpu,
+ requests.memory and requests.ephemeral-storage)
+ are currently supported.'
+ properties:
+ containerName:
+ description: 'Container name: required for
+ volumes, optional for env vars'
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Specifies the output format
+ of the exposed resources, defaults to
+ "1"
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ type: object
+ secretKeyRef:
+ description: Selects a key of a secret in the
+ pod's namespace
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ connectType:
+ description: ConnectType is the way to connect storage(e.g.
+ external,internal).
type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- description: 'Selects a resource of the container: only resources
- limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage,
- requests.cpu, requests.memory and requests.ephemeral-storage)
- are currently supported.'
- properties:
- containerName:
- description: 'Container name: required for volumes, optional
- for env vars'
+ image:
+ description: Image is the storage Docker image to deploy.
type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- description: Specifies the output format of the exposed
- resources, defaults to "1"
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
+ instances:
+ description: Instance is the number of storage.
+ format: int32
+ type: integer
resource:
- description: 'Required: resource to select'
+ description: ResourceCnfig relevant settings
+ properties:
+ limit:
+ type: string
+ requests:
+ type: string
+ type: object
+ security:
+ description: Security relevant settings
+ properties:
+ tls:
+ description: SSLConfig of storage .
+ type: boolean
+ user:
+ description: UserConfig of storage .
+ properties:
+ secretName:
+ description: SecretName of storage user .
+ type: string
+ type: object
+ type: object
+ servicename:
+ description: ServiceName relevant settings
type: string
- required:
- - resource
- type: object
- secretKeyRef:
- description: Selects a key of a secret in the pod's namespace
- properties:
- key:
- description: The key of the secret to select from. Must
- be a valid secret key.
+ type:
+ description: Type of storage.
type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
+ version:
+ description: Version of storage.
type: string
- optional:
- description: Specify whether the Secret or its key must
- be defined
- type: boolean
- required:
- - key
type: object
- type: object
- required:
- - name
- type: object
- type: array
- image:
- description: Image is the OAP Server Docker image to deploy.
- type: string
- instances:
- description: Count is the number of OAP servers
- 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.
+ status:
+ description: StorageStatus defines the observed state of Storage
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.
+ conditions:
+ description: Represents the latest available observations
+ of the underlying statefulset's current state.
items:
- type: string
+ description: StatefulSetCondition describes the state
+ of a statefulset at a certain point.
+ properties:
+ lastTransitionTime:
+ description: Last time the condition transitioned
+ from one status to another.
+ 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 statefulset condition.
+ type: string
+ required:
+ - status
+ - type
+ type: object
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.
+ type: object
+ name:
+ description: Name relevant settings
+ type: string
+ type: object
+ version:
+ description: Version of OAP.
+ type: string
+ required:
+ - instances
+ - version
+ type: object
+ status:
+ description: OAPServerStatus defines the observed state of OAPServer
+ properties:
+ address:
+ description: Address indicates the entry of OAP server which ingresses
+ data
+ type: string
+ 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:
- clusterIP:
- description: clusterIP is the IP address of the service and
- is usually assigned randomly.
+ lastTransitionTime:
+ description: Last time the condition transitioned from one status
+ to another.
+ format: date-time
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.'
+ lastUpdateTime:
+ description: The last time this condition was updated.
+ format: date-time
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.
+ message:
+ description: A human readable message indicating details about
+ the transition.
type: string
- type: object
- type: object
- storage:
- description: StorageConfig relevant settings
- properties:
- injectstorage:
- description: Storage relevant settings
- 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'
+ reason:
+ description: The reason for the condition's last transition.
type: string
- metadata:
- type: object
- spec:
- description: StorageSpec defines the desired state of Storage
- properties:
- address:
- description: Address of external storage address.
- type: string
- config:
- description: Config holds the Storage configuration.
- items:
- description: EnvVar represents an environment variable
- present in a Container.
- properties:
- name:
- description: Name of the environment variable. Must
- be a C_IDENTIFIER.
- type: string
- value:
- description: 'Variable references $(VAR_NAME) are
- expanded using the previous defined environment
- variables in the container and any service environment
- variables. If a variable cannot be resolved, the
- reference in the input string will be unchanged.
- The $(VAR_NAME) syntax can be escaped with a double
- $$, ie: $$(VAR_NAME). Escaped references will never
- be expanded, regardless of whether the variable
- exists or not. Defaults to "".'
- type: string
- valueFrom:
- description: Source for the environment variable's
- value. Cannot be used if value is not empty.
- properties:
- configMapKeyRef:
- description: Selects a key of a ConfigMap.
- properties:
- key:
- description: The key to select.
- type: string
- name:
- description: 'Name of the referent. More info:
- https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion,
- kind, uid?'
- type: string
- optional:
- description: Specify whether the ConfigMap
- or its key must be defined
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- description: 'Selects a field of the pod: supports
- metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
- `metadata.annotations[''<KEY>'']`, spec.nodeName,
- spec.serviceAccountName, status.hostIP, status.podIP,
- status.podIPs.'
- properties:
- apiVersion:
- description: Version of the schema the FieldPath
- is written in terms of, defaults to "v1".
- type: string
- fieldPath:
- description: Path of the field to select in
- the specified API version.
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- description: 'Selects a resource of the container:
- only resources limits and requests (limits.cpu,
- limits.memory, limits.ephemeral-storage, requests.cpu,
- requests.memory and requests.ephemeral-storage)
- are currently supported.'
- properties:
- containerName:
- description: 'Container name: required for
- volumes, optional for env vars'
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- description: Specifies the output format of
- the exposed resources, defaults to "1"
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- description: 'Required: resource to select'
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- description: Selects a key of a secret in the
- pod's namespace
- properties:
- key:
- description: The key of the secret to select
- from. Must be a valid secret key.
- type: string
- name:
- description: 'Name of the referent. More info:
- https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion,
- kind, uid?'
- type: string
- optional:
- description: Specify whether the Secret or
- its key must be defined
- type: boolean
- required:
- - key
- type: object
- type: object
- required:
- - name
- type: object
- type: array
- connectType:
- description: ConnectType is the way to connect storage(e.g.
- external,internal).
- type: string
- image:
- description: Image is the storage Docker image to deploy.
- type: string
- instances:
- description: Instance is the number of storage.
- format: int32
- type: integer
- resource:
- description: ResourceCnfig relevant settings
- properties:
- limit:
- type: string
- requests:
- type: string
- type: object
- security:
- description: Security relevant settings
- properties:
- tls:
- description: SSLConfig of storage .
- type: boolean
- user:
- description: UserConfig of storage .
- properties:
- secretName:
- description: SecretName of storage user .
- type: string
- type: object
- type: object
- servicename:
- description: ServiceName relevant settings
- type: string
- type:
- description: Type of storage.
- type: string
- version:
- description: Version of storage.
- type: string
- type: object
status:
- description: StorageStatus defines the observed state of Storage
- properties:
- conditions:
- description: Represents the latest available observations
- of the underlying statefulset's current state.
- items:
- description: StatefulSetCondition describes the state
- of a statefulset at a certain point.
- properties:
- lastTransitionTime:
- description: Last time the condition transitioned
- from one status to another.
- 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 statefulset condition.
- type: string
- required:
- - status
- - type
- type: object
- type: array
- type: object
+ 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
- name:
- description: Name relevant settings
- type: string
- type: object
- version:
- description: Version of OAP.
- type: string
- required:
- - instances
- - version
- type: object
- status:
- description: OAPServerStatus defines the observed state of OAPServer
- properties:
- address:
- description: Address indicates the entry of OAP server which ingresses
- data
- type: string
- 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
- type: object
- type: object
- version: v1alpha1
- versions:
- - name: v1alpha1
+ type: array
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/operator/crd/bases/operator.skywalking.apache.org_storages.yaml b/config/operator/crd/bases/operator.skywalking.apache.org_storages.yaml
index 0514b67..add30e1 100644
--- a/config/operator/crd/bases/operator.skywalking.apache.org_storages.yaml
+++ b/config/operator/crd/bases/operator.skywalking.apache.org_storages.yaml
@@ -17,31 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: storages.operator.skywalking.apache.org
spec:
- additionalPrinterColumns:
- - JSONPath: .spec.instances
- description: The number of expected instance
- name: Instances
- type: string
- - JSONPath: .spec.type
- description: The type of storage
- name: Type
- type: string
- - JSONPath: .spec.version
- description: The version
- name: Version
- type: string
- - JSONPath: .spec.connectType
- description: the way to connect storage
- name: ConnectType
- type: string
group: operator.skywalking.apache.org
names:
kind: Storage
@@ -49,215 +32,231 @@ spec:
plural: storages
singular: storage
scope: Namespaced
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: Storage is the Schema for the storages 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: StorageSpec defines the desired state of Storage
- properties:
- address:
- description: Address of external storage address.
- type: string
- config:
- description: Config holds the Storage configuration.
- items:
- description: EnvVar represents an environment variable present in
- a Container.
+ versions:
+ - additionalPrinterColumns:
+ - description: The number of expected instance
+ jsonPath: .spec.instances
+ name: Instances
+ type: string
+ - description: The type of storage
+ jsonPath: .spec.type
+ name: Type
+ type: string
+ - description: The version
+ jsonPath: .spec.version
+ name: Version
+ type: string
+ - description: the way to connect storage
+ jsonPath: .spec.connectType
+ name: ConnectType
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Storage is the Schema for the storages 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: StorageSpec defines the desired state of Storage
+ properties:
+ address:
+ description: Address of external storage address.
+ type: string
+ config:
+ description: Config holds the Storage configuration.
+ items:
+ description: EnvVar represents an environment variable present in
+ a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must be a C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are expanded using
+ the previous defined environment variables in the container
+ and any service environment variables. If a variable cannot
+ be resolved, the reference in the input string will be unchanged.
+ The $(VAR_NAME) syntax can be escaped with a double $$, ie:
+ $$(VAR_NAME). Escaped references will never be expanded, regardless
+ of whether the variable exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: Source for the environment variable's value. Cannot
+ be used if value is not empty.
+ properties:
+ configMapKeyRef:
+ description: Selects a key of a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ description: 'Selects a field of the pod: supports metadata.name,
+ metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
+ spec.nodeName, spec.serviceAccountName, status.hostIP,
+ status.podIP, status.podIPs.'
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath is
+ written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select in the specified
+ API version.
+ type: string
+ required:
+ - fieldPath
+ type: object
+ resourceFieldRef:
+ description: 'Selects a resource of the container: only
+ resources limits and requests (limits.cpu, limits.memory,
+ limits.ephemeral-storage, requests.cpu, requests.memory
+ and requests.ephemeral-storage) are currently supported.'
+ properties:
+ containerName:
+ description: 'Container name: required for volumes,
+ optional for env vars'
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Specifies the output format of the exposed
+ resources, defaults to "1"
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ type: object
+ secretKeyRef:
+ description: Selects a key of a secret in the pod's namespace
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ connectType:
+ description: ConnectType is the way to connect storage(e.g. external,internal).
+ type: string
+ image:
+ description: Image is the storage Docker image to deploy.
+ type: string
+ instances:
+ description: Instance is the number of storage.
+ format: int32
+ type: integer
+ resource:
+ description: ResourceCnfig relevant settings
properties:
- name:
- description: Name of the environment variable. Must be a C_IDENTIFIER.
+ limit:
type: string
- value:
- description: 'Variable references $(VAR_NAME) are expanded using
- the previous defined environment variables in the container
- and any service environment variables. If a variable cannot
- be resolved, the reference in the input string will be unchanged.
- The $(VAR_NAME) syntax can be escaped with a double $$, ie:
- $$(VAR_NAME). Escaped references will never be expanded, regardless
- of whether the variable exists or not. Defaults to "".'
+ requests:
type: string
- valueFrom:
- description: Source for the environment variable's value. Cannot
- be used if value is not empty.
+ type: object
+ security:
+ description: Security relevant settings
+ properties:
+ tls:
+ description: SSLConfig of storage .
+ type: boolean
+ user:
+ description: UserConfig of storage .
properties:
- configMapKeyRef:
- description: Selects a key of a ConfigMap.
- properties:
- key:
- description: The key to select.
- type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
- type: string
- optional:
- description: Specify whether the ConfigMap or its key
- must be defined
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- description: 'Selects a field of the pod: supports metadata.name,
- metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
- spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP,
- status.podIPs.'
- properties:
- apiVersion:
- description: Version of the schema the FieldPath is written
- in terms of, defaults to "v1".
- type: string
- fieldPath:
- description: Path of the field to select in the specified
- API version.
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- description: 'Selects a resource of the container: only resources
- limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage,
- requests.cpu, requests.memory and requests.ephemeral-storage)
- are currently supported.'
- properties:
- containerName:
- description: 'Container name: required for volumes, optional
- for env vars'
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- description: Specifies the output format of the exposed
- resources, defaults to "1"
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- description: 'Required: resource to select'
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- description: Selects a key of a secret in the pod's namespace
- properties:
- key:
- description: The key of the secret to select from. Must
- be a valid secret key.
- type: string
- name:
- description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- TODO: Add other useful fields. apiVersion, kind, uid?'
- type: string
- optional:
- description: Specify whether the Secret or its key must
- be defined
- type: boolean
- required:
- - key
- type: object
+ secretName:
+ description: SecretName of storage user .
+ type: string
type: object
- required:
- - name
type: object
- type: array
- connectType:
- description: ConnectType is the way to connect storage(e.g. external,internal).
- type: string
- image:
- description: Image is the storage Docker image to deploy.
- type: string
- instances:
- description: Instance is the number of storage.
- format: int32
- type: integer
- resource:
- description: ResourceCnfig relevant settings
- properties:
- limit:
- type: string
- requests:
- type: string
- type: object
- security:
- description: Security relevant settings
- properties:
- tls:
- description: SSLConfig of storage .
- type: boolean
- user:
- description: UserConfig of storage .
+ servicename:
+ description: ServiceName relevant settings
+ type: string
+ type:
+ description: Type of storage.
+ type: string
+ version:
+ description: Version of storage.
+ type: string
+ type: object
+ status:
+ description: StorageStatus defines the observed state of Storage
+ properties:
+ conditions:
+ description: Represents the latest available observations of the underlying
+ statefulset's current state.
+ items:
+ description: StatefulSetCondition describes the state of a statefulset
+ at a certain point.
properties:
- secretName:
- description: SecretName of storage user .
+ lastTransitionTime:
+ description: Last time the condition transitioned from one status
+ to another.
+ 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 statefulset condition.
+ type: string
+ required:
+ - status
+ - type
type: object
- type: object
- servicename:
- description: ServiceName relevant settings
- type: string
- type:
- description: Type of storage.
- type: string
- version:
- description: Version of storage.
- type: string
- type: object
- status:
- description: StorageStatus defines the observed state of Storage
- properties:
- conditions:
- description: Represents the latest available observations of the underlying
- statefulset's current state.
- items:
- description: StatefulSetCondition describes the state of a statefulset
- at a certain point.
- properties:
- lastTransitionTime:
- description: Last time the condition transitioned from one status
- to another.
- 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 statefulset condition.
- type: string
- required:
- - status
- - type
- type: object
- type: array
- type: object
- type: object
- version: v1alpha1
- versions:
- - name: v1alpha1
+ type: array
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/operator/crd/bases/operator.skywalking.apache.org_uis.yaml b/config/operator/crd/bases/operator.skywalking.apache.org_uis.yaml
index 3dc16f0..9eceb8e 100644
--- a/config/operator/crd/bases/operator.skywalking.apache.org_uis.yaml
+++ b/config/operator/crd/bases/operator.skywalking.apache.org_uis.yaml
@@ -17,44 +17,14 @@
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.2.5
+ controller-gen.kubebuilder.io/version: v0.7.0
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
@@ -62,201 +32,232 @@ spec:
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:
+ versions:
+ - additionalPrinterColumns:
+ - description: The version
+ jsonPath: .spec.version
+ name: Version
+ priority: 1
+ type: string
+ - description: The number of expected instance
+ jsonPath: .spec.instances
+ name: Instances
+ type: string
+ - description: The number of running
+ jsonPath: .status.availableReplicas
+ name: Running
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.internalAddress
+ name: InternalAddress
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.externalIPs
+ name: ExternalIPs
+ type: string
+ - description: The address of OAP server
+ jsonPath: .status.ports
+ name: Ports
+ type: string
+ - jsonPath: .spec.image
+ name: Image
+ priority: 1
+ type: string
+ name: v1alpha1
+ schema:
+ 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
- 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:
+ 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: 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.
+ 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:
- clusterIP:
- description: clusterIP is the IP address of the service and
- is usually assigned randomly.
+ lastTransitionTime:
+ description: Last time the condition transitioned from one status
+ to another.
+ format: date-time
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.'
+ 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
- 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.
+ description: Type of deployment condition.
type: string
+ required:
+ - status
+ - type
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: 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
- 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
+ ports:
+ description: Ports that will be exposed by this service.
+ items:
+ format: int32
+ type: integer
+ type: array
+ type: object
+ type: object
served: true
storage: true
+ subresources:
+ status: {}
status:
acceptedNames:
kind: ""
diff --git a/config/operator/crd/patches/cainjection_in_fetchers.yaml b/config/operator/crd/patches/cainjection_in_fetchers.yaml
index a303818..94b6234 100644
--- a/config/operator/crd/patches/cainjection_in_fetchers.yaml
+++ b/config/operator/crd/patches/cainjection_in_fetchers.yaml
@@ -17,7 +17,7 @@
# The following patch adds a directive for certmanager to inject CA into the CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
diff --git a/config/operator/crd/patches/cainjection_in_javaagents.yaml b/config/operator/crd/patches/cainjection_in_javaagents.yaml
index f7895af..1842674 100644
--- a/config/operator/crd/patches/cainjection_in_javaagents.yaml
+++ b/config/operator/crd/patches/cainjection_in_javaagents.yaml
@@ -17,7 +17,7 @@
# The following patch adds a directive for certmanager to inject CA into the CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
diff --git a/config/operator/crd/patches/cainjection_in_oapservers.yaml b/config/operator/crd/patches/cainjection_in_oapservers.yaml
index 6f20cba..44ad765 100644
--- a/config/operator/crd/patches/cainjection_in_oapservers.yaml
+++ b/config/operator/crd/patches/cainjection_in_oapservers.yaml
@@ -17,7 +17,7 @@
# The following patch adds a directive for certmanager to inject CA into the CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
diff --git a/config/operator/crd/patches/cainjection_in_storages.yaml b/config/operator/crd/patches/cainjection_in_storages.yaml
index cb0439d..f041916 100644
--- a/config/operator/crd/patches/cainjection_in_storages.yaml
+++ b/config/operator/crd/patches/cainjection_in_storages.yaml
@@ -17,7 +17,7 @@
# The following patch enables conversion webhook for CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
diff --git a/config/operator/crd/patches/cainjection_in_uis.yaml b/config/operator/crd/patches/cainjection_in_uis.yaml
index 2072297..eb0b7c3 100644
--- a/config/operator/crd/patches/cainjection_in_uis.yaml
+++ b/config/operator/crd/patches/cainjection_in_uis.yaml
@@ -17,7 +17,7 @@
# The following patch adds a directive for certmanager to inject CA into the CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
diff --git a/config/operator/crd/patches/webhook_in_fetchers.yaml b/config/operator/crd/patches/webhook_in_fetchers.yaml
index 47a067e..c5f0d85 100644
--- a/config/operator/crd/patches/webhook_in_fetchers.yaml
+++ b/config/operator/crd/patches/webhook_in_fetchers.yaml
@@ -17,7 +17,7 @@
# The following patch enables conversion webhook for CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: fetchers.operator.skywalking.apache.org
@@ -25,12 +25,14 @@ spec:
preserveUnknownFields: false
conversion:
strategy: Webhook
- webhookClientConfig:
- # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
- # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
- caBundle: Cg==
- service:
- namespace: system
- name: webhook-service
- path: /convert
+ webhook:
+ conversionReviewVersions: ["v1beta1"]
+ clientConfig:
+ # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
+ # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
+ caBundle: Cg==
+ service:
+ namespace: system
+ name: webhook-service
+ path: /convert
diff --git a/config/operator/crd/patches/webhook_in_javaagents.yaml b/config/operator/crd/patches/webhook_in_javaagents.yaml
index 2f1934a..8c37422 100644
--- a/config/operator/crd/patches/webhook_in_javaagents.yaml
+++ b/config/operator/crd/patches/webhook_in_javaagents.yaml
@@ -17,7 +17,7 @@
# The following patch enables conversion webhook for CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: javaagents.operator.skywalking.apache.org
@@ -25,11 +25,13 @@ spec:
preserveUnknownFields: false
conversion:
strategy: Webhook
- webhookClientConfig:
- # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
- # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
- caBundle: Cg==
- service:
- namespace: system
- name: webhook-service
- path: /convert
+ webhook:
+ conversionReviewVersions: ["v1beta1"]
+ clientConfig:
+ # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
+ # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
+ caBundle: Cg==
+ service:
+ namespace: system
+ name: webhook-service
+ path: /convert
diff --git a/config/operator/crd/patches/webhook_in_oapservers.yaml b/config/operator/crd/patches/webhook_in_oapservers.yaml
index 2d8689e..339a87c 100644
--- a/config/operator/crd/patches/webhook_in_oapservers.yaml
+++ b/config/operator/crd/patches/webhook_in_oapservers.yaml
@@ -17,7 +17,7 @@
# The following patch enables conversion webhook for CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: oapservers.operator.skywalking.apache.org
@@ -25,11 +25,13 @@ spec:
preserveUnknownFields: false
conversion:
strategy: Webhook
- webhookClientConfig:
- # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
- # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
- caBundle: Cg==
- service:
- namespace: system
- name: webhook-service
- path: /convert
+ webhook:
+ conversionReviewVersions: ["v1beta1"]
+ clientConfig:
+ # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
+ # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
+ caBundle: Cg==
+ service:
+ namespace: system
+ name: webhook-service
+ path: /convert
diff --git a/config/operator/crd/patches/webhook_in_storages.yaml b/config/operator/crd/patches/webhook_in_storages.yaml
index 1779747..130ed88 100644
--- a/config/operator/crd/patches/webhook_in_storages.yaml
+++ b/config/operator/crd/patches/webhook_in_storages.yaml
@@ -17,7 +17,7 @@
# The following patch enables conversion webhook for CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: storages.operator.skywalking.apache.org
@@ -25,11 +25,13 @@ spec:
preserveUnknownFields: false
conversion:
strategy: Webhook
- webhookClientConfig:
- # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
- # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
- caBundle: Cg==
- service:
- namespace: system
- name: webhook-service
- path: /convert
+ webhook:
+ conversionReviewVersions: ["v1beta1"]
+ clientConfig:
+ # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
+ # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
+ caBundle: Cg==
+ service:
+ namespace: system
+ name: webhook-service
+ path: /convert
diff --git a/config/operator/crd/patches/webhook_in_uis.yaml b/config/operator/crd/patches/webhook_in_uis.yaml
index 1e26d46..ef09d4e 100644
--- a/config/operator/crd/patches/webhook_in_uis.yaml
+++ b/config/operator/crd/patches/webhook_in_uis.yaml
@@ -17,7 +17,7 @@
# The following patch enables conversion webhook for CRD
# CRD conversion requires k8s 1.13 or later.
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: uis.operator.skywalking.apache.org
@@ -25,12 +25,14 @@ spec:
preserveUnknownFields: false
conversion:
strategy: Webhook
- webhookClientConfig:
- # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
- # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
- caBundle: Cg==
- service:
- namespace: system
- name: webhook-service
- path: /convert
+ webhook:
+ conversionReviewVersions: ["v1beta1"]
+ clientConfig:
+ # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank,
+ # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager)
+ caBundle: Cg==
+ service:
+ namespace: system
+ name: webhook-service
+ path: /convert
diff --git a/config/operator/default/kustomization.yaml b/config/operator/default/kustomization.yaml
index 9aa1007..883dea4 100644
--- a/config/operator/default/kustomization.yaml
+++ b/config/operator/default/kustomization.yaml
@@ -52,7 +52,7 @@ vars:
objref:
kind: Certificate
group: cert-manager.io
- version: v1alpha2
+ version: v1
name: serving-cert # this name should match the one in certificate.yaml
fieldref:
fieldpath: metadata.namespace
@@ -60,7 +60,7 @@ vars:
objref:
kind: Certificate
group: cert-manager.io
- version: v1alpha2
+ version: v1
name: serving-cert # this name should match the one in certificate.yaml
- name: SERVICE_NAMESPACE # namespace of the service
objref:
diff --git a/config/operator/default/webhookcainjection_patch.yaml b/config/operator/default/webhookcainjection_patch.yaml
index e112e55..add4620 100644
--- a/config/operator/default/webhookcainjection_patch.yaml
+++ b/config/operator/default/webhookcainjection_patch.yaml
@@ -17,14 +17,14 @@
# This patch add annotation to admission webhook config and
# the variables $(CERTIFICATE_NAMESPACE) and $(CERTIFICATE_NAME) will be substituted by kustomize.
-apiVersion: admissionregistration.k8s.io/v1beta1
+apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: mutating-webhook-configuration
annotations:
cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
---
-apiVersion: admissionregistration.k8s.io/v1beta1
+apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: validating-webhook-configuration
diff --git a/config/operator/rbac/auth_proxy_client_clusterrole.yaml b/config/operator/rbac/auth_proxy_client_clusterrole.yaml
index 5cf0986..59c66b7 100644
--- a/config/operator/rbac/auth_proxy_client_clusterrole.yaml
+++ b/config/operator/rbac/auth_proxy_client_clusterrole.yaml
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: metrics-reader
diff --git a/config/operator/webhook/manifests.yaml b/config/operator/webhook/manifests.yaml
index 105c336..5e912f0 100644
--- a/config/operator/webhook/manifests.yaml
+++ b/config/operator/webhook/manifests.yaml
@@ -17,14 +17,15 @@
---
-apiVersion: admissionregistration.k8s.io/v1beta1
+apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
creationTimestamp: null
name: mutating-webhook-configuration
webhooks:
-- clientConfig:
- caBundle: Cg==
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -41,8 +42,10 @@ webhooks:
- UPDATE
resources:
- fetchers
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -59,8 +62,10 @@ webhooks:
- UPDATE
resources:
- pods
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -77,8 +82,10 @@ webhooks:
- UPDATE
resources:
- javaagents
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -95,8 +102,10 @@ webhooks:
- UPDATE
resources:
- oapservers
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -113,8 +122,10 @@ webhooks:
- UPDATE
resources:
- storages
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -131,16 +142,18 @@ webhooks:
- UPDATE
resources:
- uis
+ sideEffects: None
---
-apiVersion: admissionregistration.k8s.io/v1beta1
+apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
creationTimestamp: null
name: validating-webhook-configuration
webhooks:
-- clientConfig:
- caBundle: Cg==
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -157,8 +170,10 @@ webhooks:
- UPDATE
resources:
- fetchers
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -175,8 +190,10 @@ webhooks:
- UPDATE
resources:
- javaagents
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -193,8 +210,10 @@ webhooks:
- UPDATE
resources:
- oapservers
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -211,8 +230,10 @@ webhooks:
- UPDATE
resources:
- storages
-- clientConfig:
- caBundle: Cg==
+ sideEffects: None
+- admissionReviewVersions:
+ - v1
+ clientConfig:
service:
name: webhook-service
namespace: system
@@ -229,4 +250,5 @@ webhooks:
- UPDATE
resources:
- uis
+ sideEffects: None
diff --git a/config/operator/webhook/ns_selector_patch.yaml b/config/operator/webhook/ns_selector_patch.yaml
index 175acc2..598c274 100644
--- a/config/operator/webhook/ns_selector_patch.yaml
+++ b/config/operator/webhook/ns_selector_patch.yaml
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-apiVersion: admissionregistration.k8s.io/v1beta1
+apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: mutating-webhook-configuration
diff --git a/controllers/operator/ui_controller.go b/controllers/operator/ui_controller.go
index 99f9fe3..5ff037a 100644
--- a/controllers/operator/ui_controller.go
+++ b/controllers/operator/ui_controller.go
@@ -24,7 +24,7 @@ import (
"github.com/go-logr/logr"
apps "k8s.io/api/apps/v1"
core "k8s.io/api/core/v1"
- networkingv1beta1 "k8s.io/api/networking/v1beta1"
+ networkingv1 "k8s.io/api/networking/v1"
apiequal "k8s.io/apimachinery/pkg/api/equality"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
@@ -128,6 +128,6 @@ func (r *UIReconciler) SetupWithManager(mgr ctrl.Manager) error {
For(&uiv1alpha1.UI{}).
Owns(&apps.Deployment{}).
Owns(&core.Service{}).
- Owns(&networkingv1beta1.Ingress{}).
+ Owns(&networkingv1.Ingress{}).
Complete(r)
}
diff --git a/controllers/operator/ui_controller_test.go b/controllers/operator/ui_controller_test.go
index df97d66..596abf6 100644
--- a/controllers/operator/ui_controller_test.go
+++ b/controllers/operator/ui_controller_test.go
@@ -25,7 +25,7 @@ import (
"github.com/stretchr/testify/require"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
- networkingv1beta1 "k8s.io/api/networking/v1beta1"
+ networkingv1 "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/tools/record"
@@ -169,7 +169,7 @@ func TestUIIngressOnReconciliation(t *testing.T) {
assert.NotEmpty(t, list.Items)
}
{
- list := &networkingv1beta1.IngressList{}
+ list := &networkingv1.IngressList{}
err = k8sClient.List(context.Background(), list, opts...)
assert.NoError(t, err)
assert.NotEmpty(t, list.Items)
diff --git a/hack/install-kubebuilder.sh b/hack/install-kubebuilder.sh
index 63cf03e..de7e2e8 100755
--- a/hack/install-kubebuilder.sh
+++ b/hack/install-kubebuilder.sh
@@ -19,6 +19,11 @@ set -ex
os=$(go env GOOS)
arch=$(go env GOARCH)
-curl -L https://github.com/kubernetes-sigs/kubebuilder/releases/download/v2.3.1/kubebuilder_2.3.1_${os}_${arch}.tar.gz | tar -xz -C /tmp/
-sudo mv /tmp/kubebuilder_2.3.1_${os}_${arch} /usr/local/kubebuilder
+export K8S_VERSION=1.19.2
export PATH=$PATH:/usr/local/kubebuilder/bin
+sudo mkdir -p /usr/local/kubebuilder/bin
+curl -sSLo kubebuilder https://github.com/kubernetes-sigs/kubebuilder/releases/download/v3.2.0/kubebuilder_${os}_${arch}
+sudo mv ./kubebuilder /usr/local/bin/
+
+curl -sSLo envtest-bins.tar.gz "https://go.kubebuilder.io/test-tools/${K8S_VERSION}/${os}/${arch}"
+sudo tar -C /usr/local/kubebuilder --strip-components=1 -zvxf envtest-bins.tar.gz
\ No newline at end of file
diff --git a/pkg/operator/manifests/ui/templates/ingress.yaml b/pkg/operator/manifests/ui/templates/ingress.yaml
index 898e4c9..cea923e 100644
--- a/pkg/operator/manifests/ui/templates/ingress.yaml
+++ b/pkg/operator/manifests/ui/templates/ingress.yaml
@@ -17,7 +17,7 @@
{{- $ingress := .Spec.Service.Ingress }}
{{ if $ingress.Host }}
-apiVersion: networking.k8s.io/v1beta1
+apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Name }}-ui
@@ -36,10 +36,13 @@ spec:
- host: {{ $ingress.Host }}
http:
paths:
- - path: /*
- backend:
- serviceName: {{ .Name }}-ui
- servicePort: 80
+ - backend:
+ service:
+ name: {{ .Name }}-ui
+ port:
+ number: 80
+ path: /
+ pathType: Prefix
{{- if $ingress.IngressClassName }}
ingressClassName: {{ $ingress.IngressClassName }}
{{end}}
diff --git a/pkg/operator/repo/assets.gen.go b/pkg/operator/repo/assets.gen.go
index a7a529a..665d265 100644
--- a/pkg/operator/repo/assets.gen.go
+++ b/pkg/operator/repo/assets.gen.go
@@ -35,7 +35,7 @@
// storage/elasticsearch/templates/service_account.yaml (1.095kB)
// storage/elasticsearch/templates/statefulset.yaml (6.624kB)
// ui/templates/deployment.yaml (2.604kB)
-// ui/templates/ingress.yaml (1.668kB)
+// ui/templates/ingress.yaml (1.716kB)
// ui/templates/service.yaml (1.681kB)
package repo
@@ -1493,7 +1493,7 @@ var _uiTemplatesIngressYaml = []byte(`# Licensed to Apache Software Foundation (
{{- $ingress := .Spec.Service.Ingress }}
{{ if $ingress.Host }}
-apiVersion: networking.k8s.io/v1beta1
+apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Name }}-ui
@@ -1512,10 +1512,13 @@ spec:
- host: {{ $ingress.Host }}
http:
paths:
- - path: /*
- backend:
- serviceName: {{ .Name }}-ui
- servicePort: 80
+ - backend:
+ service:
+ name: {{ .Name }}-ui
+ port:
+ number: 80
+ path: /
+ pathType: Prefix
{{- if $ingress.IngressClassName }}
ingressClassName: {{ $ingress.IngressClassName }}
{{end}}
@@ -1537,7 +1540,7 @@ func uiTemplatesIngressYaml() (*asset, error) {
}
info := bindataFileInfo{name: "ui/templates/ingress.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
- a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0xd6, 0x97, 0xa8, 0x94, 0x74, 0x9b, 0x91, 0x91, 0xba, 0x4a, 0xe8, 0xe9, 0x7a, 0xdf, 0x86, 0x15, 0xec, 0x29, 0x6a, 0x30, 0xce, 0x38, 0x87, 0x98, 0x15, 0xaf, 0x36, 0xb0, 0x10, 0xc9, 0x44}}
+ a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa7, 0x22, 0xaf, 0xa7, 0x77, 0x36, 0x3a, 0x57, 0x1c, 0x52, 0x67, 0x42, 0xa0, 0x4a, 0xcf, 0xf7, 0xe9, 0x91, 0x75, 0x45, 0xdf, 0xdc, 0xa3, 0x68, 0x5c, 0x79, 0xc0, 0xbe, 0xf8, 0xb1, 0x61, 0x5e}}
return a, nil
}