This is an automated email from the ASF dual-hosted git repository.
zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git
The following commit(s) were added to refs/heads/master by this push:
new 42bba99e [charts] Initial base v2 (#454)
42bba99e is described below
commit 42bba99e2e2e71e792ccb63a126a1df8e72cf10f
Author: mfordjody <[email protected]>
AuthorDate: Sun Oct 13 21:17:53 2024 +0800
[charts] Initial base v2 (#454)
---
manifests/charts/README.md | 4 +-
manifests/charts/base/Chart.yaml | 35 +++---
manifests/charts/base/templates/NOTES.txt | 22 ----
manifests/charts/base/templates/_helpers.tpl | 62 ----------
manifests/charts/base/templates/crds.yaml | 14 +++
manifests/charts/base/templates/deployment.yaml | 68 ----------
manifests/charts/base/templates/hpa.yaml | 32 -----
manifests/charts/base/templates/ingress.yaml | 43 -------
manifests/charts/base/templates/service.yaml | 15 ---
.../charts/base/templates/serviceaccount.yaml | 13 --
manifests/charts/base/values.yaml | 137 +++------------------
11 files changed, 45 insertions(+), 400 deletions(-)
diff --git a/manifests/charts/README.md b/manifests/charts/README.md
index 51e1fd56..cdd196eb 100644
--- a/manifests/charts/README.md
+++ b/manifests/charts/README.md
@@ -1,2 +1,2 @@
-# Admin Helm Charts
-Compatible with Helm 3+ for installation on Kubernetes by Admin.
+# Dubbo base Helm Charts
+This chart installs Dubbo CRD.
\ No newline at end of file
diff --git a/manifests/charts/base/Chart.yaml b/manifests/charts/base/Chart.yaml
index 4b44de03..c506f0ca 100644
--- a/manifests/charts/base/Chart.yaml
+++ b/manifests/charts/base/Chart.yaml
@@ -1,24 +1,19 @@
-apiVersion: v2
-name: base
-description: A Helm chart for Kubernetes
-
-# A chart can be either an 'application' or a 'library' chart.
+# 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
#
-# Application charts are a collection of templates that can be packaged into
versioned archives
-# to be deployed.
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# Library charts provide useful utilities or functions for the chart
developer. They're included as
-# a dependency of application charts to inject those utilities and functions
into the rendering
-# pipeline. Library charts do not define any templates and therefore cannot be
deployed.
-type: application
+# 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 is the chart version. This version number should be incremented each
time you make changes
-# to the chart and its templates, including the app version.
-# Versions are expected to follow Semantic Versioning (https://semver.org/)
+apiVersion: v2
+name: base
+description: Helm chart for deploying dubbo cluster resources and CRDs.
version: 0.1.0
-
-# This is the version number of the application being deployed. This version
number should be
-# incremented each time you make changes to the application. Versions are not
expected to
-# follow Semantic Versioning. They should reflect the version the application
is using.
-# It is recommended to use it with quotes.
-appVersion: "1.16.0"
diff --git a/manifests/charts/base/templates/NOTES.txt
b/manifests/charts/base/templates/NOTES.txt
index a3947098..e69de29b 100644
--- a/manifests/charts/base/templates/NOTES.txt
+++ b/manifests/charts/base/templates/NOTES.txt
@@ -1,22 +0,0 @@
-1. Get the application URL by running these commands:
-{{- if .Values.ingress.enabled }}
-{{- range $host := .Values.ingress.hosts }}
- {{- range .paths }}
- http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
- {{- end }}
-{{- end }}
-{{- else if contains "NodePort" .Values.service.type }}
- export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o
jsonpath="{.spec.ports[0].nodePort}" services {{ include "base.fullname" . }})
- export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o
jsonpath="{.items[0].status.addresses[0].address}")
- echo http://$NODE_IP:$NODE_PORT
-{{- else if contains "LoadBalancer" .Values.service.type }}
- NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- You can watch its status by running 'kubectl get --namespace {{
.Release.Namespace }} svc -w {{ include "base.fullname" . }}'
- export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{
include "base.fullname" . }} --template "{{"{{ range (index
.status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
- echo http://$SERVICE_IP:{{ .Values.service.port }}
-{{- else if contains "ClusterIP" .Values.service.type }}
- export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l
"app.kubernetes.io/name={{ include "base.name" .
}},app.kubernetes.io/instance={{ .Release.Name }}" -o
jsonpath="{.items[0].metadata.name}")
- export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }}
$POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
- echo "Visit http://127.0.0.1:8080 to use your application"
- kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME
8080:$CONTAINER_PORT
-{{- end }}
diff --git a/manifests/charts/base/templates/_helpers.tpl
b/manifests/charts/base/templates/_helpers.tpl
deleted file mode 100644
index 7e47da90..00000000
--- a/manifests/charts/base/templates/_helpers.tpl
+++ /dev/null
@@ -1,62 +0,0 @@
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "base.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to
this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "base.fullname" -}}
-{{- if .Values.fullnameOverride }}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- $name := default .Chart.Name .Values.nameOverride }}
-{{- if contains $name .Release.Name }}
-{{- .Release.Name | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "base.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 |
trimSuffix "-" }}
-{{- end }}
-
-{{/*
-Common labels
-*/}}
-{{- define "base.labels" -}}
-helm.sh/chart: {{ include "base.chart" . }}
-{{ include "base.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end }}
-
-{{/*
-Selector labels
-*/}}
-{{- define "base.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "base.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
-
-{{/*
-Create the name of the service account to use
-*/}}
-{{- define "base.serviceAccountName" -}}
-{{- if .Values.serviceAccount.create }}
-{{- default (include "base.fullname" .) .Values.serviceAccount.name }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.name }}
-{{- end }}
-{{- end }}
diff --git a/manifests/charts/base/templates/crds.yaml
b/manifests/charts/base/templates/crds.yaml
new file mode 100644
index 00000000..13878a13
--- /dev/null
+++ b/manifests/charts/base/templates/crds.yaml
@@ -0,0 +1,14 @@
+# 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.
\ No newline at end of file
diff --git a/manifests/charts/base/templates/deployment.yaml
b/manifests/charts/base/templates/deployment.yaml
deleted file mode 100644
index 65e28450..00000000
--- a/manifests/charts/base/templates/deployment.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ include "base.fullname" . }}
- labels:
- {{- include "base.labels" . | nindent 4 }}
-spec:
- {{- if not .Values.autoscaling.enabled }}
- replicas: {{ .Values.replicaCount }}
- {{- end }}
- selector:
- matchLabels:
- {{- include "base.selectorLabels" . | nindent 6 }}
- template:
- metadata:
- {{- with .Values.podAnnotations }}
- annotations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- labels:
- {{- include "base.labels" . | nindent 8 }}
- {{- with .Values.podLabels }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- spec:
- {{- with .Values.imagePullSecrets }}
- imagePullSecrets:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- serviceAccountName: {{ include "base.serviceAccountName" . }}
- securityContext:
- {{- toYaml .Values.podSecurityContext | nindent 8 }}
- containers:
- - name: {{ .Chart.Name }}
- securityContext:
- {{- toYaml .Values.securityContext | nindent 12 }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag |
default .Chart.AppVersion }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- ports:
- - name: http
- containerPort: {{ .Values.service.port }}
- protocol: TCP
- livenessProbe:
- {{- toYaml .Values.livenessProbe | nindent 12 }}
- readinessProbe:
- {{- toYaml .Values.readinessProbe | nindent 12 }}
- resources:
- {{- toYaml .Values.resources | nindent 12 }}
- {{- with .Values.volumeMounts }}
- volumeMounts:
- {{- toYaml . | nindent 12 }}
- {{- end }}
- {{- with .Values.volumes }}
- volumes:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
diff --git a/manifests/charts/base/templates/hpa.yaml
b/manifests/charts/base/templates/hpa.yaml
deleted file mode 100644
index 1dfb4785..00000000
--- a/manifests/charts/base/templates/hpa.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-{{- if .Values.autoscaling.enabled }}
-apiVersion: autoscaling/v2
-kind: HorizontalPodAutoscaler
-metadata:
- name: {{ include "base.fullname" . }}
- labels:
- {{- include "base.labels" . | nindent 4 }}
-spec:
- scaleTargetRef:
- apiVersion: apps/v1
- kind: Deployment
- name: {{ include "base.fullname" . }}
- minReplicas: {{ .Values.autoscaling.minReplicas }}
- maxReplicas: {{ .Values.autoscaling.maxReplicas }}
- metrics:
- {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- - type: Resource
- resource:
- name: cpu
- target:
- type: Utilization
- averageUtilization: {{
.Values.autoscaling.targetCPUUtilizationPercentage }}
- {{- end }}
- {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- - type: Resource
- resource:
- name: memory
- target:
- type: Utilization
- averageUtilization: {{
.Values.autoscaling.targetMemoryUtilizationPercentage }}
- {{- end }}
-{{- end }}
diff --git a/manifests/charts/base/templates/ingress.yaml
b/manifests/charts/base/templates/ingress.yaml
deleted file mode 100644
index 4ae40419..00000000
--- a/manifests/charts/base/templates/ingress.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-{{- if .Values.ingress.enabled -}}
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- name: {{ include "base.fullname" . }}
- labels:
- {{- include "base.labels" . | nindent 4 }}
- {{- with .Values.ingress.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- with .Values.ingress.className }}
- ingressClassName: {{ . }}
- {{- end }}
- {{- if .Values.ingress.tls }}
- tls:
- {{- range .Values.ingress.tls }}
- - hosts:
- {{- range .hosts }}
- - {{ . | quote }}
- {{- end }}
- secretName: {{ .secretName }}
- {{- end }}
- {{- end }}
- rules:
- {{- range .Values.ingress.hosts }}
- - host: {{ .host | quote }}
- http:
- paths:
- {{- range .paths }}
- - path: {{ .path }}
- {{- with .pathType }}
- pathType: {{ . }}
- {{- end }}
- backend:
- service:
- name: {{ include "base.fullname" $ }}
- port:
- number: {{ $.Values.service.port }}
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/manifests/charts/base/templates/service.yaml
b/manifests/charts/base/templates/service.yaml
deleted file mode 100644
index 3b8e5ca7..00000000
--- a/manifests/charts/base/templates/service.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ include "base.fullname" . }}
- labels:
- {{- include "base.labels" . | nindent 4 }}
-spec:
- type: {{ .Values.service.type }}
- ports:
- - port: {{ .Values.service.port }}
- targetPort: http
- protocol: TCP
- name: http
- selector:
- {{- include "base.selectorLabels" . | nindent 4 }}
diff --git a/manifests/charts/base/templates/serviceaccount.yaml
b/manifests/charts/base/templates/serviceaccount.yaml
deleted file mode 100644
index f3512ad1..00000000
--- a/manifests/charts/base/templates/serviceaccount.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-{{- if .Values.serviceAccount.create -}}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: {{ include "base.serviceAccountName" . }}
- labels:
- {{- include "base.labels" . | nindent 4 }}
- {{- with .Values.serviceAccount.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-automountServiceAccountToken: {{ .Values.serviceAccount.automount }}
-{{- end }}
diff --git a/manifests/charts/base/values.yaml
b/manifests/charts/base/values.yaml
index 1d9db4c9..13878a13 100644
--- a/manifests/charts/base/values.yaml
+++ b/manifests/charts/base/values.yaml
@@ -1,123 +1,14 @@
-# Default values for base.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-
-# This will set the replicaset count more information can be found here:
https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
-replicaCount: 1
-
-# This sets the container image more information can be found here:
https://kubernetes.io/docs/concepts/containers/images/
-image:
- repository: nginx
- # This sets the pull policy for images.
- pullPolicy: IfNotPresent
- # Overrides the image tag whose default is the chart appVersion.
- tag: ""
-
-# This is for the secretes for pulling an image from a private repository more
information can be found here:
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
-imagePullSecrets: []
-# This is to override the chart name.
-nameOverride: ""
-fullnameOverride: ""
-
-#This section builds out the service account more information can be found
here: https://kubernetes.io/docs/concepts/security/service-accounts/
-serviceAccount:
- # Specifies whether a service account should be created
- create: true
- # Automatically mount a ServiceAccount's API credentials?
- automount: true
- # Annotations to add to the service account
- annotations: {}
- # The name of the service account to use.
- # If not set and create is true, a name is generated using the fullname
template
- name: ""
-
-# This is for setting Kubernetes Annotations to a Pod.
-# For more information checkout:
https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-podAnnotations: {}
-# This is for setting Kubernetes Labels to a Pod.
-# For more information checkout:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-podLabels: {}
-
-podSecurityContext: {}
- # fsGroup: 2000
-
-securityContext: {}
- # capabilities:
- # drop:
- # - ALL
- # readOnlyRootFilesystem: true
- # runAsNonRoot: true
- # runAsUser: 1000
-
-# This is for setting up a service more information can be found here:
https://kubernetes.io/docs/concepts/services-networking/service/
-service:
- # This sets the service type more information can be found here:
https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
- type: ClusterIP
- # This sets the ports more information can be found here:
https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
- port: 80
-
-# This block is for setting up the ingress for more information can be found
here: https://kubernetes.io/docs/concepts/services-networking/ingress/
-ingress:
- enabled: false
- className: ""
- annotations: {}
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- hosts:
- - host: chart-example.local
- paths:
- - path: /
- pathType: ImplementationSpecific
- tls: []
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-resources: {}
- # We usually recommend not to specify default resources and to leave this as
a conscious
- # choice for the user. This also increases chances charts run on
environments with little
- # resources, such as Minikube. If you do want to specify resources,
uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after
'resources:'.
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
-# This is to setup the liveness and readiness probes more information can be
found here:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
-livenessProbe:
- httpGet:
- path: /
- port: http
-readinessProbe:
- httpGet:
- path: /
- port: http
-
-#This section is for setting up autoscaling more information can be found
here: https://kubernetes.io/docs/concepts/workloads/autoscaling/
-autoscaling:
- enabled: false
- minReplicas: 1
- maxReplicas: 100
- targetCPUUtilizationPercentage: 80
- # targetMemoryUtilizationPercentage: 80
-
-# Additional volumes on the output Deployment definition.
-volumes: []
-# - name: foo
-# secret:
-# secretName: mysecret
-# optional: false
-
-# Additional volumeMounts on the output Deployment definition.
-volumeMounts: []
-# - name: foo
-# mountPath: "/etc/foo"
-# readOnly: true
-
-nodeSelector: {}
-
-tolerations: []
-
-affinity: {}
+# 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.
\ No newline at end of file