Merge pull request #1 from erdengk/main

add shenyu helm chart
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..47139fe
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,32 @@
+name: Release Charts
+
+on:
+  push:
+    branches:
+      - "**-release"
+
+jobs:
+  release:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          fetch-depth: 0
+
+      - name: Configure Git
+        run: |
+          git config user.name "$GITHUB_ACTOR"
+          git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
+      - name: Install Helm
+        uses: azure/setup-helm@v1
+        with:
+          version: v3.4.1
+
+      - name: Run chart-releaser
+        uses: helm/chart-releaser-action@v1.1.0
+        with:
+          charts_dir: charts
+        env:
+          CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
+          CR_SKIP_EXISTING: true
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0df3248
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,42 @@
+# maven ignore
+target/
+*.class
+*.jar
+*.war
+*.zip
+*.tar
+*.tar.gz
+dependency-reduced-pom.xml
+
+# maven plugin ignore
+release.properties
+cobertura.ser
+*.gpg
+
+# eclipse ignore
+.settings/
+.project
+.classpath
+
+# idea ignore
+.idea/
+*.ipr
+*.iml
+*.iws
+
+# temp ignore
+logs/
+*.log
+*.doc
+*.cache
+*.diff
+*.patch
+*.tmp
+
+# system ignore
+.DS_Store
+Thumbs.db
+
+# agent build ignore
+/agent/
+
diff --git a/charts/shenyu/Chart.yaml b/charts/shenyu/Chart.yaml
new file mode 100644
index 0000000..f31bb2d
--- /dev/null
+++ b/charts/shenyu/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v2
+name: shenyu
+description: A Helm chart for Kubernetes
+type: application
+version: 2.4.2
+appVersion: "1.16.0"
+icon: https://shenyu.apache.org/img/logo.png
+maintainers:
+  - name: erdengk
diff --git a/charts/shenyu/README.md b/charts/shenyu/README.md
new file mode 100644
index 0000000..5e84aba
--- /dev/null
+++ b/charts/shenyu/README.md
@@ -0,0 +1,2 @@
+# shenyu-helm-chart
+Helm deployment documentation written for Apache/Shenyu
\ No newline at end of file
diff --git a/charts/shenyu/templates/ConfigMap.yaml b/charts/shenyu/templates/ConfigMap.yaml
new file mode 100644
index 0000000..3de641f
--- /dev/null
+++ b/charts/shenyu/templates/ConfigMap.yaml
@@ -0,0 +1,52 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: shenyu-cm
+  namespace: default
+data:
+  application-local.yml: |
+    server:
+        port: 9195
+        address: 0.0.0.0
+    spring:
+        main:
+            allow-bean-definition-overriding: true
+        application:
+            name: shenyu-bootstrap
+    management:
+        health:
+            defaults:
+            enabled: false
+    shenyu:
+        local:
+            enabled: true
+        file:
+            enabled: true
+        cross:
+            enabled: true
+        dubbo:
+            parameter: multi
+        sync:
+            websocket:
+            urls: ws://shenyu-admin-svc.shenyu.svc.cluster.local:9095/websocket
+        exclude:
+            enabled: false
+            paths:
+            - /favicon.ico
+        extPlugin:
+            enabled: true
+            threads: 1
+            scheduleTime: 300
+            scheduleDelay: 30
+        scheduler:
+            enabled: false
+            type: fixed
+            threads: 16
+    logging:
+        level:
+            root: info
+            org.springframework.boot: info
+            org.apache.ibatis: info
+            org.apache.shenyu.bonuspoint: info
+            org.apache.shenyu.lottery: info
+            org.apache.shenyu: info
diff --git a/charts/shenyu/templates/deployment.yaml b/charts/shenyu/templates/deployment.yaml
new file mode 100644
index 0000000..d9d79ae
--- /dev/null
+++ b/charts/shenyu/templates/deployment.yaml
@@ -0,0 +1,28 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  creationTimestamp: null
+  labels:
+    name: {{ .Release.Name }}
+    app: {{ .Chart.Name }}-{{ .Release.Name}}
+  name: {{ .Release.Name}} 
+spec:
+  replicas: {{ .Values.replicas}}
+  selector:
+    matchLabels:
+      app: {{ .Values.label}}
+  strategy: {}
+  template:
+    metadata:
+      creationTimestamp: null
+      labels:
+        app: {{ .Values.label}}
+    spec:
+      containers:
+      - name: shenyu-admin
+        image: {{ .Values.admin.image }}:{{ default "2.4.2" .Values.admin.tag }}
+        resources: {}
+      - name: shenyu-bootstrap
+        image: {{ .Values.bootstrap.image }}:{{ default "2.4.2" .Values.bootstrap.tag }}
+        resources: {}
+status: {}
\ No newline at end of file
diff --git a/charts/shenyu/templates/service-admin.yaml b/charts/shenyu/templates/service-admin.yaml
new file mode 100644
index 0000000..1bc8973
--- /dev/null
+++ b/charts/shenyu/templates/service-admin.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:
+  creationTimestamp: null
+  labels:
+    app: {{ .Release.Name}}
+  name: shenyu-admin
+spec:
+  type: NodePort
+  ports:
+  - port: 9095
+    protocol: TCP
+    targetPort: 9095
+    nodePort: 31095
+  selector:
+    app: {{ .Release.Name}}
\ No newline at end of file
diff --git a/charts/shenyu/templates/service-bootstrap.yaml b/charts/shenyu/templates/service-bootstrap.yaml
new file mode 100644
index 0000000..103f431
--- /dev/null
+++ b/charts/shenyu/templates/service-bootstrap.yaml
@@ -0,0 +1,20 @@
+{{ if .Values.bootstrap.enabled }}
+apiVersion: v1
+kind: Service
+metadata:
+  creationTimestamp: null
+  labels:
+    app: {{ .Release.Name}}
+  name: shenyu-bootstrap
+spec:
+  type: NodePort
+  ports:
+  - port: 9195
+    protocol: TCP
+    targetPort: 9195
+    nodePort: 31195
+  selector:
+    app: {{ .Release.Name}}
+status:
+  loadBalancer: {}
+{{end}}
diff --git a/charts/shenyu/values.yaml b/charts/shenyu/values.yaml
new file mode 100644
index 0000000..1ea3621
--- /dev/null
+++ b/charts/shenyu/values.yaml
@@ -0,0 +1,13 @@
+replicas: 1
+
+label: shenyu
+version: 2.4.2
+admin:
+  enabled: true
+  image: apache/shenyu-admin
+  tag: 2.4.2
+
+bootstrap:
+  enabled: true
+  image: apache/shenyu-bootstrap
+  tag: 2.4.2