chore: release new chart for APISIX v3.x (#445)

* release new chart for APISIX v3.x
* chore: remove isBeta logic

Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
diff --git a/README.md b/README.md
index 663bded..6442de4 100644
--- a/README.md
+++ b/README.md
@@ -26,3 +26,10 @@
 - [Apache APISIX Ingress Controller Helm Chart](./docs/en/latest/apisix-ingress-controller.md)
 
 Currently, APISIX Ingress Controller automatically manipulates some APISIX resources, which is not very compatible with APISIX Dashboard. In addition, users should not modify resources labeled `managed-by: apisix-ingress-controllers` via APISIX Dashboard.
+
+## Compatibility matrix
+
+|            | APISIX | APISIX Ingress | APISIX Dashboard |
+| :--------: | :----: | :------------: | :--------------: |
+| Chart v1.x |  v3.x  |      v1.x      |        -         |
+| Chart v0.x |  v2.x  |      v1.x      |       v2.x       |
diff --git a/charts/apisix/Chart.lock b/charts/apisix/Chart.lock
index 14c7061..fede7ac 100644
--- a/charts/apisix/Chart.lock
+++ b/charts/apisix/Chart.lock
@@ -2,11 +2,8 @@
 - name: etcd
   repository: https://charts.bitnami.com/bitnami
   version: 8.3.4
-- name: apisix-dashboard
-  repository: https://charts.apiseven.com
-  version: 0.6.1
 - name: apisix-ingress-controller
   repository: https://charts.apiseven.com
   version: 0.11.3
-digest: sha256:c7873b7d21e0f5eaeca649dccdc344de5fceed50c11925c9f71263659671057a
-generated: "2022-12-30T18:30:37.854445324+08:00"
+digest: sha256:ddc42ebc9def715f7555a1302cb088e765b2fc62803efbb603e8270b54e414c4
+generated: "2023-01-09T16:40:24.127724463+08:00"
diff --git a/charts/apisix/Chart.yaml b/charts/apisix/Chart.yaml
index 2be1225..e6183c2 100644
--- a/charts/apisix/Chart.yaml
+++ b/charts/apisix/Chart.yaml
@@ -16,7 +16,7 @@
 #
 apiVersion: v2
 name: apisix
-description: A Helm chart for Apache APISIX
+description: A Helm chart for Apache APISIX v3
 icon: https://apache.org/logos/res/apisix/apisix.png
 # A chart can be either an 'application' or a 'library' chart.
 #
@@ -31,7 +31,7 @@
 # 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/)
-version: 0.12.3
+version: 1.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
@@ -45,11 +45,6 @@
     version: 8.3.4
     repository: https://charts.bitnami.com/bitnami
     condition: etcd.enabled
-  - name: apisix-dashboard
-    version: 0.6.1
-    repository: https://charts.apiseven.com
-    condition: dashboard.enabled
-    alias: dashboard
   - name: apisix-ingress-controller
     version: 0.11.3
     repository: https://charts.apiseven.com
diff --git a/charts/apisix/README.md b/charts/apisix/README.md
index 9cda1c6..d14d3da 100644
--- a/charts/apisix/README.md
+++ b/charts/apisix/README.md
@@ -99,7 +99,6 @@
 | customPlugins.plugins[0].configMap | object | `{"mounts":[{"key":"","path":""},{"key":"","path":""}],"name":""}` | plugin codes can be saved inside configmap object. |
 | customPlugins.plugins[0].configMap.mounts | list | `[{"key":"","path":""},{"key":"","path":""}]` | since keys in configmap is flat, mountPath allows to define the mount path, so that plugin codes can be mounted hierarchically. |
 | customPlugins.plugins[0].configMap.name | string | `""` | name of configmap. |
-| dashboard.enabled | bool | `false` |  |
 | discovery.enabled | bool | `false` | Enable or disable Apache APISIX integration service discovery |
 | discovery.registry | object | `{}` | Registry is the same to the one in APISIX [config-default.yaml](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L281), and refer to such file for more setting details. also refer to [this documentation for integration service discovery](https://apisix.apache.org/docs/apisix/discovery) |
 | dns.resolvers[0] | string | `"127.0.0.1"` |  |
@@ -143,7 +142,7 @@
 | gateway.tls.sslProtocols | string | `"TLSv1.2 TLSv1.3"` | TLS protocols allowed to use. |
 | gateway.type | string | `"NodePort"` | Apache APISIX service type for user access itself |
 | global.imagePullSecrets | list | `[]` | Global Docker registry secret names as an array |
-| ingress-controller.enabled | bool | `false` |  |
+| ingress-controller | object | `{"config":{"apisix":{"adminAPIVersion":"v3"}},"enabled":false}` | Ingress controller configuration |
 | initContainer.image | string | `"busybox"` | Init container image |
 | initContainer.tag | float | `1.28` | Init container tag |
 | logs.accessLog | string | `"/dev/stdout"` | Access log path |
diff --git a/charts/apisix/charts/apisix-dashboard-0.6.1.tgz b/charts/apisix/charts/apisix-dashboard-0.6.1.tgz
deleted file mode 100644
index 2090dbd..0000000
--- a/charts/apisix/charts/apisix-dashboard-0.6.1.tgz
+++ /dev/null
Binary files differ
diff --git a/charts/apisix/templates/configmap.yaml b/charts/apisix/templates/configmap.yaml
index ad9bcde..5149e3e 100644
--- a/charts/apisix/templates/configmap.yaml
+++ b/charts/apisix/templates/configmap.yaml
@@ -14,8 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-{{- $isBeta := (semverCompare ">=2.99.0-0" .Values.apisix.image.tag) }}
-
 {{- if .Values.apisix.enabled }}
 apiVersion: v1
 kind: ConfigMap
@@ -89,40 +87,6 @@
       #    disk_path: "/tmp/disk_cache_two"
       #    cache_levels: "1:2"
 
-      {{- if not $isBeta }}
-      config_center: etcd           # etcd: use etcd to store the config value
-                                    # yaml: fetch the config value from local yaml file `/your_path/conf/apisix.yaml`
-      allow_admin:                  # http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
-      {{- if .Values.admin.allow.ipList }}
-      {{- range $ips := .Values.admin.allow.ipList }}
-        - {{ $ips }}
-      {{- end }}
-      {{- else }}
-        - 0.0.0.0/0
-      {{- end}}
-      {{- if or (index .Values "ingress-controller" "enabled") .Values.dashboard.enabled  }}
-        - 0.0.0.0/0
-      {{- end}}
-      #   - "::/64"
-      {{- if .Values.admin.enabled }}
-      port_admin: {{ .Values.admin.port }}
-      {{- end }}
-
-      # Default token when use API to call for Admin API.
-      # *NOTE*: Highly recommended to modify this value to protect APISIX's Admin API.
-      # Disabling this configuration item means that the Admin API does not
-      # require any authentication.
-      admin_key:
-        # admin: can everything for configuration data
-        - name: "admin"
-          key: {{ .Values.admin.credentials.admin }}
-          role: admin
-        # viewer: only can view configuration data
-        - name: "viewer"
-          key: {{ .Values.admin.credentials.viewer }}
-          role: viewer
-      {{- end }}
-
       router:
         http: {{ .Values.apisix.httpRouter }}  # radixtree_uri: match route by uri(base on radixtree)
                                     # radixtree_host_uri: match route by host + uri(base on radixtree)
@@ -225,38 +189,6 @@
       stream_configuration_snippet: {{- toYaml .Values.configurationSnippet.stream | indent 6 }}
       {{- end }}
 
-    {{- if not $isBeta }}
-    etcd:
-    {{- if .Values.etcd.enabled }}
-      host:                          # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
-        {{- if .Values.etcd.fullnameOverride }}
-        - "{{ include "apisix.etcd.auth.scheme" . }}://{{ .Values.etcd.fullnameOverride }}:{{ .Values.etcd.service.port }}"
-        {{- else }}
-        - "{{ include "apisix.etcd.auth.scheme" . }}://{{ .Release.Name }}-etcd.{{ .Release.Namespace }}.svc.{{ .Values.etcd.clusterDomain }}:{{ .Values.etcd.service.port }}"
-        {{- end}}
-    {{- else }}
-      host:                          # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
-        {{- range $value := .Values.etcd.host }}
-        - "{{ $value }}"             # multiple etcd address
-        {{- end}}
-    {{- end }}
-      prefix: {{ .Values.etcd.prefix | quote }}    # apisix configurations prefix
-      timeout: {{ .Values.etcd.timeout }}    # 30 seconds
-      {{- if .Values.etcd.auth.rbac.create }}
-      user: {{ .Values.etcd.auth.rbac.user | quote }}
-      password: {{ .Values.etcd.auth.rbac.password | quote }}
-      {{- end }}
-      {{- if .Values.etcd.auth.tls.enabled }}
-      tls:
-        cert: "/etcd-ssl/{{ .Values.etcd.auth.tls.certFilename }}"
-        key: "/etcd-ssl/{{ .Values.etcd.auth.tls.certKeyFilename }}"
-        verify: {{ .Values.etcd.auth.tls.verify }}
-        {{- if .Values.etcd.auth.tls.sni }}
-        sni: "{{ .Values.etcd.auth.tls.sni }}"
-        {{- end }}
-      {{- end }}
-    {{- end }}
-
     {{- if .Values.discovery.enabled }}
     discovery:
       {{- range $key, $value := .Values.discovery.registry }}
@@ -310,7 +242,6 @@
         {{- toYaml .Values.wasmPlugins.plugins | nindent 8 }}
     {{- end }}
 
-    {{- if $isBeta }}
     deployment:
       role: traditional
       role_traditional:
@@ -324,7 +255,7 @@
         {{- else }}
           - 0.0.0.0/0
         {{- end}}
-        {{- if or (index .Values "ingress-controller" "enabled") .Values.dashboard.enabled  }}
+        {{- if (index .Values "ingress-controller" "enabled") }}
           - 0.0.0.0/0
         {{- end}}
         #   - "::/64"
@@ -374,5 +305,4 @@
           sni: "{{ .Values.etcd.auth.tls.sni }}"
         {{- end }}
     {{- end }}
-    {{- end }}
 {{- end }}
diff --git a/charts/apisix/values.yaml b/charts/apisix/values.yaml
index df11f77..bbbf3d0 100644
--- a/charts/apisix/values.yaml
+++ b/charts/apisix/values.yaml
@@ -527,11 +527,12 @@
 
   replicaCount: 3
 
-dashboard:
-  enabled: false
-
+# -- Ingress controller configuration
 ingress-controller:
   enabled: false
+  config:
+    apisix:
+      adminAPIVersion: "v3"
 
 vault:
   # -- Enable or disable the vault integration