Skip to content

Commit b9a2380

Browse files
authored
chore: backport PR 2454~2460 from upstream (#202)
1 parent e8fe260 commit b9a2380

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1712
-315
lines changed

.github/actions/add-pr-comment

Submodule add-pr-comment added at dd126dd

.github/workflows/apisix-conformance-test.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ concurrency:
3131
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
3232
cancel-in-progress: true
3333

34+
permissions:
35+
pull-requests: write
36+
3437
jobs:
3538
prepare:
3639
name: Prepare
@@ -116,7 +119,7 @@ jobs:
116119
if: ${{ github.event_name == 'push' }}
117120
uses: actions/upload-artifact@v4
118121
with:
119-
name: apisix-ingress-controller-conformance-report.yaml
122+
name: apisix-ingress-controller-conformance-report-${{ matrix.provider_type }}.yaml
120123
path: apisix-ingress-controller-conformance-report.yaml
121124

122125
- name: Format Conformance Test Report
@@ -129,8 +132,8 @@ jobs:
129132
130133
- name: Report Conformance Test Result to PR Comment
131134
if: ${{ github.event_name == 'pull_request' }}
132-
uses: mshick/add-pr-comment@v2
135+
uses: ./.github/actions/add-pr-comment
133136
with:
134-
message-id: 'apisix-conformance-test-report'
137+
message-id: 'apisix-conformance-test-report-${{ matrix.provider_type }}'
135138
message-path: |
136139
report.md

.gitmodules

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
[submodule ".github/actions/paths-filter"]
19+
path = .github/actions/paths-filter
20+
url = https://github.com/dorny/paths-filter.git
21+
[submodule ".github/actions/markdown-link-check"]
22+
path = .github/actions/markdown-link-check
23+
url = https://github.com/gaurav-nelson/github-action-markdown-link-check.git
24+
[submodule ".github/actions/add-pr-comment"]
25+
path = .github/actions/add-pr-comment
26+
url = https://github.com/mshick/add-pr-comment.git

api/adc/types.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@ const (
7777
PassHostRewrite = "rewrite"
7878
)
7979

80+
const (
81+
TypeRoute = "route"
82+
TypeService = "service"
83+
TypeConsumer = "consumer"
84+
TypeSSL = "ssl"
85+
TypeGlobalRule = "global_rule"
86+
TypePluginMetadata = "plugin_metadata"
87+
)
88+
8089
type Object interface {
8190
GetLabels() map[string]string
8291
}

docs/en/latest/config.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"version": "0.3.0",
3+
"sidebar": [
4+
{
5+
"type": "doc",
6+
"id": "getting-started"
7+
},
8+
{
9+
"type": "category",
10+
"label": "Concepts",
11+
"items": [
12+
"concepts/resources",
13+
"concepts/gateway-api",
14+
"concepts/deployment-architecture"
15+
]
16+
},
17+
{
18+
"type": "doc",
19+
"id": "install"
20+
},
21+
{
22+
"type": "doc",
23+
"id": "developer-guide"
24+
},
25+
{
26+
"type": "doc",
27+
"id": "api-reference"
28+
},
29+
{
30+
"type": "doc",
31+
"id": "upgrade-guide"
32+
},
33+
{
34+
"type": "link",
35+
"label": "CHANGELOG",
36+
"href": "https://github.com/apache/apisix-ingress-controller/blob/master/CHANGELOG.md"
37+
}
38+
]
39+
}

docs/en/latest/install.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
title: Install with Helm
3+
keywords:
4+
- APISIX ingress
5+
- Apache APISIX
6+
- Kubernetes ingress
7+
- kind
8+
description: Guide to install APISIX ingress controller on kind.
9+
---
10+
<!--
11+
#
12+
# Licensed to the Apache Software Foundation (ASF) under one or more
13+
# contributor license agreements. See the NOTICE file distributed with
14+
# this work for additional information regarding copyright ownership.
15+
# The ASF licenses this file to You under the Apache License, Version 2.0
16+
# (the "License"); you may not use this file except in compliance with
17+
# the License. You may obtain a copy of the License at
18+
#
19+
# http://www.apache.org/licenses/LICENSE-2.0
20+
#
21+
# Unless required by applicable law or agreed to in writing, software
22+
# distributed under the License is distributed on an "AS IS" BASIS,
23+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24+
# See the License for the specific language governing permissions and
25+
# limitations under the License.
26+
#
27+
-->
28+
29+
Helm is a package manager for Kubernetes that automates the release and management of software on Kubernetes.
30+
31+
This document guides you through installing the APISIX ingress controller using Helm.
32+
33+
## Prerequisites
34+
35+
Before installing APISIX ingress controller, ensure you have:
36+
37+
1. A working Kubernetes cluster (version 1.26+)
38+
- Production: TKE, EKS, AKS, or other cloud-managed clusters
39+
- Development: minikube, kind, or k3s
40+
2. [kubectl](https://kubernetes.io/docs/tasks/tools/) installed and configured to access your cluster
41+
3. [Helm](https://helm.sh/) (version 3.8+) installed
42+
43+
Make sure to update the Helm repositories:
44+
45+
```bash
46+
helm repo add apisix https://charts.apiseven.com
47+
helm repo add bitnami https://charts.bitnami.com/bitnami
48+
helm repo update
49+
```
50+
51+
## Install APISIX and APISIX Ingress Controller
52+
53+
The script below installs APISIX and APISIX Ingress Controller:
54+
55+
```bash
56+
helm install apisix \
57+
--namespace ingress-apisix \
58+
--create-namespace \
59+
--set ingress-controller.enabled=true \
60+
--set ingress-controller.apisix.adminService.namespace=ingress-apisix \
61+
--set ingress-controller.gatewayProxy.createDefault=true \
62+
apisix/apisix
63+
```
64+
65+
## Install APISIX and APISIX Ingress Controller (Standalone API-driven mode)
66+
67+
To run APISIX in [APISIX Standalone API-driven mode](https://apisix.apache.org/docs/apisix/deployment-modes/#api-driven-experimental), use the following script to install APISIX and the APISIX Ingress Controller:
68+
69+
```bash
70+
helm install apisix \
71+
--namespace ingress-apisix \
72+
--create-namespace \
73+
--set apisix.deployment.role=traditional \
74+
--set apisix.deployment.role_traditional.config_provider=yaml \
75+
--set etcd.enabled=false \
76+
--set ingress-controller.enabled=true \
77+
--set ingress-controller.config.provider.type=apisix-standalone \
78+
--set ingress-controller.apisix.adminService.namespace=ingress-apisix \
79+
--set ingress-controller.gatewayProxy.createDefault=true \
80+
apisix/apisix
81+
```
82+
83+
## Install APISIX Ingress Controller
84+
85+
The script below installs APISIX Ingress Controller:
86+
87+
```bash
88+
# Set the access address and adminkey for apisix
89+
helm install apisix-ingress-controller \
90+
--create-namespace \
91+
-n ingress-apisix \
92+
--set gatewayProxy.createDefault=true \
93+
--set gatewayProxy.provider.controlPlane.auth.adminKey.value=edd1c9f034335f136f87ad84b625c8f1 \
94+
--set apisix.adminService.namespace=apisix-ingress \
95+
--set apisix.adminService.name=apisix-admin \
96+
--set apisix.adminService.port=9180 \
97+
apisix/apisix-ingress-controller
98+
```

0 commit comments

Comments
 (0)