DigitalOcean Managed Weaviate
DigitalOcean Managed Weaviate is a fully managed offering of the Weaviate open-source vector database, operated by DigitalOcean. Clusters are provisioned, secured, backed up, and patched by DigitalOcean. You are responsible for your data, your schema, and the application that reads and writes to the cluster.
Provisioning
Section titled “Provisioning”Cluster lifecycle (creation, sizing, regions, plans, backups, credential rotation, deletion) is documented and maintained by DigitalOcean:
Once a cluster is provisioned, DigitalOcean returns an HTTP host, gRPC host, and an API key. Use those values to connect from an official Weaviate client.
Connecting from a Weaviate client
Section titled “Connecting from a Weaviate client”Connect using the custom-connection helper. Set WEAVIATE_HTTP_HOST, WEAVIATE_GRPC_HOST, and WEAVIATE_API_KEY from the values DigitalOcean returned, then run:
import weaviate, os
from weaviate.classes.init import Auth
from weaviate.config import AdditionalConfig, Timeout
# Best practice: store your credentials in environment variables
http_host = os.environ["WEAVIATE_HTTP_HOST"]
grpc_host = os.environ["WEAVIATE_GRPC_HOST"]
weaviate_api_key = os.environ["WEAVIATE_API_KEY"]// Set these environment variables
// WEAVIATE_HTTP_HOST your Weaviate instance URL
// WEAVIATE_GRPC_HOST your Weaviate instance GPC URL
// WEAVIATE_API_KEY your Weaviate instance API key
const client = await weaviate.connectToCustom(
{
httpHost: process.env.WEAVIATE_HTTP_HOST, // URL only, no http prefix
httpPort: 443,
grpcHost: process.env.WEAVIATE_GRPC_HOST,
grpcPort: 443, // Default is 50051, WCD uses 443
grpcSecure: true,
httpSecure: true,
authCredentials: new weaviate.ApiKey(process.env.WEAVIATE_API_KEY),// Best practice: store your credentials in environment variables
String httpHost = System.getenv("WEAVIATE_HTTP_HOST");
String grpcHost = System.getenv("WEAVIATE_GRPC_HOST");
String weaviateApiKey = System.getenv("WEAVIATE_API_KEY");
String cohereApiKey = System.getenv("COHERE_API_KEY");
WeaviateClient client =
WeaviateClient.connectToCustom(config -> config.scheme("https") // Corresponds to http_secure=True and grpc_secure=True
.httpHost(httpHost)
.httpPort(443)
.grpcHost(grpcHost)
.grpcPort(443)
.authentication(Authentication.apiKey(weaviateApiKey))
.setHeaders(Map.of("X-Cohere-Api-Key", cohereApiKey)));
System.out.println(client.isReady()); // Should print: `True`
client.close(); // Free up resources// Best practice: store your credentials in environment variables
string httpHost = Environment.GetEnvironmentVariable("WEAVIATE_HTTP_HOST");
string grpcHost = Environment.GetEnvironmentVariable("WEAVIATE_GRPC_HOST");
string weaviateApiKey = Environment.GetEnvironmentVariable("WEAVIATE_API_KEY");
string cohereApiKey = Environment.GetEnvironmentVariable("COHERE_API_KEY");
WeaviateClient client = await WeaviateClientBuilder
.Custom(
restEndpoint: httpHost,
restPort: "443",
grpcEndpoint: grpcHost,
grpcPort: "443",
useSsl: true
)
.WithCredentials(Auth.ApiKey(weaviateApiKey))
.WithHeaders(new Dictionary<string, string> { { "X-Cohere-Api-Key", cohereApiKey } })
.BuildAsync();
var isReady = await client.IsReady();
Console.WriteLine(isReady);For usage from here on out, see the standard search, manage collections, and manage objects guides.