Weaviate

Weaviate is a robust, open-source vector database that allows you to store and query data based on its semantics. It supports various modules for text, image, and multimodal vectorization, enabling semantic search, advanced filtering, and question-answering. Weaviate offers flexible deployment options and integrates seamlessly with popular machine learning models and frameworks, providing GraphQL, and REST for easy integration with your applications.

The Apolo Weaviate App delivers a fully‑managed cluster with:

  • REST, GraphQL & gRPC APIs

  • Persistent volume for data

  • Optional S3 backups

  • One‑click HTTPS ingress secured by basic‑auth

For more information about Weavite, please refer to the main Weaviate page.

Installing

Below are the detailed instructions for installing Weaviate using Apolo CLI. For instructions on how to install it using Apolo Console, visit the main Weaviate page.

Installing via Apolo CLI

Apolo CLI

Step 1 — Obtain the application configuration file template:

apolo app-template get weaviate > myweaviate.yaml

Step 2 — Customize the application parameters. Below is an example configuration file:

# Example of myweaviate.yaml

template_name: "weaviate"
template_version: "apolo"
input:
  preset:
    name: "cpu-small"
  persistence:
    size: 64            # GiB PVC
    enable_backups: true
  ingress_http:
    auth: false         # public (no basic‑auth)

Explanation of configuration parameters:

  1. preset.name — picks CPU/RAM preset.

  2. persistence.size — volume size; backups on by default.

  3. ingress_http.auth=false — exposes endpoints openly; set true for private mode.

Step 3 — Deploy the application in your Apolo project:

apolo app install -f myweaviate.yaml

Monitor the application status using:

apolo app list

To uninstall the application, use:

apolo app uninstall <app-id>

If you want to see logs of the application, use:

apolo app logs <app-id>

For instructions on how to access the application, please refer to the Usage section.

Explanation


Inputs / Outputs (schema v1)

Inputs

JSON Path

Default

Description

preset.name

Resource preset per replica.

persistence.size

32

Volume size (GiB).

persistence.enable_backups

true

Nightly S3 snapshots.

ingress_http.auth

true

Require basic‑auth.

Outputs

Key

Purpose

external_graphql_endpoint.*

Public /v1/graphql endpoint.

external_rest_endpoint.*

Public /v1 REST endpoint.

internal_graphql_endpoint.*

Private /v1/graphql endpoint.

internal_rest_endpoint.*

Private /v1 REST endpoint.

internal_grpc_endpoint.*

Private gRPC in‑cluster.

auth.username / auth.password

Basic‑auth creds (if enabled).


Usage

Quick connectivity test & schema bootstrap:

import weaviate

client = weaviate.Client(
    url="https://apolo‑taddeus‑weaviate-0aad31aa.apps.apolo.us",
    additional_headers={"Authorization": "Basic <base64‑admin‑password>"}
)

assert client.is_ready(), "Weaviate not ready"
print("Connected!")

References

Last updated

Was this helpful?