To develop with Vespa, follow the guide to set up a development environment on AlmaLinux 8 using Docker.
Build Vespa Java artifacts with Java >= 17 and Maven >= 3.6.3. Once built, Vespa Java artifacts are ready to be used and one can build a Vespa application using the bundle plugin.
$ export MAVEN_OPTS="-Xms128m -Xmx1024m" $ ./bootstrap.sh java && mvn install
See vespa.ai releases.
Image | Description |
---|---|
docker.io/vespaengine/vespa ghcr.io/vespa-engine/vespa |
Container image for running Vespa. |
docker.io/vespaengine/vespa-build-almalinux-8 | Container image for building Vespa on AlmaLinux 8. |
docker.io/vespaengine/vespa-dev-almalinux-8 | Container image for development of Vespa on AlmaLinux 8. Used for incremental building and system testing. |
Dependency graph:
Installing Vespa on AlmaLinux 8:
$ dnf config-manager \ --add-repo https://raw.githubusercontent.com/vespa-engine/vespa/master/dist/vespa-engine.repo $ dnf config-manager --enable powertools $ dnf install -y epel-release $ dnf install -y vespa
Package repository hosting is graciously provided by Cloudsmith which is a fully hosted, cloud-native and universal package management solution:
Refer to vespa.spec. Build RPMs for a given Vespa version X.Y.Z:
$ git clone https://github.com/vespa-engine/vespa $ cd vespa $ git checkout vX.Y.Z $ docker run --rm -ti -v $(pwd):/wd:Z -w /wd \ docker.io/vespaengine/vespa-build-almalinux-8:latest \ make -f .copr/Makefile rpms outdir=/wd $ ls *.rpm | grep -v debug vespa-8.458.13-1.el8.src.rpm vespa-8.458.13-1.el8.x86_64.rpm vespa-ann-benchmark-8.458.13-1.el8.x86_64.rpm vespa-base-8.458.13-1.el8.x86_64.rpm vespa-base-libs-8.458.13-1.el8.x86_64.rpm vespa-clients-8.458.13-1.el8.x86_64.rpm vespa-config-model-fat-8.458.13-1.el8.x86_64.rpm vespa-jars-8.458.13-1.el8.x86_64.rpm vespa-libs-8.458.13.el8.x86_64.rpm vespa-malloc-8.458.13-1.el8.x86_64.rpm vespa-node-admin-8.458.13-1.el8.x86_64.rpm vespa-tools-8.458.13-1.el8.x86_64.rpm
Find most utilities in the vespa-x.y.z*.rpm - other RPMs:
RPM | Description |
---|---|
vespa-tools | Tools accessing Vespa endpoints for query or document operations: |
vespa-malloc | Vespa has its own memory allocator, vespa-malloc - refer to /opt/vespa/etc/vespamalloc.conf |
vespa-clients | vespa-feed-client.jar - see vespa-feed-client |