diff --git a/assets/docs/insert_flow.png b/assets/docs/insert_flow.png new file mode 100644 index 0000000000..fee8028c98 Binary files /dev/null and b/assets/docs/insert_flow.png differ diff --git a/assets/docs/search_flow.png b/assets/docs/search_flow.png new file mode 100644 index 0000000000..c8d617efea Binary files /dev/null and b/assets/docs/search_flow.png differ diff --git a/design/vald_architecture_overview.png b/design/vald_architecture_overview.png new file mode 100644 index 0000000000..f4bc82e2d9 Binary files /dev/null and b/design/vald_architecture_overview.png differ diff --git a/docs/contributing/coding-style.md b/docs/contributing/coding-style.md index dff141a426..f6fbd3729b 100644 --- a/docs/contributing/coding-style.md +++ b/docs/contributing/coding-style.md @@ -1,32 +1,10 @@ # Go Style Guide in Vald -## Table of Contents - -- [Introduction](#introduction) -- [Code Formatting and Naming Convension](#code-formatting-and-naming-convension) - - [Project Layout](#project-layout) - - [Packages](#packages) - - [Interfaces](#interfaces) - - [Structs](#structs) - - [Struct initialization](#struct-initialization) - - [Variables and Constant](#variables-and-constant) - - [Methods](#methods) - - [Getter and Setter](#getter-and-setter) - - [Error handling](#error-handling) - - [Logging](#logging) -- [Program comments](#program-comments) -- [Documentation](#documentation) -- [Internal packages](#internal-packages) -- [Dependency management and Build](#dependency-management-and-build) -- [Test](#test) - - [Table-Driven-Test](#table-driven-test) - - [The steps to create a Table-Driven-Test](#the-steps-to-create-a-table-driven-test) - ## Introduction This guideline includes the coding style for all Vald contributors and reviewers. Everyone should follow this guideline to keep the style consistent so everyone can understand and contribute to Vald easier once they learn this guideline. You should have the basic knowledge of how to write Go before contributing to Vald. If you found any bug please create [a GitHub issue](https://github.com/vdaas/vald/issues/new?assignees=&labels=type%2Fbug%2C+priority%2Fmedium%2C+team%2Fcore&template=bug_report.md&title=) and we will work on it. -Please also read the [Contribution guideline](../../CONTRIBUTING.md) before you start contributing to Vald. +Please also read the [Contribution guideline](../contributing/contributing-guide.md) before you start contributing to Vald. ## Code Formatting and Naming Convension diff --git a/docs/contributing/contributing-guide.md b/docs/contributing/contributing-guide.md new file mode 120000 index 0000000000..f939e75f21 --- /dev/null +++ b/docs/contributing/contributing-guide.md @@ -0,0 +1 @@ +../../CONTRIBUTING.md \ No newline at end of file diff --git a/docs/overview/about-vald.md b/docs/overview/about-vald.md index f8b0776864..0cc4ad8584 100644 --- a/docs/overview/about-vald.md +++ b/docs/overview/about-vald.md @@ -2,16 +2,7 @@ This document gives an overview of what is Vald and what you can do with Vald. -## Table of Contents - -- [What is Vald?](#what-is-vald) - - [What Vald can do?](#what-vald-can-do) - - [Use cases](#use-cases) -- [Why Vald?](#why-vald) -- [How does Vald work?](#how-does-vald-work) -- [Try Vald](#try-vald) - -### What is Vald? +## What is Vald? Vald is a highly scalable distributed fast approximate nearest neighbor dense vector search engine. @@ -24,7 +15,7 @@ Vald has automatic vector indexing and index backup, and horizontal scaling whic Vald is easy to use, feature-rich and highly customizable as you needed. -#### What Vald can do? +### What Vald can do? - Asynchronous Auto Indexing @@ -60,7 +51,7 @@ Vald is easy to use, feature-rich and highly customizable as you needed. - gRPC APIs can be triggered by any programming languages which support gRPC. - REST API is also supported. -#### Use cases +### Use cases Vald supports similarity searching. @@ -68,7 +59,7 @@ Vald supports similarity searching. - Speech recognition - Everything you can vectorize :) -### Why Vald? +## Why Vald? Vald is based on Kubernetes and Cloud-Native architecture, which means Vald is highly scalable. You can easily scale Vald by changing Vald's configuration. @@ -78,13 +69,13 @@ Vald uses the fastest ANN Algorithm [NGT](https://github.com/yahoojapan/NGT) to Also, Vald supports auto-healing, to reduce running and maintenance costs. Vald implements the backup mechanism to support disaster recovery. Whenever one of the Vald Agent instances is down, the new Vald Agent instance will be created automatically and the data will be recovered automatically. -### How does Vald work? +## How does Vald work? Vald implements its custom resource and custom controller to integrate with Kubernetes. You can take all the benefits from Kubernetes. -Please refer to the [architecture overview](./architecture.md) for more details about the architecture and how each component in Vald works together. +Please refer to the [architecture overview](../overview/architecture.md) for more details about the architecture and how each component in Vald works together. -### Try Vald +## Try Vald -Please refer to [Get Started](../get-started/get-started.md) to try Vald :) +Please refer to [Get Started](../tutorial/get-started.md) to try Vald :) diff --git a/docs/overview/architecture.md b/docs/overview/architecture.md index 0c1bdc8ba6..93290b0909 100644 --- a/docs/overview/architecture.md +++ b/docs/overview/architecture.md @@ -2,13 +2,6 @@ This document describes the high-level architecture design of Vald and explains each component in Vald. -## Table of Contents - -- [Overview](#overview) -- [Data Flow](#data-flow) - - [Insert](#insert) - - [Search](#search) - ## Overview Vald uses a cloud-native architecture focusing on [Kubernetes](https://kubernetes.io/). @@ -17,7 +10,7 @@ Before reading this document, you need to have some understanding of the basic i The below image is Vald's architecture. - + We will explain this image in the following section. @@ -28,7 +21,7 @@ This is the most important part for the users to understand Vald. ### Insert - + When the user inserts data into Vald: @@ -53,7 +46,7 @@ When the user inserts data into Vald: ### Search - + When the user searches a vector from Vald: diff --git a/docs/tutorial/get-started.md b/docs/tutorial/get-started.md index f852f4bd1f..852b6030f1 100644 --- a/docs/tutorial/get-started.md +++ b/docs/tutorial/get-started.md @@ -6,15 +6,6 @@ Vald is designed and implemented based on Cloud-Native architecture. This article will show you how to deploy and run the Vald components on your kubernetes cluster. Fashion-mnist is used as an example of a dataset. -- [Get Started](#get-started) - - [Requirements](#requirements) - - [Deploy and Run Vald on kubernetes](#deploy-and-run-vald-on-kubernetes) - - [Deploy](#deploy) - - [Run using example code](#run-using-example-code) - - [Deploy and Run standalone Vald Agent on kubernetes](#deploy-and-run-standalone-vald-agent-on-kubernetes) - - [Deploy](#deploy-1) - - [Run using example code](#run-using-example-code-1) - ## Requirements - kubernetes: v1.17 ~ diff --git a/docs/user-guides/configuration.md b/docs/user-guides/configuration.md index eb46f6c57f..cf7f0080a4 100644 --- a/docs/user-guides/configuration.md +++ b/docs/user-guides/configuration.md @@ -43,7 +43,7 @@ You can specify image version by set `image.tag` field in each component (`[comp ```yaml defaults: image: - tag: v0.0.33 + tag: master ``` or you can use the older image only for agent, @@ -405,13 +405,13 @@ For further details, there are references of Helm values in GitHub Vald reposito - [README of Vald-Helm-Operator Chart][vald-helm-operator-chart] -[vald-helm-chart]: https://github.com/vdaas/vald/tree/v0.0.33/charts/vald -[vald-helm-operator-chart]: https://github.com/vdaas/vald/tree/v0.0.33/charts/vald-helm-operator +[vald-helm-chart]: https://github.com/vdaas/vald/tree/master/charts/vald +[vald-helm-operator-chart]: https://github.com/vdaas/vald/tree/master/charts/vald-helm-operator [vald-operation-guide]: ./operations.md -[vald-apis-docs]: https://github.com/vdaas/vald/tree/v0.0.33/apis/docs -[vald-swagger-specs]: https://github.com/vdaas/vald/tree/v0.0.33/apis/swagger +[vald-apis-docs]: https://github.com/vdaas/vald/tree/master/apis/docs +[vald-swagger-specs]: https://github.com/vdaas/vald/tree/master/apis/swagger [google-pprof]: https://github.com/google/pprof [prometheus-io]: https://prometheus.io/ [kubernetes-liveness-readiness]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/