This is an automated email from the ASF dual-hosted git repository.
alinsran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git
The following commit(s) were added to refs/heads/master by this push:
new e9ae56be docs: add install and developer-guide doc (#2439)
e9ae56be is described below
commit e9ae56be22274e1f13d07c864fd0754860d9c9c6
Author: AlinsRan <[email protected]>
AuthorDate: Thu Jul 3 13:49:11 2025 +0800
docs: add install and developer-guide doc (#2439)
---
docs/en/latest/developer-guide.md | 118 ++++++++++++++++++++++++++++++++++++++
docs/en/latest/install.md | 62 ++++++++++++++++++++
2 files changed, 180 insertions(+)
diff --git a/docs/en/latest/developer-guide.md
b/docs/en/latest/developer-guide.md
new file mode 100644
index 00000000..90fdacc7
--- /dev/null
+++ b/docs/en/latest/developer-guide.md
@@ -0,0 +1,118 @@
+---
+title: Developer Guide
+keywords:
+ - APISIX ingress
+ - Apache APISIX
+ - Kubernetes ingress
+ - Development
+ - Contribute
+description: Setting up development environment for APISIX Ingress controller.
+---
+<!--
+#
+# 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.
+#
+-->
+
+This document walks through how you can set up your development environment to
contribute to APISIX Ingress controller.
+
+## Prerequisites
+
+Before you get started make sure you have:
+
+1. Installed [Go 1.23](https://golang.org/dl/) or later
+2. A Kubernetes cluster available. We recommend using
[kind](https://kind.sigs.k8s.io/).
+3. Installed APISIX in Kubernetes using
[Helm](https://github.com/apache/apisix-helm-chart).
+4. Installed [ADC v0.20.0+](https://github.com/api7/adc/releases)
+
+## Fork and clone
+
+1. Fork the repository
[apache/apisix-ingress-controller](https://github.com/apache/apisix-ingress-controller)
to your GitHub account
+2. Clone the fork to your workstation.
+3. Run `go mod download` to download the required modules.
+
+:::tip
+
+If you are in China, you can speed up the downloads by setting `GOPROXY` to
`https://goproxy.cn`.
+
+:::
+
+## Install CRD and Gateway API
+
+To install the
[CRD](./concepts/resources.md#apisix-ingress-controller-crds-api) and [Gateway
API](https://gateway-api.sigs.k8s.io/), run the following commands:
+
+```shell
+make install
+```
+
+## Build from source
+
+To build APISIX Ingress controller, run the command below on the root of the
project:
+
+```shell
+make build
+```
+
+Now you can run it by:
+
+```shell
+# for ARM64 architecture, use the following command:
+# ./bin/apisix-ingress-controller_arm64 version
+./bin/apisix-ingress-controller_amd64 version
+```
+
+## Building Image
+
+To build a Docker image for APISIX Ingress controller, you can use the
following command:
+
+```shell
+make build-image IMG=apache/apisix-ingress-controller:dev
+```
+
+## Running tests
+
+### Unit Tests
+
+To run unit tests:
+
+```shell
+make unit-test
+```
+
+### e2e Tests
+
+To run end-to-end tests, you need to install [kind](https://kind.sigs.k8s.io/).
+
+Launch a kind cluster with the following command:
+
+```shell
+make kind-up
+```
+
+To run end-to-end e2e-tests against any changes, you need to load the built
Docker images into the Kubernetes cluster:
+
+```shell
+# build docker image for APISIX Ingress controller
+make build-image
+# load the image into kind cluster
+make kind-load-images
+```
+
+Currently, we use Kind version `0.26.0` and Kubernetes version `1.26+` for
running the tests.
+
+```shell
+make e2e-test
+```
diff --git a/docs/en/latest/install.md b/docs/en/latest/install.md
new file mode 100644
index 00000000..ff271748
--- /dev/null
+++ b/docs/en/latest/install.md
@@ -0,0 +1,62 @@
+---
+title: Install with Helm
+keywords:
+ - APISIX ingress
+ - Apache APISIX
+ - Kubernetes ingress
+ - kind
+description: Guide to install APISIX ingress controller on kind.
+---
+<!--
+#
+# 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.
+#
+-->
+
+Helm is a package manager for Kubernetes that automates the release and
management of software on Kubernetes.
+
+This document guides you through installing the APISIX ingress controller
using Helm.
+
+## Prerequisites
+
+Before installing APISIX ingress controller, ensure you have:
+
+1. A working Kubernetes cluster (version 1.26+)
+ - Production: TKE, EKS, AKS, or other cloud-managed clusters
+ - Development: minikube, kind, or k3s
+2. [kubectl](https://kubernetes.io/docs/tasks/tools/) installed and configured
to access your cluster
+3. [Helm](https://helm.sh/) (version 3.8+) installed
+
+## Install APISIX Ingress Controller
+
+The APISIX ingress controller can be installed using the Helm chart provided
by the Apache APISIX project. The following steps will guide you through the
installation process.
+
+```shell
+helm repo add apisix https://charts.apiseven.com
+helm repo add bitnami https://charts.bitnami.com/bitnami
+helm repo update
+
+# Set the access address and adminkey for apisix
+helm install apisix-ingress-controller \
+ --create-namespace \
+ -n ingress-apisix \
+ --set gatewayProxy.createDefault=true \
+ --set
gatewayProxy.provider.controlPlane.auth.adminKey.value=edd1c9f034335f136f87ad84b625c8f1
\
+ --set apisix.adminService.namespace=apisix-ingress \
+ --set apisix.adminService.name=apisix-admin \
+ --set apisix.adminService.port=9180 \
+ apisix/apisix-ingress-controller
+```