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/17 00:00:53 UTC
[skywalking-swck] branch master updated: add e2e test[OAP+UI+Agent] (#46)
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 aad0db9 add e2e test[OAP+UI+Agent] (#46)
aad0db9 is described below
commit aad0db9b0616073fa80b0ff4c1f9755ee826db54
Author: dashanji <71...@users.noreply.github.com>
AuthorDate: Wed Nov 17 07:59:38 2021 +0800
add e2e test[OAP+UI+Agent] (#46)
* add e2e test
* Bump up SkyWalking Java agent to 8.8.0.
* Add imagePullPolicy: IfNotPresent to avoid tagging the controller's
image in the kind cluster.
---
.github/workflows/go.yml | 19 +++-
Makefile | 5 +
config/operator/manager/manager.yaml | 1 +
hack/prepare-e2e.sh | 77 +++++++++++++++
hack/wait-webhook.sh | 41 ++++++++
.../manifests/injector/templates/annotations.yaml | 2 +-
pkg/operator/repo/assets.gen.go | 6 +-
test/e2e/demo.yaml | 56 +++++++++++
test/e2e/e2e.yaml | 109 +++++++++++++++++++++
test/e2e/kind.yaml | 41 ++++++++
.../e2e/skywalking-components.yaml | 61 +++++-------
test/e2e/verify/endpoint.yaml | 19 ++++
test/e2e/verify/metrics.yaml | 19 ++++
.../manager.yaml => test/e2e/verify/service.yaml | 44 +--------
14 files changed, 421 insertions(+), 79 deletions(-)
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index 6c317f5..0fad3f2 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -80,9 +80,26 @@ jobs:
run: ./hack/install-kubebuilder.sh
- name: tests
run: make test
+ e2e-tests:
+ name: e2e tests(oap+ui+agent)
+ runs-on: ubuntu-latest
+ steps:
+ - name: Install Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.17
+ id: go
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v2
+ - name: Update dependencies
+ run: GOPROXY=https://proxy.golang.org go mod download
+ - name: Run E2E Test
+ uses: apache/skywalking-infra-e2e@996ed8902e941e2883fcf0ac5b3090364942d205 # always prefer to use a revision instead of `main`.
+ with:
+ e2e-file: test/e2e/e2e.yaml # need to run E2E file path
checks:
name: build
runs-on: ubuntu-20.04
- needs: [check, build, unit-tests]
+ needs: [check, build, unit-tests, e2e-tests]
steps:
- run: echo 'success'
diff --git a/Makefile b/Makefile
index 38fb18f..3143263 100644
--- a/Makefile
+++ b/Makefile
@@ -50,6 +50,11 @@ clean:
test: generate operator-manifests
go test ./... -coverprofile cover.out
+# Run e2e-test
+e2e-test:
+ @echo "Run e2e..."
+ e2e run -c test/e2e/e2e.yaml
+
# Build manager binary
operator: generate
go build -o bin/manager cmd/manager/manager.go
diff --git a/config/operator/manager/manager.yaml b/config/operator/manager/manager.yaml
index 2eb0b50..d0699c9 100644
--- a/config/operator/manager/manager.yaml
+++ b/config/operator/manager/manager.yaml
@@ -45,6 +45,7 @@ spec:
args:
- --enable-leader-election
image: controller:latest
+ imagePullPolicy: IfNotPresent
name: manager
resources:
limits:
diff --git a/hack/prepare-e2e.sh b/hack/prepare-e2e.sh
new file mode 100755
index 0000000..9a7f356
--- /dev/null
+++ b/hack/prepare-e2e.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+
+OS=$(go env GOOS)
+ARCH=$(go env GOHOSTARCH)
+
+INSTALL_DIR=/usr/local/bin
+
+prepare_ok=true
+# install kubectl
+function install_kubectl()
+{
+ if ! command -v kubectl &> /dev/null; then
+ curl -LO https://dl.k8s.io/release/v1.19.1/bin/${OS}/${ARCH}/kubectl && chmod +x ./kubectl && mv ./kubectl ${INSTALL_DIR}
+ if [ $? -ne 0 ]; then
+ echo "install kubectl error, please check"
+ $prepare_ok=false
+ fi
+ fi
+}
+# install swctl
+function install_swctl()
+{
+ if ! command -v swctl &> /dev/null; then
+ wget https://github.com/apache/skywalking-cli/archive/0.9.0.tar.gz -O - |\
+ tar xz && cd skywalking-cli-0.9.0 && make ${OS} && mv bin/swctl-*-${OS}-amd64 ${INSTALL_DIR}/swctl \
+ && cd .. && rm -r skywalking-cli-0.9.0
+ if [ $? -ne 0 ]; then
+ echo "install swctl error, please check"
+ $prepare_ok=false
+ fi
+ fi
+}
+# install yq
+function install_yq()
+{
+ if ! command -v yq &> /dev/null; then
+ echo "install yq..."
+ wget https://github.com/mikefarah/yq/releases/download/v4.11.1/yq_${OS}_${ARCH}.tar.gz -O - |\
+ tar xz && mv yq_${OS}_${ARCH} ${INSTALL_DIR}/yq
+ if [ $? -ne 0 ]; then
+ echo "install yq error, please check"
+ $prepare_ok=false
+ fi
+ fi
+}
+
+function install_all()
+{
+ echo "check e2e dependencies..."
+ install_kubectl
+ install_swctl
+ install_yq
+ if [ "$prepare_ok" = false ]; then
+ echo "check e2e dependencies failed"
+ exit
+ else
+ echo "check e2e dependencies successfully"
+ fi
+}
+
+install_all
\ No newline at end of file
diff --git a/hack/wait-webhook.sh b/hack/wait-webhook.sh
new file mode 100644
index 0000000..dea5931
--- /dev/null
+++ b/hack/wait-webhook.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+
+TIMEOUT=60
+
+MANIFEST=$(mktemp)
+
+cat <<EOF > $MANIFEST
+apiVersion: operator.skywalking.apache.org/v1alpha1
+kind: OAPServer
+metadata:
+ name: dummy
+spec:
+ version: 8.8.1
+ instances: 1
+ image: apache/skywalking-oap-server:8.8.1
+EOF
+
+timeout $TIMEOUT bash -c -- "\
+ while ! kubectl create -f $MANIFEST 2> /dev/null; \
+ do \
+ sleep 0.1; \
+ done"
+
+# make sure the dummy OAPServer will be deleted
+trap "kubectl delete OAPServer dummy; rm $MANIFEST" 0 2 3 15
diff --git a/pkg/operator/manifests/injector/templates/annotations.yaml b/pkg/operator/manifests/injector/templates/annotations.yaml
index 57b0ed5..c8ad963 100644
--- a/pkg/operator/manifests/injector/templates/annotations.yaml
+++ b/pkg/operator/manifests/injector/templates/annotations.yaml
@@ -30,7 +30,7 @@ annotations:
envName: nil
- name: sidecar.skywalking.apache.org/initcontainer.Image
- defaultValue: apache/skywalking-java-agent:8.7.0-jdk8
+ defaultValue: apache/skywalking-java-agent:8.8.0-java8
validateFunc: nil
envName: nil
diff --git a/pkg/operator/repo/assets.gen.go b/pkg/operator/repo/assets.gen.go
index 63dbe68..a7a529a 100644
--- a/pkg/operator/repo/assets.gen.go
+++ b/pkg/operator/repo/assets.gen.go
@@ -21,7 +21,7 @@
// fetcher/templates/configmap.yaml (3.082kB)
// fetcher/templates/deployment.yaml (2.084kB)
// fetcher/templates/service_account.yaml (1.088kB)
-// injector/templates/annotations.yaml (3.361kB)
+// injector/templates/annotations.yaml (3.362kB)
// injector/templates/configmap.yaml (1.2kB)
// injector/templates/javaagent.yaml (1.462kB)
// oapserver/templates/cluster_role.yaml (1.241kB)
@@ -435,7 +435,7 @@ annotations:
envName: nil
- name: sidecar.skywalking.apache.org/initcontainer.Image
- defaultValue: apache/skywalking-java-agent:8.7.0-jdk8
+ defaultValue: apache/skywalking-java-agent:8.8.0-java8
validateFunc: nil
envName: nil
@@ -511,7 +511,7 @@ func injectorTemplatesAnnotationsYaml() (*asset, error) {
}
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{0x29, 0x36, 0xc1, 0x23, 0x27, 0xb2, 0x7a, 0x2, 0xed, 0x56, 0x6f, 0x83, 0x49, 0x8, 0x1c, 0x78, 0xf7, 0xfa, 0x7b, 0xe3, 0xa3, 0xc2, 0x7a, 0xb0, 0x5b, 0x5b, 0xd0, 0x7c, 0xb5, 0xe3, 0x1e, 0x85}}
+ a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0x9a, 0xe0, 0xe4, 0x15, 0x93, 0xed, 0xf7, 0xf7, 0x7b, 0xff, 0x1a, 0x27, 0x8f, 0x85, 0x54, 0xa1, 0x2d, 0x26, 0x53, 0x89, 0x7b, 0x7d, 0xf4, 0x6c, 0x32, 0xfe, 0xc, 0xbd, 0x76, 0x36, 0x59}}
return a, nil
}
diff --git a/test/e2e/demo.yaml b/test/e2e/demo.yaml
new file mode 100644
index 0000000..fb1e2f1
--- /dev/null
+++ b/test/e2e/demo.yaml
@@ -0,0 +1,56 @@
+# 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.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: demo
+ namespace: skywalking-system
+spec:
+ selector:
+ matchLabels:
+ app: demo
+ template:
+ metadata:
+ labels:
+ swck-java-agent-injected: "true"
+ app: demo
+ annotations:
+ strategy.skywalking.apache.org/agent.Overlay: "true"
+ agent.skywalking.apache.org/collector.backend_service: "skywalking-system-oap.skywalking-system:11800"
+ spec:
+ containers:
+ - name: demo1
+ imagePullPolicy: IfNotPresent
+ image: ghcr.io/apache/skywalking-swck-spring-demo:v0.0.1
+ command: ["java"]
+ args: ["$(AGENT_OPTS)","-jar","/app.jar"]
+ ports:
+ - containerPort: 8085
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: demo
+ namespace: skywalking-system
+spec:
+ type: ClusterIP
+ ports:
+ - name: 8085-tcp
+ port: 8085
+ protocol: TCP
+ targetPort: 8085
+ selector:
+ app: demo
diff --git a/test/e2e/e2e.yaml b/test/e2e/e2e.yaml
new file mode 100644
index 0000000..570a4df
--- /dev/null
+++ b/test/e2e/e2e.yaml
@@ -0,0 +1,109 @@
+# 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.
+
+setup:
+ env: kind
+ file: kind.yaml
+ steps:
+ - name: prepare e2e.yaml
+ command: bash hack/prepare-e2e.sh
+ - name: install cert-manager
+ command: |
+ # kind k8s cluster is in $TMPDIR
+ export KUBECONFIG=$TMPDIR/e2e-k8s.config
+ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.3.1/cert-manager.yaml
+ wait:
+ - namespace: cert-manager
+ resource: pod
+ for: condition=Ready
+ - name: install operator
+ command: |
+ export OPERATOR_IMG=controller
+ make operator-docker-build
+ kind load docker-image controller
+ make operator-install
+ make operator-deploy
+ wait:
+ - namespace: skywalking-swck-system
+ resource: pod
+ for: condition=Ready
+ - name: wait webhook installing
+ command: |
+ bash hack/wait-webhook.sh
+ - name: setup oapserver and ui
+ command: |
+ kubectl create namespace skywalking-system
+ kubectl apply -f test/e2e/skywalking-components.yaml
+ wait:
+ - namespace: skywalking-system
+ resource: OAPServer/skywalking-system
+ for: condition=Available
+ - namespace: skywalking-system
+ resource: UI/skywalking-system
+ for: condition=Available
+ - name: setup java agent demo
+ command: |
+ kubectl label namespace skywalking-system swck-injection=enabled
+ kubectl apply -f test/e2e/demo.yaml
+ wait:
+ - namespace: skywalking-system
+ resource: deployment/demo
+ for: condition=Available
+ kind:
+ expose-ports:
+ - namespace: skywalking-system
+ resource: service/demo
+ port: 8085
+ - namespace: skywalking-system
+ resource: service/skywalking-system-oap
+ port: 12800
+ - namespace: skywalking-system
+ resource: service/skywalking-system-ui
+ port: 80
+ timeout: 20m
+
+cleanup:
+ # always never success failure
+ on: always
+
+trigger:
+ action: http
+ interval: 30s
+ times: 5
+ url: http://${service_demo_host}:${service_demo_8085}/hello
+ method: GET
+
+verify:
+ # verify with retry strategy
+ retry:
+ # max retry count
+ count: 10
+ # the interval between two attempts, e.g. 10s, 1m.
+ interval: 10s
+ cases:
+ # test oapserver
+ - query: swctl --display yaml --base-url=http://${service_skywalking_system_oap_host}:${service_skywalking_system_oap_12800}/graphql service ls
+ expected: verify/service.yaml
+ - query: swctl --display yaml --base-url=http://${service_skywalking_system_oap_host}:${service_skywalking_system_oap_12800}/graphql metrics linear --name service_cpm --service-name Your_ApplicationName | yq e 'to_entries' -
+ expected: verify/metrics.yaml
+ - query: swctl --display yaml --base-url=http://${service_skywalking_system_oap_host}:${service_skywalking_system_oap_12800}/graphql endpoint list --keyword=hello --service-name Your_ApplicationName
+ expected: verify/endpoint.yaml
+ - query: swctl --display yaml --base-url=http://${service_skywalking_system_oap_host}:${service_skywalking_system_oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name GET:/hello --service-name Your_ApplicationName | yq e 'to_entries' -
+ expected: verify/metrics.yaml
+ # test ui
+ - query: swctl --display yaml --base-url=http://${service_skywalking_system_ui_host}:${service_skywalking_system_ui_80}/graphql service ls
+ expected: verify/service.yaml
+ - query: swctl --display yaml --base-url=http://${service_skywalking_system_ui_host}:${service_skywalking_system_ui_80}/graphql endpoint list --keyword=hello --service-name Your_ApplicationName
+ expected: verify/endpoint.yaml
\ No newline at end of file
diff --git a/test/e2e/kind.yaml b/test/e2e/kind.yaml
new file mode 100644
index 0000000..fcb7a90
--- /dev/null
+++ b/test/e2e/kind.yaml
@@ -0,0 +1,41 @@
+# 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.
+
+# this config file contains all config fields with comments
+# NOTE: this is not a particularly useful config file
+kind: Cluster
+apiVersion: kind.x-k8s.io/v1alpha4
+# patch the generated kubeadm config with some extra settings
+kubeadmConfigPatches:
+- |
+ apiVersion: kubelet.config.k8s.io/v1beta1
+ kind: KubeletConfiguration
+ evictionHard:
+ nodefs.available: "0%"
+# patch it further using a JSON 6902 patch
+kubeadmConfigPatchesJSON6902:
+- group: kubeadm.k8s.io
+ version: v1beta2
+ kind: ClusterConfiguration
+ patch: |
+ - op: add
+ path: /apiServer/certSANs/-
+ value: my-hostname
+# 1 control plane node
+nodes:
+# the control plane node config
+- role: control-plane
+ image: kindest/node:v1.19.1
+
diff --git a/config/operator/manager/manager.yaml b/test/e2e/skywalking-components.yaml
similarity index 52%
copy from config/operator/manager/manager.yaml
copy to test/e2e/skywalking-components.yaml
index 2eb0b50..45a435f 100644
--- a/config/operator/manager/manager.yaml
+++ b/test/e2e/skywalking-components.yaml
@@ -15,42 +15,33 @@
# specific language governing permissions and limitations
# under the License.
-apiVersion: v1
-kind: Namespace
+apiVersion: operator.skywalking.apache.org/v1alpha1
+kind: OAPServer
metadata:
- labels:
- control-plane: controller-manager
- name: system
+ name: skywalking-system
+ namespace: skywalking-system
+spec:
+ version: 8.8.1
+ instances: 1
+ image: apache/skywalking-oap-server:8.8.1
+ service:
+ template:
+ type: ClusterIP
+
---
-apiVersion: apps/v1
-kind: Deployment
+apiVersion: operator.skywalking.apache.org/v1alpha1
+kind: UI
metadata:
- name: controller-manager
- namespace: system
- labels:
- control-plane: controller-manager
+ name: skywalking-system
+ namespace: skywalking-system
spec:
- selector:
- matchLabels:
- control-plane: controller-manager
- replicas: 1
- template:
- metadata:
- labels:
- control-plane: controller-manager
- spec:
- containers:
- - command:
- - /manager
- args:
- - --enable-leader-election
- image: controller:latest
- name: manager
- resources:
- limits:
- cpu: 100m
- memory: 30Mi
- requests:
- cpu: 100m
- memory: 20Mi
- terminationGracePeriodSeconds: 10
+ version: 8.8.1
+ instances: 1
+ image: apache/skywalking-ui:8.8.1
+ OAPServerAddress: http://skywalking-system-oap.skywalking-system:12800
+ service:
+ template:
+ type: ClusterIP
+ ingress:
+ host: demo.ui.skywalking
+
\ No newline at end of file
diff --git a/test/e2e/verify/endpoint.yaml b/test/e2e/verify/endpoint.yaml
new file mode 100644
index 0000000..adc7517
--- /dev/null
+++ b/test/e2e/verify/endpoint.yaml
@@ -0,0 +1,19 @@
+# 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.
+
+{{- contains .}}
+- id: {{ b64enc "Your_ApplicationName" }}.1_{{ b64enc "GET:/hello" }}
+ name: 'GET:/hello'
+{{- end}}
\ No newline at end of file
diff --git a/test/e2e/verify/metrics.yaml b/test/e2e/verify/metrics.yaml
new file mode 100644
index 0000000..fa76e89
--- /dev/null
+++ b/test/e2e/verify/metrics.yaml
@@ -0,0 +1,19 @@
+# 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.
+
+{{- contains . }}
+- key: {{ notEmpty .key }}
+ value: {{ gt .value 0 }}
+{{- end }}
\ No newline at end of file
diff --git a/config/operator/manager/manager.yaml b/test/e2e/verify/service.yaml
similarity index 50%
copy from config/operator/manager/manager.yaml
copy to test/e2e/verify/service.yaml
index 2eb0b50..92d9d73 100644
--- a/config/operator/manager/manager.yaml
+++ b/test/e2e/verify/service.yaml
@@ -15,42 +15,8 @@
# specific language governing permissions and limitations
# under the License.
-apiVersion: v1
-kind: Namespace
-metadata:
- labels:
- control-plane: controller-manager
- name: system
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: controller-manager
- namespace: system
- labels:
- control-plane: controller-manager
-spec:
- selector:
- matchLabels:
- control-plane: controller-manager
- replicas: 1
- template:
- metadata:
- labels:
- control-plane: controller-manager
- spec:
- containers:
- - command:
- - /manager
- args:
- - --enable-leader-election
- image: controller:latest
- name: manager
- resources:
- limits:
- cpu: 100m
- memory: 30Mi
- requests:
- cpu: 100m
- memory: 20Mi
- terminationGracePeriodSeconds: 10
+{{- contains . }}
+- id: {{ b64enc "Your_ApplicationName" }}.1
+ name: Your_ApplicationName
+ group: ""
+{{- end }}
\ No newline at end of file