diff --git a/README.md b/README.md index 663bded1..6442de41 100644 --- a/README.md +++ b/README.md @@ -26,3 +26,10 @@ Apache APISIX Helm Charts provide the installation of [Apache APISIX](https://gi - [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 14c7061b..fede7acb 100644 --- a/charts/apisix/Chart.lock +++ b/charts/apisix/Chart.lock @@ -2,11 +2,8 @@ dependencies: - 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 2be12259..e6183c29 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 @@ type: application # 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 @@ dependencies: 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 9cda1c64..d14d3da5 100644 --- a/charts/apisix/README.md +++ b/charts/apisix/README.md @@ -99,7 +99,6 @@ The command removes all the Kubernetes components associated with the chart and | 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 @@ The command removes all the Kubernetes components associated with the chart and | 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 2090dbda..00000000 Binary files a/charts/apisix/charts/apisix-dashboard-0.6.1.tgz and /dev/null differ diff --git a/charts/apisix/templates/configmap.yaml b/charts/apisix/templates/configmap.yaml index ad9bcde1..5149e3e5 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 @@ data: # 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 @@ data: 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 @@ data: {{- toYaml .Values.wasmPlugins.plugins | nindent 8 }} {{- end }} - {{- if $isBeta }} deployment: role: traditional role_traditional: @@ -324,7 +255,7 @@ data: {{- 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 @@ data: sni: "{{ .Values.etcd.auth.tls.sni }}" {{- end }} {{- end }} - {{- end }} {{- end }} diff --git a/charts/apisix/values.yaml b/charts/apisix/values.yaml index df11f772..bbbf3d0f 100644 --- a/charts/apisix/values.yaml +++ b/charts/apisix/values.yaml @@ -527,11 +527,12 @@ etcd: replicaCount: 3 -dashboard: - enabled: false - +# -- Ingress controller configuration ingress-controller: enabled: false + config: + apisix: + adminAPIVersion: "v3" vault: # -- Enable or disable the vault integration