Skip to main content

Ingress Configuration

Overview

The Appcircle Helm chart includes an Ingress controller, specifically ingress-nginx, which is enabled by default. For production environments, it is recommended to use your own Ingress controller for better control and customization.

Appcircle Default Ingress-NGINX Configuration

The default ingress-nginx configuration in the values.yaml file includes several parameters that apply globally to the Ingress controller. These configurations can be adjusted as needed to fit your deployment requirements. If you are using your own Ingress controller, you can configure these values globally or on a per-Ingress basis for Appcircle ingresses.

Default Configurations in values.yaml of the Appcircle server Helm chart:

ingress-nginx:
controller:
config:
proxy-body-size: '4096m'
client-body-buffer-size: '128k'
proxy-connect-timeout: '600'
proxy-send-timeout: '600'
proxy-read-timeout: '600'
proxy-buffer-size: '128k'
proxy-buffers-number: '4'
proxy-busy-buffers-size: '128k'

You can change the default values of the Ingress controller that is installed with the Appcircle Helm chart as your needs dictate.

To apply configuration changes to the Appcircle server installation, update the Helm release with the new configuration using the following command:

info

The arguments used for the helm upgrade parameters in the sample command below are based on the installation document, and it is compatible with a default installation.

  • Release: appcircle-server
  • Chart: appcircle/appcircle
  • Namespace: appcircle

If you have customized these values while installing the Appcircle server, change the values to your customized ones.

helm upgrade appcircle-server appcircle/appcircle \
-n appcircle \
-f values.yaml

Configuring Ingress Annotations

Adding per-Ingress annotations is recommended for external Ingress controllers. By setting annotations per Ingress, you can fine-tune the behavior of specific Appcircle services without impacting the entire Ingress controller.

Example Ingress configurations for values.yaml of the Appcircle server Helm chart:

# For APK, IPA, build artifact uploads from browsers and Appcircle runners
apigateway:
ingress:
annotations:
# For Ingres-Nginx Controller
nginx.ingress.kubernetes.io/proxy-body-size: "4096m"
nginx.ingress.kubernetes.io/client-body-buffer-size: "128k"
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-buffer-size: "128k"
nginx.ingress.kubernetes.io/proxy-buffers-number: "4"
nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "128k"

# For build cache uploads from Appcircle runners
resource:
ingress:
annotations:
# For Ingres-Nginx Controller
nginx.ingress.kubernetes.io/proxy-body-size: "4096m"
nginx.ingress.kubernetes.io/client-body-buffer-size: "128k"
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-buffer-size: "128k"
nginx.ingress.kubernetes.io/proxy-buffers-number: "4"
nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "128k"
tip

If you are using an ingress controller other than ingress-nginx, please refer to the documentation for your specific ingress controller to find the relevant configurations. Each ingress controller may have different annotations and settings to achieve similar functionality.

To apply configuration changes to the Appcircle server installation, update the Helm release with the new configuration using the following command:

info

The arguments used for the helm upgrade parameters in the sample command below are based on the installation document, and it is compatible with a default installation.

  • Release: appcircle-server
  • Chart: appcircle/appcircle
  • Namespace: appcircle

If you have customized these values while installing the Appcircle server, change the values to your customized ones.

helm upgrade appcircle-server appcircle/appcircle \
-n appcircle \
-f values.yaml

Need help?

Get help from Appcircle's support team, or see how others are using Appcircle by joining our Slack Channel.

Preview of Slack