Skip to content

Platform Features

Cache Service

To reduce bandwidth pressure and speed up CI builds, we deploy an in-cluster nginx cache service that proxies common package registries. All runner pods can access it via the internal service address.

Service address: cache-service.nginx-pypi-cache.svc.cluster.local


PyPI Cache (Port 80)

Proxies Python package index. Falls back to pypi.org when the upstream mirror returns 404.

Configure in your workflow:

- name: Configure pip cache
  run: |
    pip config set global.index-url http://cache-service.nginx-pypi-cache.svc.cluster.local/pypi/simple
    pip config set global.trusted-host cache-service.nginx-pypi-cache.svc.cluster.local

Or via environment variable:

env:
  PIP_INDEX_URL: http://cache-service.nginx-pypi-cache.svc.cluster.local/pypi/simple
  PIP_TRUSTED_HOST: cache-service.nginx-pypi-cache.svc.cluster.local

PyTorch wheels are also cached. Use the /whl path:

- name: Install PyTorch via cache
  run: |
    pip install torch --index-url http://cache-service.nginx-pypi-cache.svc.cluster.local/whl/cpu

APT Cache (Port 8081)

Proxies Ubuntu/Debian package repositories (ports.ubuntu.com, archive.ubuntu.com).

Configure in your workflow:

- name: Configure apt cache
  run: |
    sed -Ei 's@(ports|archive).ubuntu.com@cache-service.nginx-pypi-cache.svc.cluster.local:8081@g' /etc/apt/sources.list

Rust / rustup Cache (Port 8082)

Proxies mirrors.huaweicloud.com/rustup for Rust toolchain downloads.

Configure in your workflow:

- name: Configure rustup cache
  env:
    RUSTUP_DIST_SERVER: http://cache-service.nginx-pypi-cache.svc.cluster.local:8082
    RUSTUP_UPDATE_ROOT: http://cache-service.nginx-pypi-cache.svc.cluster.local:8082/rustup
  run: |
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

YUM / DNF Cache (Port 8083)

Proxies repo.huaweicloud.com/openeuler for openEuler RPM packages.

Configure in your workflow:

- name: Configure yum cache
  run: |
    sed -i 's|https://repo.openeuler.org|http://cache-service.nginx-pypi-cache.svc.cluster.local:8083|g' /etc/yum.repos.d/*.repo

Summary

Cache Type Port Upstream Client
PyPI 80 repo.huaweicloud.com + pypi.org fallback pip / uv
APT 8081 ports/archive.ubuntu.com apt-get
Rust 8082 mirrors.huaweicloud.com/rustup rustup
YUM 8083 repo.huaweicloud.com/openeuler dnf / yum