diff --git a/bootstrap/codesearch/create_config.py b/bootstrap/codesearch/create_config.py
index 109219d..aef99e7 100755
--- a/bootstrap/codesearch/create_config.py
+++ b/bootstrap/codesearch/create_config.py
@@ -14,6 +14,9 @@
 
 MAGIC_PREFIX = ")]}'"
 
+GITWEB_ANCHOR = "#l{line}"
+GIT_ANCHOR = "#n{line}"
+
 
 def get_projects_list(gerrit):
     """Request list of all available projects from ONAP Gerrit."""
@@ -27,15 +30,30 @@
     return projects.keys()
 
 
-def create_repos_list(projects, git):
+def create_repos_list(projects, gitweb, git, gerrit):
     """Create a map of all projects to their repositories' URLs."""
+    gerrit_project_url = "{}/{}.git"
+    gitweb_code_url = "{}/gitweb?p={}.git;hb=HEAD;a=blob;f={{path}}{{anchor}}"
+
+    git_project_url = "{}/{}"
+    git_code_url = "{url}/tree/{path}{anchor}"
+
     repos_list = {}
     for project in projects:
+        if gitweb:
+            project_url = gerrit_project_url.format(gerrit, project)
+            code_url = gitweb_code_url.format(gerrit, project)
+            anchor = GITWEB_ANCHOR
+        else:
+            project_url = git_project_url.format(git, project)
+            code_url = git_code_url
+            anchor = GIT_ANCHOR
+
         repos_list[project] = {
-            "url": "{}/{}".format(git, project),
+            "url": project_url,
             "url-pattern": {
-                "base-url": "{url}/tree/{path}{anchor}",
-                "anchor": "#n{line}"
+                "base-url": code_url,
+                "anchor": anchor
             }
         }
 
@@ -46,7 +64,9 @@
     """Return parsed command-line arguments."""
     parser = argparse.ArgumentParser(description=__doc__)
     parser.add_argument('--gerrit', help='Gerrit address', default=DEFAULT_GERRIT)
-    parser.add_argument('--git', help='git address', default=DEFAULT_GIT)
+    access = parser.add_mutually_exclusive_group()
+    access.add_argument('--gitweb', help='use Gerrit\'s gitweb (bool)', action='store_true')
+    access.add_argument('--git', help='use external git (address)', default=DEFAULT_GIT)
 
     return parser.parse_args()
 
@@ -55,7 +75,8 @@
     """Main entry point for the script."""
     arguments = parse_arguments()
 
-    repos = create_repos_list(get_projects_list(arguments.gerrit), arguments.git)
+    projects = get_projects_list(arguments.gerrit)
+    repos = create_repos_list(projects, arguments.gitweb, arguments.git, arguments.gerrit)
     config = {
         "max-concurrent-indexers": 2,
         "dbpath": "data",
