blob: d534e28cf77f0c857d4e8a76b8af1b79399c2a27 [file] [log] [blame]
Pawel Wieczorekcc7624d2019-12-17 15:30:18 +01001============================================
2 ONAP Integration > Bootstrap > Code search
3============================================
4
5This directory contains a set of Vagrant scripts that will automatically set up a Hound_ instance
6with config generator to index all ONAP code.
7
8This is intended to show a beginning ONAP developer how to set up and configure an environment that
9allows to search through ONAP code repositories quickly. It is not intended to be used as
10a production code search solution.
11
12`Upstream Docker image` has not been used due to lack of project activity. This environment
13(together with daemon configuration generator) might be migrated to a new Docker image recipe in
14future, though.
15
16.. _Hound: https://github.com/hound-search/hound
17.. _`Upstream Docker image`: https://hub.docker.com/r/etsy/hound
Pawel Wieczorek0d631382020-01-10 17:24:05 +010018
19
20Prerequisites
21-------------
22
23Virtualisation provider
24~~~~~~~~~~~~~~~~~~~~~~~
25
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020026Provided vagrantfile is generic enough that it should work with any Vagrant provider.
27It has been tested using default VirtualBox provider and also libvirt_ provider with vagrant-libvirt_ plugin.
28Plugin documentation provides detailed `installation instructions`_ that will guide through the process.
Pawel Wieczorek0d631382020-01-10 17:24:05 +010029
30.. note::
31 Remember to uncomment `deb-src` repositories for `apt-get build-dep` step on Debian/Ubuntu.
32
33.. _libvirt: https://libvirt.org
34.. _vagrant-libvirt: https://github.com/vagrant-libvirt/vagrant-libvirt
35.. _`installation instructions`: https://github.com/vagrant-libvirt/vagrant-libvirt#installation
36
37Virtual machine manager
38~~~~~~~~~~~~~~~~~~~~~~~
39
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020040Environment has been tested using latest Vagrant_ as of writing this documentation (`v2.2.16`_). Some
Pawel Wieczorek0d631382020-01-10 17:24:05 +010041features (e.g. triggers_) might not be supported on older versions.
42
43.. _Vagrant: https://www.vagrantup.com/downloads.html
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020044.. _`v2.2.16`: https://github.com/hashicorp/vagrant/blob/v2.2.16/CHANGELOG.md
Pawel Wieczorek0d631382020-01-10 17:24:05 +010045.. _triggers: https://www.vagrantup.com/docs/triggers/
46
47
48Running
49-------
50
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020051If using vagrant-libvirt provider additional `--provider` flag or setting `VAGRANT_DEFAULT_PROVIDER` environmental
52variable might be required in case there are multiple providers available.
Pawel Wieczorek0d631382020-01-10 17:24:05 +010053
54.. note::
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020055 One of the following commands should be executed depending on the provider you'd like to use. Run it within the
56 directory where `Vagrantfile` is stored (`integration/bootstrap/codesearch`).
Pawel Wieczorek0d631382020-01-10 17:24:05 +010057
58.. code-block:: sh
mrichommeefb859d2020-03-19 19:02:41 +010059
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020060 vagrant up --provider=libvirt # to leverage vagrant-libvirt provider
61 vagrant up # to leverage default VirtualBox provider
Pawel Wieczorek0d631382020-01-10 17:24:05 +010062
63This will:
64
65#. Start and prepare virtual machine
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020066#. Generate configuration files
Pawel Wieczorek0d631382020-01-10 17:24:05 +010067#. Run Hound instance as a tmux_ session named `codesearch`
68
Bartek Grzybowskib698cde2021-07-14 10:50:01 +020069At any time you can reload or stop and later start the box, it's set up to automatically run the hound process.
70
Pawel Wieczorek0d631382020-01-10 17:24:05 +010071.. _tmux: https://github.com/tmux/tmux/wiki
72
73
74Usage
75-----
76
77Once ready (cloning repositories and building index might initially take some time) code search will
78be available at http://localhost:6080