NPU Feature Discovery
Feature Introduction
NPU Feature Discovery is a component for discovering NPU-related features in the cluster, used to discover NPU device types and label nodes accordingly, for NPU Operator related component installation and usage.
Local Build
Image Build
Build Parameters
GOPRIVATE: Configure Go language private repository, equivalent to theGOPRIVATEenvironment variable.COMMIT: Hash value of the current git commit.VERSION: Component version.SOURCE_DATE_EPOCH: Timestamp of the image rootfs.
Build Commands
-
Build and push to specified OCI repository.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=image,name=<oci/repository>:<tag>,oci-mediatypes=true,rewrite-timestamp=true,push=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Using
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=image,name=<oci/repository>:<tag>,oci-mediatypes=true,rewrite-timestamp=true,push=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Where
<path/to/dockerfile>is the Dockerfile path,<oci/repository>is the image address, and<tag>is the image tag. -
Build and export OCI Layout to local tarball.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=oci,name=<oci/repository>:<tag>,dest=<path/to/oci-layout.tar>,rewrite-timestamp=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Using
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=oci,name=<oci/repository>:<tag>,dest=<path/to/oci-layout.tar>,rewrite-timestamp=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Where
<path/to/dockerfile>is the Dockerfile path,<oci/repository>is the image address,<tag>is the image tag, andpath/to/oci-layout.taris the tar package path. -
Build and export image rootfs to local directory.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=local,dest=<path/to/output>,platform-split=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latestUsing
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=local,dest=<path/to/output>,platform-split=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latestWhere
<path/to/dockerfile>is the Dockerfile path andpath/to/outputis the local directory path.
Helm Chart Build
-
Package Helm Chart.
helm package <path/to/chart> -u \ --version=0.0.0-latest \ --app-version=openFuyao-v25.09Where
<path/to/chart>is the Chart folder path. -
Push Chart package to specified OCI repository.
helm push <path/to/chart.tgz> oci://<oci/repository>:<tag>Where
<path/to/chart.tgz>is the Chart package path,<oci/repository>is the Chart package push address, and<tag>is the Chart package tag.
Installation Deployment
This component is a prerequisite dependency for openFuyao NPU Operator features and can also be installed independently. For deployment methods, please refer to the NPU Operator User Guide.