aboutsummaryrefslogtreecommitdiffstats
path: root/Code-map.md
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-02-15 15:44:48 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2019-02-15 15:44:48 +0100
commit5e160e505e9fa6312e648a1ebdc4e6eb8e977f71 (patch)
treee1d2ebab0118920db82d0e4eb1cdd133f1a57d42 /Code-map.md
parenta37504d5750b77df68e4c263d7a448e9eaeb5a36 (diff)
WIP
Diffstat (limited to 'Code-map.md')
-rw-r--r--Code-map.md21
1 files changed, 20 insertions, 1 deletions
diff --git a/Code-map.md b/Code-map.md
index 6b93f99c552..649aa825212 100644
--- a/Code-map.md
+++ b/Code-map.md
@@ -11,9 +11,15 @@ simply organized in a flat structure of about 150 modules.
This document aims to provide a map from the
[functional elements](https://docs.vespa.ai/documentation/overview.html)
-of Vespa to the most implrtant modules in the flat module structure in the
+of Vespa to the most important modules in the flat module structure in the
[code base on GitHub]()[https://github.com/vespa-engine/vespa).
+It covers the modules you are most likely to encounter as a developer.
+The rest are either small and needed for technical reasons or doing one thing
+which should be self-explanatory, or implementing the cloud service run by the
+Vespa team which we don't expect anybody else to run and therefor be interested
+in changing.
+
## The stateless container
@@ -75,8 +81,21 @@ This is written in C++.
The third major subsystem in Vespa is responsible for managing configuration, clusters, application deployment and similar.
It is implemented in Java.
+- [configserver](https://github.com/vespa-engine/vespa/tree/master/configserver) - the server to which applications are deployed, and nodes send requests for the configuration derived from these deployments.
+- [config-model](https://github.com/vespa-engine/vespa/tree/master/config-model) - a model of the running system specified by a deployed application, which returns config instances on request given a config type name and config id (associated with a role).
+- [config](https://github.com/vespa-engine/vespa/tree/master/config) - client-side library on both Java and C++ for subscribing to configs (by type name and id) and reading config payloads.
+- [configgen](https://github.com/vespa-engine/vespa/tree/master/configgen) - generation of config classes in C++ and Java for reading (and building) a config given its type.
+- [config-proxy](https://github.com/vespa-engine/vespa/tree/master/config-proxy) - client node-side proxy between config subscriptions (issued by config) and the config server.
+- [configdefinitions](https://github.com/vespa-engine/vespa/tree/master/configdefinitions) - config type definitions which are referenced by multiple modules.
+
+## General utility libraries
+Libraries used throughput the code.
+- [vespalib](https://github.com/vespa-engine/vespa/tree/master/vespalib) - general utility library for C++
+- [staging_vespalib](https://github.com/vespa-engine/vespa/tree/master/staging_vespalib) - general (less stable) utility library for C++
+- [vespajlib](https://github.com/vespa-engine/vespa/tree/master/vespajlib) - general utility library for Java. Includes the Java implementation of the tensor library.
+- [yolean](https://github.com/vespa-engine/vespa/tree/master/yolean) - another (more stable) general Java utility library