blob: 910ee988af6175af8c050147d6b8f22a794e8ad2 [file] [log] [blame]
// Licensed to Apache Software Foundation (ASF) under one or more contributor
// license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright
// ownership. Apache Software Foundation (ASF) licenses this file to you under
// the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
// Code generated by go-bindata. DO NOT EDIT.
// sources:
// fetcher/templates/cluster_role.yaml (1.218kB)
// fetcher/templates/cluster_role_binding.yaml (1.205kB)
// fetcher/templates/configmap.yaml (3.082kB)
// fetcher/templates/deployment.yaml (2.084kB)
// fetcher/templates/service_account.yaml (1.088kB)
// injector/templates/annotations.yaml (11.792kB)
// injector/templates/configmap.yaml (2.044kB)
// oapserver/templates/cluster_role.yaml (1.241kB)
// oapserver/templates/cluster_role_binding.yaml (1.207kB)
// oapserver/templates/deployment.yaml (3.429kB)
// oapserver/templates/ingress.yaml (1.672kB)
// oapserver/templates/service.yaml (1.782kB)
// oapserver/templates/service_account.yaml (1.09kB)
// ui/templates/deployment.yaml (2.604kB)
// ui/templates/ingress.yaml (1.668kB)
// ui/templates/service.yaml (1.681kB)
package repo
import (
"crypto/sha256"
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strings"
"time"
)
type asset struct {
bytes []byte
info os.FileInfo
digest [sha256.Size]byte
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
func (fi bindataFileInfo) Name() string {
return fi.name
}
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
return false
}
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
var _fetcherTemplatesCluster_roleYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: swck:fetcher
labels:
operator.skywalking.apache.org/application: fetcher
operator.skywalking.apache.org/component: rbac
rules:
- apiGroups: [""]
resources: ["nodes", "nodes/proxy", "endpoints", "services", "pods"]
verbs: ["get", "watch", "list"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get"]
`)
func fetcherTemplatesCluster_roleYamlBytes() ([]byte, error) {
return _fetcherTemplatesCluster_roleYaml, nil
}
func fetcherTemplatesCluster_roleYaml() (*asset, error) {
bytes, err := fetcherTemplatesCluster_roleYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "fetcher/templates/cluster_role.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xe2, 0x96, 0xd7, 0x97, 0x52, 0x31, 0x75, 0x66, 0x9b, 0x3, 0x64, 0xd6, 0x68, 0x4f, 0x7, 0xc9, 0x9a, 0xe, 0x86, 0x6c, 0x15, 0x42, 0x64, 0x53, 0x34, 0x3e, 0xe1, 0xdc, 0x62, 0x5f, 0x3e}}
return a, nil
}
var _fetcherTemplatesCluster_role_bindingYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: swck:fetcher
labels:
operator.skywalking.apache.org/application: fetcher
operator.skywalking.apache.org/component: rbac
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: swck:fetcher
subjects:
- kind: ServiceAccount
name: {{ .Name }}-fetcher
namespace: {{ .Namespace }}
`)
func fetcherTemplatesCluster_role_bindingYamlBytes() ([]byte, error) {
return _fetcherTemplatesCluster_role_bindingYaml, nil
}
func fetcherTemplatesCluster_role_bindingYaml() (*asset, error) {
bytes, err := fetcherTemplatesCluster_role_bindingYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "fetcher/templates/cluster_role_binding.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x94, 0xd1, 0x52, 0x1b, 0x44, 0x28, 0xb4, 0x81, 0x6e, 0xdc, 0x93, 0xc8, 0x8, 0xa1, 0x7e, 0x63, 0x23, 0x78, 0xed, 0x66, 0x14, 0x33, 0xc4, 0x21, 0xea, 0x5e, 0x94, 0x3a, 0xed, 0x4a, 0x38, 0x81}}
return a, nil
}
var _fetcherTemplatesConfigmapYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
{{ $types := .Spec.GetType }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Name }}-fetcher
namespace: {{ .Namespace }}
labels:
app: fetcher
operator.skywalking.apache.org/fetcher-name: {{ .Name }}
operator.skywalking.apache.org/application: fetcher
operator.skywalking.apache.org/component: configmap
data:
collector.yaml: |-
service:
extensions: [zpages, health_check]
pipelines:
metrics:
receivers: [prometheus]
exporters: [logging, opencensus, prometheus]
extensions:
zpages:
endpoint: "localhost:56888"
health_check: {}
exporters:
logging:
prometheus:
endpoint: "0.0.0.0:9090"
opencensus:
endpoint: {{ .Spec.OAPServerAddress | quote }}
insecure: true
receivers:
{{- if has "prometheus" $types }}
prometheus:
config:
global:
scrape_interval: 15s
scrape_timeout: 10s
scrape_configs:
- job_name: kubernetes-pods
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: []
target_label: cluster
replacement: {{ .Spec.ClusterName | quote }}
- action: keep
regex: true
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
- action: replace
regex: (.+)
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_path
target_label: __metrics_path__
- action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $$1:$$2
source_labels:
- __address__
- __meta_kubernetes_pod_annotation_prometheus_io_port
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- action: replace
source_labels:
- __meta_kubernetes_namespace
target_label: kubernetes_namespace
- action: replace
source_labels:
- __meta_kubernetes_pod_name
target_label: kubernetes_pod_name
{{- end }}`)
func fetcherTemplatesConfigmapYamlBytes() ([]byte, error) {
return _fetcherTemplatesConfigmapYaml, nil
}
func fetcherTemplatesConfigmapYaml() (*asset, error) {
bytes, err := fetcherTemplatesConfigmapYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "fetcher/templates/configmap.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x78, 0x5c, 0x20, 0x2e, 0x4a, 0xd1, 0xc, 0xe0, 0xc3, 0x13, 0xec, 0x8e, 0x70, 0x6d, 0x50, 0x62, 0x8f, 0x8f, 0x1, 0x3c, 0xc3, 0xcc, 0x91, 0xf2, 0x40, 0xf9, 0x1, 0x21, 0x10, 0xae, 0x76, 0x85}}
return a, nil
}
var _fetcherTemplatesDeploymentYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Name }}-fetcher
namespace: {{ .Namespace }}
labels:
app: fetcher
operator.skywalking.apache.org/fetcher-name: {{ .Name }}
operator.skywalking.apache.org/application: fetcher
operator.skywalking.apache.org/component: deployment
spec:
replicas: 1
selector:
matchLabels:
app: fetcher
operator.skywalking.apache.org/fetcher-name: {{ .Name }}
template:
metadata:
labels:
app: fetcher
operator.skywalking.apache.org/fetcher-name: {{ .Name }}
operator.skywalking.apache.org/application: fetcher
operator.skywalking.apache.org/component: pod
spec:
serviceAccountName: {{ .Name }}-fetcher
containers:
- args:
- --log-level=DEBUG
- --config=/conf/collector.yaml
image: otel/opentelemetry-collector:0.18.0
imagePullPolicy: IfNotPresent
name: otc-container
volumeMounts:
- mountPath: /conf
name: otc-internal
volumes:
- configMap:
defaultMode: 420
items:
- key: collector.yaml
path: collector.yaml
name: {{ .Name }}-fetcher
name: otc-internal
`)
func fetcherTemplatesDeploymentYamlBytes() ([]byte, error) {
return _fetcherTemplatesDeploymentYaml, nil
}
func fetcherTemplatesDeploymentYaml() (*asset, error) {
bytes, err := fetcherTemplatesDeploymentYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "fetcher/templates/deployment.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5d, 0xe2, 0x26, 0x9b, 0x90, 0xa9, 0x58, 0x5b, 0xce, 0xda, 0x61, 0x85, 0x4c, 0x9a, 0xfc, 0x29, 0xab, 0x6f, 0xd6, 0x48, 0x92, 0x24, 0xa5, 0x5a, 0xc6, 0xf6, 0xe, 0x54, 0xe5, 0xaf, 0xca, 0x3a}}
return a, nil
}
var _fetcherTemplatesService_accountYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Name }}-fetcher
namespace: {{ .Namespace }}
labels:
operator.skywalking.apache.org/fetcher-name: {{ .Name }}
operator.skywalking.apache.org/application: fetcher
operator.skywalking.apache.org/component: rbac
`)
func fetcherTemplatesService_accountYamlBytes() ([]byte, error) {
return _fetcherTemplatesService_accountYaml, nil
}
func fetcherTemplatesService_accountYaml() (*asset, error) {
bytes, err := fetcherTemplatesService_accountYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "fetcher/templates/service_account.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0x75, 0x7a, 0xa, 0x7f, 0xf7, 0x92, 0x19, 0x6b, 0x9d, 0x83, 0x8f, 0xf3, 0x4, 0x78, 0xe, 0x5a, 0x50, 0xab, 0x85, 0xd7, 0xc8, 0x78, 0xc3, 0x68, 0x53, 0xd3, 0xc6, 0x66, 0x93, 0xf3, 0x5c}}
return a, nil
}
var _injectorTemplatesAnnotationsYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# name means the reference to configuration used in pod's annotations.
# defaultValue is the default value in agent.config
# vaildateFunc means use which function to validate the value
# Notice , the vaildateFunc must exist in validate.go ,
# if don't have the vaildateFunc , please set nil
# useQuotes means a separator(, or =) in the option or value, it should be wrapped in quotes.
# if there is a separator in the option, then set useQuotes: option
# if there is a separator in the value, then set useQuotes: value
# if there isn't a separator,then set useQuotes: nil
# envName is the environment variable in agent.config
annotations:
# Next is the annotation of the sidecar configuration
- name: sidecar.skywalking.apache.org/initcontainer.Name
defaultValue: inject-skywalking-agent
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/initcontainer.Image
defaultValue: apache/skywalking-java-agent:8.7.0-jdk8
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/initcontainer.Command
defaultValue: sh
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/initcontainer.args.Option
defaultValue: -c
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/initcontainer.args.Command
defaultValue: "mkdir -p /sky/agent && cp -r /skywalking/agent/* /sky/agent"
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/sidecarVolume.Name
defaultValue: sky-agent
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/sidecarVolumeMount.MountPath
defaultValue: /sky/agent
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/configmapVolume.ConfigMap.Name
defaultValue: skywalking-swck-java-agent-configmap
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/configmapVolume.Name
defaultValue: java-agent-configmap-volume
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/configmapVolumeMount.MountPath
defaultValue: /sky/agent/config
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/env.Name
defaultValue: AGENT_OPTS
validateFunc: nil
useQuotes: nil
envName: nil
- name: sidecar.skywalking.apache.org/env.Value
defaultValue: -javaagent:/sky/agent/skywalking-agent.jar
validateFunc: nil
useQuotes: nil
envName: nil
# Next is the annotation of the java agent configuration
- name: agent.skywalking.apache.org/agent.namespace
defaultValue: default-namespace
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_NAMESPACE
- name: agent.skywalking.apache.org/agent.service_name
defaultValue: Your_ApplicationName
validateFunc: ValidateServiceName
useQuotes: nil
envName: SW_AGENT_NAME
- name: agent.skywalking.apache.org/agent.instance_name
defaultValue: nil
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_INSTANCE_NAME
- name: agent.skywalking.apache.org/agent.sample_n_per_3_secs
defaultValue: -1
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_SAMPLE
- name: agent.skywalking.apache.org/agent.authentication
defaultValue: nil
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_AUTHENTICATION
- name: agent.skywalking.apache.org/agent.span_limit_per_segment
defaultValue: 300
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_SPAN_LIMIT
- name: agent.skywalking.apache.org/agent.ignore_suffix
defaultValue: .jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg
validateFunc: nil
useQuotes: value
envName: SW_AGENT_IGNORE_SUFFIX
- name: agent.skywalking.apache.org/agent.is_open_debugging_class
defaultValue: true
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_OPEN_DEBUG
- name: agent.skywalking.apache.org/agent.is_cache_enhanced_class
defaultValue: false
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_CACHE_CLASS
- name: agent.skywalking.apache.org/agent.class_cache_mode
defaultValue: MEMORY
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_CLASS_CACHE_MODE
- name: agent.skywalking.apache.org/agent.cause_exception_depth
defaultValue: 5
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_CAUSE_EXCEPTION_DEPTH
- name: agent.skywalking.apache.org/agent.force_reconnection_period
defaultValue: 1
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_FORCE_RECONNECTION_PERIOD
- name: agent.skywalking.apache.org/agent.operation_name_threshold
defaultValue: 150
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_OPERATION_NAME_THRESHOLD
- name: agent.skywalking.apache.org/agent.keep_tracing
defaultValue: false
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_KEEP_TRACING
- name: agent.skywalking.apache.org/agent.force_tls
defaultValue: false
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_FORCE_TLS
- name: agent.skywalking.apache.org/osinfo.ipv4_list_size
defaultValue: 10
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_OSINFO_IPV4_LIST_SIZE
- name: agent.skywalking.apache.org/collector.grpc_channel_check_interval
defaultValue: 30
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_COLLECTOR_GRPC_CHANNEL_CHECK_INTERVAL
- name: agent.skywalking.apache.org/collector.heartbeat_period
defaultValue: 30
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_COLLECTOR_HEARTBEAT_PERIOD
- name: agent.skywalking.apache.org/collector.properties_report_period_factor
defaultValue: 10
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_COLLECTOR_PROPERTIES_REPORT_PERIOD_FACTOR
- name: agent.skywalking.apache.org/collector.backend_service
defaultValue: 127.0.0.1:11800
validateFunc: ValidateIpandPort
useQuotes: nil
envName: SW_AGENT_COLLECTOR_BACKEND_SERVICES
- name: agent.skywalking.apache.org/collector.grpc_upstream_timeout
defaultValue: 30
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_COLLECTOR_GRPC_UPSTREAM_TIMEOUT
- name: agent.skywalking.apache.org/collector.get_profile_task_interval
defaultValue: 20
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_COLLECTOR_GET_PROFILE_TASK_INTERVAL
- name: agent.skywalking.apache.org/collector.get_agent_dynamic_config_interval
defaultValue: 20
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_COLLECTOR_GET_AGENT_DYNAMIC_CONFIG_INTERVAL
- name: agent.skywalking.apache.org/collector.is_resolve_dns_periodically
defaultValue: false
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_COLLECTOR_IS_RESOLVE_DNS_PERIODICALLY
- name: agent.skywalking.apache.org/logging.level
defaultValue: INFO
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_LEVEL
- name: agent.skywalking.apache.org/logging.file_name
defaultValue: skywalking-api.log
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_FILE_NAME
- name: agent.skywalking.apache.org/logging.output
defaultValue: FILE
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_OUTPUT
- name: agent.skywalking.apache.org/logging.dir
defaultValue: nil
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_DIR
- name: agent.skywalking.apache.org/logging.resolver
defaultValue: PATTERN
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_RESOLVER
- name: agent.skywalking.apache.org/logging.pattern
defaultValue: "%level %timestamp %thread %class : %msg %throwable"
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_PATTERN
- name: agent.skywalking.apache.org/logging.max_file_size
defaultValue: 314572800
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_MAX_FILE_SIZE
- name: agent.skywalking.apache.org/logging.max_history_files
defaultValue: -1
validateFunc: nil
useQuotes: nil
envName: SW_LOGGING_MAX_HISTORY_FILES
- name: agent.skywalking.apache.org/statuscheck.ignored_exceptions
defaultValue: nil
validateFunc: nil
useQuotes: nil
envName: SW_STATUSCHECK_IGNORED_EXCEPTIONS
- name: agent.skywalking.apache.org/statuscheck.max_recursive_depth
defaultValue: 1
validateFunc: nil
useQuotes: nil
envName: SW_STATUSCHECK_MAX_RECURSIVE_DEPTH
- name: agent.skywalking.apache.org/correlation.element_max_number
defaultValue: 3
validateFunc: nil
useQuotes: nil
envName: SW_CORRELATION_ELEMENT_MAX_NUMBER
- name: agent.skywalking.apache.org/correlation.value_max_length
defaultValue: 128
validateFunc: nil
useQuotes: nil
envName: SW_CORRELATION_VALUE_MAX_LENGTH
- name: agent.skywalking.apache.org/correlation.auto_tag_keys
defaultValue: nil
validateFunc: nil
useQuotes: nil
envName: SW_CORRELATION_AUTO_TAG_KEYS
- name: agent.skywalking.apache.org/jvm.buffer_size
defaultValue: 600
validateFunc: nil
useQuotes: nil
envName: SW_JVM_BUFFER_SIZE
- name: agent.skywalking.apache.org/buffer.channel_size
defaultValue: 5
validateFunc: nil
useQuotes: nil
envName: SW_BUFFER_CHANNEL_SIZE
- name: agent.skywalking.apache.org/buffer.buffer_size
defaultValue: 300
validateFunc: nil
useQuotes: nil
envName: SW_BUFFER_BUFFER_SIZE
- name: agent.skywalking.apache.org/profile.active
defaultValue: true
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_PROFILE_ACTIVE
- name: agent.skywalking.apache.org/profile.max_parallel
defaultValue: 5
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_PROFILE_MAX_PARALLEL
- name: agent.skywalking.apache.org/profile.duration
defaultValue: 10
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_PROFILE_DURATION
- name: agent.skywalking.apache.org/profile.dump_max_stack_depth
defaultValue: 500
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_PROFILE_DUMP_MAX_STACK_DEPTH
- name: agent.skywalking.apache.org/profile.snapshot_transport_buffer_size
defaultValue: 50
validateFunc: nil
useQuotes: nil
envName: SW_AGENT_PROFILE_SNAPSHOT_TRANSPORT_BUFFER_SIZE
- name: agent.skywalking.apache.org/meter.active
defaultValue: true
validateFunc: nil
useQuotes: nil
envName: SW_METER_ACTIVE
- name: agent.skywalking.apache.org/meter.report_interval
defaultValue: 20
validateFunc: nil
useQuotes: nil
envName: SW_METER_REPORT_INTERVAL
- name: agent.skywalking.apache.org/meter.max_meter_size
defaultValue: 500
validateFunc: nil
useQuotes: nil
envName: SW_METER_MAX_METER_SIZE
`)
func injectorTemplatesAnnotationsYamlBytes() ([]byte, error) {
return _injectorTemplatesAnnotationsYaml, nil
}
func injectorTemplatesAnnotationsYaml() (*asset, error) {
bytes, err := injectorTemplatesAnnotationsYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "injector/templates/annotations.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x80, 0x70, 0xea, 0x8c, 0x8a, 0xa2, 0xc3, 0x6a, 0xec, 0x88, 0x88, 0x90, 0x41, 0x13, 0xe7, 0x8f, 0x23, 0xba, 0x13, 0x44, 0x89, 0x20, 0xed, 0xbe, 0xa2, 0xdd, 0x40, 0x71, 0xa6, 0x67, 0xf0, 0xdd}}
return a, nil
}
var _injectorTemplatesConfigmapYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: v1
kind: ConfigMap
metadata:
name: skywalking-swck-java-agent-configmap
namespace: skywalking-swck-system
data:
agent.config: |
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{- $anno := getAgentAnnotations }}
{{- range $anno -}}
{{- if ne .DefaultValue "nil" }}
{{parse .Name}}=${ {{- .EnvName}}:{{.DefaultValue -}} }
{{- else}}
{{parse .Name}}=${ {{- .EnvName}}:}
{{- end -}}
{{- end -}}`)
func injectorTemplatesConfigmapYamlBytes() ([]byte, error) {
return _injectorTemplatesConfigmapYaml, nil
}
func injectorTemplatesConfigmapYaml() (*asset, error) {
bytes, err := injectorTemplatesConfigmapYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "injector/templates/configmap.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa4, 0xf9, 0x1c, 0x4f, 0x27, 0xe7, 0x88, 0xed, 0xfb, 0xf0, 0x9c, 0xa1, 0x33, 0x40, 0xba, 0x8c, 0xf3, 0x0, 0x71, 0xfc, 0xa9, 0x2b, 0x46, 0x1d, 0x53, 0xb3, 0x48, 0xd3, 0x1b, 0x5d, 0xe7, 0x9f}}
return a, nil
}
var _oapserverTemplatesCluster_roleYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: swck:oapserver
labels:
operator.skywalking.apache.org/application: oapserver
operator.skywalking.apache.org/component: rbac
rules:
- apiGroups: [""]
resources: ["pods", "endpoints", "services"]
verbs: ["get", "watch", "list"]
- apiGroups: ["extensions"]
resources: ["deployments", "replicasets"]
verbs: ["get", "watch", "list"]
`)
func oapserverTemplatesCluster_roleYamlBytes() ([]byte, error) {
return _oapserverTemplatesCluster_roleYaml, nil
}
func oapserverTemplatesCluster_roleYaml() (*asset, error) {
bytes, err := oapserverTemplatesCluster_roleYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "oapserver/templates/cluster_role.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb5, 0xde, 0x59, 0x47, 0x2c, 0x69, 0xe9, 0xcd, 0x7e, 0xa7, 0x4, 0xf7, 0xf2, 0xa0, 0x1a, 0x1b, 0xb6, 0xa3, 0x42, 0xb3, 0x20, 0x49, 0x9b, 0x2f, 0x81, 0x87, 0xa0, 0x95, 0x73, 0x49, 0x6a, 0xdb}}
return a, nil
}
var _oapserverTemplatesCluster_role_bindingYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: swck:oapserver
labels:
operator.skywalking.apache.org/application: oapserver
operator.skywalking.apache.org/component: rbac
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: swck:oapserver
subjects:
- kind: ServiceAccount
name: {{ .Name }}-oap
namespace: {{ .Namespace }}
`)
func oapserverTemplatesCluster_role_bindingYamlBytes() ([]byte, error) {
return _oapserverTemplatesCluster_role_bindingYaml, nil
}
func oapserverTemplatesCluster_role_bindingYaml() (*asset, error) {
bytes, err := oapserverTemplatesCluster_role_bindingYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "oapserver/templates/cluster_role_binding.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0x15, 0xc5, 0xe0, 0xe7, 0x4e, 0xeb, 0xed, 0x61, 0xda, 0xad, 0x6c, 0x43, 0xf, 0x80, 0x5, 0x4c, 0x47, 0xbc, 0x20, 0xe7, 0xc6, 0xdf, 0x63, 0xcf, 0x9b, 0x54, 0x56, 0x1f, 0x4, 0xbf, 0x1c}}
return a, nil
}
var _oapserverTemplatesDeploymentYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Name }}-oap
namespace: {{ .Namespace }}
labels:
app: oap
operator.skywalking.apache.org/oap-server-name: {{ .Name }}
operator.skywalking.apache.org/application: oapserver
operator.skywalking.apache.org/component: deployment
spec:
replicas: {{ .Spec.Instances }}
minReadySeconds: 5
selector:
matchLabels:
app: oap
operator.skywalking.apache.org/oap-server-name: {{ .Name }}
template:
metadata:
labels:
app: oap
operator.skywalking.apache.org/oap-server-name: {{ .Name }}
operator.skywalking.apache.org/application: oapserver
operator.skywalking.apache.org/component: pod
spec:
serviceAccountName: {{ .Name }}-oap
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
app: oap
operator.skywalking.apache.org/oap-server-name: {{ .Name }}
containers:
- name: oap
image: {{ .Spec.Image }}
imagePullPolicy: IfNotPresent
ports:
- containerPort: 11800
name: grpc
- containerPort: 12800
name: rest
- containerPort: 1234
name: http-monitoring
livenessProbe:
initialDelaySeconds: 10
timeoutSeconds: 10
periodSeconds: 30
failureThreshold: 10
successThreshold: 1
exec:
command:
- /skywalking/bin/swctl
- ch
readinessProbe:
initialDelaySeconds: 10
timeoutSeconds: 10
periodSeconds: 30
failureThreshold: 10
successThreshold: 1
exec:
command:
- /skywalking/bin/swctl
- ch
env:
- name: JAVA_OPTS
value: -Xmx2048M
- name: SW_CLUSTER
value: kubernetes
- name: SW_CLUSTER_K8S_NAMESPACE
value: "{{ .Namespace }}"
- name: SW_CLUSTER_K8S_LABEL
value: "app=oap,operator.skywalking.apache.org/oap-server-name={{ .Name }}"
- name: SKYWALKING_COLLECTOR_UID
valueFrom:
fieldRef:
fieldPath: metadata.uid
- name: SW_TELEMETRY
value: prometheus
- name: SW_HEALTH_CHECKER
value: default
{{range .Spec.Config}}
- name: {{ .Name }}
value: {{ .Value }}
{{end}}
`)
func oapserverTemplatesDeploymentYamlBytes() ([]byte, error) {
return _oapserverTemplatesDeploymentYaml, nil
}
func oapserverTemplatesDeploymentYaml() (*asset, error) {
bytes, err := oapserverTemplatesDeploymentYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "oapserver/templates/deployment.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x21, 0x12, 0x5f, 0xe9, 0xad, 0xb3, 0xfa, 0xcb, 0x81, 0xcb, 0x77, 0x13, 0x31, 0x9c, 0xde, 0x1e, 0x64, 0x27, 0x1b, 0xde, 0xa4, 0x1c, 0xd5, 0x78, 0x92, 0x5b, 0x6e, 0xe6, 0x56, 0x16, 0xf1, 0xbb}}
return a, nil
}
var _oapserverTemplatesIngressYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
{{- $ingress := .Spec.Service.Ingress }}
{{ if $ingress.Host }}
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ .Name }}-ui
namespace: {{ .Namespace }}
labels:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
operator.skywalking.apache.org/application: ui
operator.skywalking.apache.org/component: deployment
annotations:
{{- range $key, $value := $ingress.Annotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec:
rules:
- host: {{ $ingress.Host }}
http:
paths:
- path: /*
backend:
serviceName: {{ .Name }}-oap
servicePort: 12800
{{- if $ingress.IngressClassName }}
ingressClassName: {{ $ingress.IngressClassName }}
{{end}}
{{- if $ingress.TLS }}
tls:
{{ toYAML $ingress.TLS | indent 4 }}
{{end}}
{{end}}
`)
func oapserverTemplatesIngressYamlBytes() ([]byte, error) {
return _oapserverTemplatesIngressYaml, nil
}
func oapserverTemplatesIngressYaml() (*asset, error) {
bytes, err := oapserverTemplatesIngressYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "oapserver/templates/ingress.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x2, 0xeb, 0x33, 0x6f, 0x15, 0x7c, 0x82, 0x23, 0x94, 0xe1, 0x20, 0x4f, 0x3, 0xd7, 0x23, 0xc6, 0xd0, 0x3a, 0xc6, 0x44, 0x3a, 0xc0, 0x8f, 0xeb, 0x47, 0x57, 0x9a, 0x2d, 0x49, 0xea, 0x5a}}
return a, nil
}
var _oapserverTemplatesServiceYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
{{- $svc := .Spec.Service.Template }}
apiVersion: v1
kind: Service
metadata:
name: {{ .Name }}-oap
namespace: {{ .Namespace }}
labels:
app: oap
operator.skywalking.apache.org/oap-server-name: {{ .Name }}
operator.skywalking.apache.org/application: oapserver
operator.skywalking.apache.org/component: service
spec:
type: {{ $svc.Type }}
ports:
- port: 12800
name: rest
- port: 11800
name: grpc
- port: 1234
name: http-monitoring
{{- if $svc.ExternalIPs }}
externalIPs:
{{- range $value := $svc.ExternalIPs }}
- {{ $value | quote }}
{{- end }}
{{- end }}
{{- if $svc.LoadBalancerIP }}
loadBalancerIP: {{ $svc.LoadBalancerIP }}
{{- end }}
{{- if $svc.LoadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{- range $value := $svc.LoadBalancerSourceRanges }}
- {{ $value | quote }}
{{- end }}
{{- end }}
selector:
app: oap
operator.skywalking.apache.org/oap-server-name: {{ .Name }}
`)
func oapserverTemplatesServiceYamlBytes() ([]byte, error) {
return _oapserverTemplatesServiceYaml, nil
}
func oapserverTemplatesServiceYaml() (*asset, error) {
bytes, err := oapserverTemplatesServiceYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "oapserver/templates/service.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x76, 0x46, 0xaa, 0x13, 0x1b, 0x93, 0x29, 0x97, 0xcd, 0xa3, 0x61, 0xf2, 0x8f, 0x2d, 0xf, 0xcd, 0x88, 0xf6, 0xd, 0x32, 0xae, 0x16, 0x3e, 0x55, 0x33, 0x43, 0xe9, 0x16, 0xd0, 0xe2, 0xe0}}
return a, nil
}
var _oapserverTemplatesService_accountYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Name }}-oap
namespace: {{ .Namespace }}
labels:
operator.skywalking.apache.org/oap-server-name: {{ .Name }}
operator.skywalking.apache.org/application: oapserver
operator.skywalking.apache.org/component: rbac
`)
func oapserverTemplatesService_accountYamlBytes() ([]byte, error) {
return _oapserverTemplatesService_accountYaml, nil
}
func oapserverTemplatesService_accountYaml() (*asset, error) {
bytes, err := oapserverTemplatesService_accountYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "oapserver/templates/service_account.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x35, 0x3b, 0x36, 0x6, 0xcc, 0x9, 0x84, 0x7d, 0x62, 0x48, 0x31, 0xcf, 0x17, 0xec, 0xd1, 0xdd, 0x83, 0x0, 0x86, 0x6a, 0x50, 0xd5, 0xb6, 0x4a, 0x23, 0xdc, 0xea, 0xd, 0x80, 0x87, 0x2, 0x24}}
return a, nil
}
var _uiTemplatesDeploymentYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Name }}-ui
namespace: {{ .Namespace }}
labels:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
operator.skywalking.apache.org/application: ui
operator.skywalking.apache.org/component: deployment
spec:
replicas: {{ .Spec.Instances }}
minReadySeconds: 5
selector:
matchLabels:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
template:
metadata:
labels:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
operator.skywalking.apache.org/application: ui
operator.skywalking.apache.org/component: deployment
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
containers:
- name: ui
image: {{ .Spec.Image }}
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
name: page
livenessProbe:
initialDelaySeconds: 10
timeoutSeconds: 10
periodSeconds: 30
failureThreshold: 3
successThreshold: 1
httpGet:
path: /
port: 8080
readinessProbe:
initialDelaySeconds: 10
timeoutSeconds: 10
periodSeconds: 30
failureThreshold: 3
successThreshold: 1
httpGet:
path: /
port: 8080
env:
- name: SW_OAP_ADDRESS
value: {{ .Spec.OAPServerAddress }}
`)
func uiTemplatesDeploymentYamlBytes() ([]byte, error) {
return _uiTemplatesDeploymentYaml, nil
}
func uiTemplatesDeploymentYaml() (*asset, error) {
bytes, err := uiTemplatesDeploymentYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "ui/templates/deployment.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x19, 0x7d, 0xe7, 0x88, 0xad, 0x5b, 0x81, 0x96, 0xe0, 0xbd, 0x6c, 0xfe, 0x62, 0x8, 0x9f, 0x7b, 0xca, 0x2, 0x25, 0x75, 0x8c, 0x4, 0xee, 0xd4, 0xb9, 0xbf, 0xee, 0x8f, 0x2d, 0xa8, 0x5d, 0xb9}}
return a, nil
}
var _uiTemplatesIngressYaml = []byte(`# Licensed to Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Apache Software Foundation (ASF) licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
{{- $ingress := .Spec.Service.Ingress }}
{{ if $ingress.Host }}
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ .Name }}-ui
namespace: {{ .Namespace }}
labels:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
operator.skywalking.apache.org/application: ui
operator.skywalking.apache.org/component: deployment
annotations:
{{- range $key, $value := $ingress.Annotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec:
rules:
- host: {{ $ingress.Host }}
http:
paths:
- path: /*
backend:
serviceName: {{ .Name }}-ui
servicePort: 80
{{- if $ingress.IngressClassName }}
ingressClassName: {{ $ingress.IngressClassName }}
{{end}}
{{- if $ingress.TLS }}
tls:
{{ toYAML $ingress.TLS | indent 4 }}
{{end}}
{{end}}
`)
func uiTemplatesIngressYamlBytes() ([]byte, error) {
return _uiTemplatesIngressYaml, nil
}
func uiTemplatesIngressYaml() (*asset, error) {
bytes, err := uiTemplatesIngressYamlBytes()
if err != nil {
return nil, err
}
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}}
return a, nil
}
var _uiTemplatesServiceYaml = []byte(`# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{- $svc := .Spec.Service.Template }}
apiVersion: v1
kind: Service
metadata:
name: {{ .Name }}-ui
namespace: {{ .Namespace }}
labels:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
operator.skywalking.apache.org/application: ui
operator.skywalking.apache.org/component: service
spec:
type: {{ $svc.Type }}
ports:
- port: 80
targetPort: 8080
name: page
{{- if $svc.ExternalIPs }}
externalIPs:
{{- range $value := $svc.ExternalIPs }}
- {{ $value | quote }}
{{- end }}
{{- end }}
{{- if $svc.LoadBalancerIP }}
loadBalancerIP: {{ $svc.LoadBalancerIP }}
{{- end }}
{{- if $svc.LoadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{- range $value := $svc.LoadBalancerSourceRanges }}
- {{ $value | quote}}
{{- end }}
{{- end }}
selector:
app: ui
operator.skywalking.apache.org/ui-name: {{ .Name }}
`)
func uiTemplatesServiceYamlBytes() ([]byte, error) {
return _uiTemplatesServiceYaml, nil
}
func uiTemplatesServiceYaml() (*asset, error) {
bytes, err := uiTemplatesServiceYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "ui/templates/service.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0xdf, 0xf0, 0x9e, 0x39, 0xbe, 0x97, 0x7e, 0x89, 0xb8, 0xc7, 0xa8, 0xc7, 0x13, 0x20, 0x9c, 0x33, 0x24, 0xb7, 0xa7, 0x83, 0x42, 0xf3, 0xdc, 0xd6, 0x4a, 0x53, 0x16, 0x48, 0x83, 0x36, 0x9e}}
return a, nil
}
// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
}
return a.bytes, nil
}
return nil, fmt.Errorf("Asset %s not found", name)
}
// AssetString returns the asset contents as a string (instead of a []byte).
func AssetString(name string) (string, error) {
data, err := Asset(name)
return string(data), err
}
// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
return a
}
// MustAssetString is like AssetString but panics when Asset would return an
// error. It simplifies safe initialization of global variables.
func MustAssetString(name string) string {
return string(MustAsset(name))
}
// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
}
return a.info, nil
}
return nil, fmt.Errorf("AssetInfo %s not found", name)
}
// AssetDigest returns the digest of the file with the given name. It returns an
// error if the asset could not be found or the digest could not be loaded.
func AssetDigest(name string) ([sha256.Size]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
}
return a.digest, nil
}
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
}
// Digests returns a map of all known files and their checksums.
func Digests() (map[string][sha256.Size]byte, error) {
mp := make(map[string][sha256.Size]byte, len(_bindata))
for name := range _bindata {
a, err := _bindata[name]()
if err != nil {
return nil, err
}
mp[name] = a.digest
}
return mp, nil
}
// AssetNames returns the names of the assets.
func AssetNames() []string {
names := make([]string, 0, len(_bindata))
for name := range _bindata {
names = append(names, name)
}
return names
}
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"fetcher/templates/cluster_role.yaml": fetcherTemplatesCluster_roleYaml,
"fetcher/templates/cluster_role_binding.yaml": fetcherTemplatesCluster_role_bindingYaml,
"fetcher/templates/configmap.yaml": fetcherTemplatesConfigmapYaml,
"fetcher/templates/deployment.yaml": fetcherTemplatesDeploymentYaml,
"fetcher/templates/service_account.yaml": fetcherTemplatesService_accountYaml,
"injector/templates/annotations.yaml": injectorTemplatesAnnotationsYaml,
"injector/templates/configmap.yaml": injectorTemplatesConfigmapYaml,
"oapserver/templates/cluster_role.yaml": oapserverTemplatesCluster_roleYaml,
"oapserver/templates/cluster_role_binding.yaml": oapserverTemplatesCluster_role_bindingYaml,
"oapserver/templates/deployment.yaml": oapserverTemplatesDeploymentYaml,
"oapserver/templates/ingress.yaml": oapserverTemplatesIngressYaml,
"oapserver/templates/service.yaml": oapserverTemplatesServiceYaml,
"oapserver/templates/service_account.yaml": oapserverTemplatesService_accountYaml,
"ui/templates/deployment.yaml": uiTemplatesDeploymentYaml,
"ui/templates/ingress.yaml": uiTemplatesIngressYaml,
"ui/templates/service.yaml": uiTemplatesServiceYaml,
}
// AssetDebug is true if the assets were built with the debug flag enabled.
const AssetDebug = false
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
// data/
// foo.txt
// img/
// a.png
// b.png
// then AssetDir("data") would return []string{"foo.txt", "img"},
// AssetDir("data/img") would return []string{"a.png", "b.png"},
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
node := _bintree
if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/")
for _, p := range pathList {
node = node.Children[p]
if node == nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
}
}
if node.Func != nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
rv := make([]string, 0, len(node.Children))
for childName := range node.Children {
rv = append(rv, childName)
}
return rv, nil
}
type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"fetcher": &bintree{nil, map[string]*bintree{
"templates": &bintree{nil, map[string]*bintree{
"cluster_role.yaml": &bintree{fetcherTemplatesCluster_roleYaml, map[string]*bintree{}},
"cluster_role_binding.yaml": &bintree{fetcherTemplatesCluster_role_bindingYaml, map[string]*bintree{}},
"configmap.yaml": &bintree{fetcherTemplatesConfigmapYaml, map[string]*bintree{}},
"deployment.yaml": &bintree{fetcherTemplatesDeploymentYaml, map[string]*bintree{}},
"service_account.yaml": &bintree{fetcherTemplatesService_accountYaml, map[string]*bintree{}},
}},
}},
"injector": &bintree{nil, map[string]*bintree{
"templates": &bintree{nil, map[string]*bintree{
"annotations.yaml": &bintree{injectorTemplatesAnnotationsYaml, map[string]*bintree{}},
"configmap.yaml": &bintree{injectorTemplatesConfigmapYaml, map[string]*bintree{}},
}},
}},
"oapserver": &bintree{nil, map[string]*bintree{
"templates": &bintree{nil, map[string]*bintree{
"cluster_role.yaml": &bintree{oapserverTemplatesCluster_roleYaml, map[string]*bintree{}},
"cluster_role_binding.yaml": &bintree{oapserverTemplatesCluster_role_bindingYaml, map[string]*bintree{}},
"deployment.yaml": &bintree{oapserverTemplatesDeploymentYaml, map[string]*bintree{}},
"ingress.yaml": &bintree{oapserverTemplatesIngressYaml, map[string]*bintree{}},
"service.yaml": &bintree{oapserverTemplatesServiceYaml, map[string]*bintree{}},
"service_account.yaml": &bintree{oapserverTemplatesService_accountYaml, map[string]*bintree{}},
}},
}},
"ui": &bintree{nil, map[string]*bintree{
"templates": &bintree{nil, map[string]*bintree{
"deployment.yaml": &bintree{uiTemplatesDeploymentYaml, map[string]*bintree{}},
"ingress.yaml": &bintree{uiTemplatesIngressYaml, map[string]*bintree{}},
"service.yaml": &bintree{uiTemplatesServiceYaml, map[string]*bintree{}},
}},
}},
}}
// RestoreAsset restores an asset under the given directory.
func RestoreAsset(dir, name string) error {
data, err := Asset(name)
if err != nil {
return err
}
info, err := AssetInfo(name)
if err != nil {
return err
}
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
if err != nil {
return err
}
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
if err != nil {
return err
}
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
}
// RestoreAssets restores an asset under the given directory recursively.
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
// File
if err != nil {
return RestoreAsset(dir, name)
}
// Dir
for _, child := range children {
err = RestoreAssets(dir, filepath.Join(name, child))
if err != nil {
return err
}
}
return nil
}
func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
}