From eef4423e7bc7cdb78697ac9f208058a128f05119 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 10 Feb 2021 13:58:49 +0100 Subject: [PATCH 1/4] Define relationship to software catalog and loose coupling by convention. --- docs/features/search/architecture.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/features/search/architecture.md b/docs/features/search/architecture.md index 3075719b9d..47126e8258 100644 --- a/docs/features/search/architecture.md +++ b/docs/features/search/architecture.md @@ -20,7 +20,10 @@ Backstage end-users. At a base-level, we want to support the following: - We aim to enable the capability to search across the entire Backstage - ecosystem by decoupling search from content management. + ecosystem including, but not limited to, entities in the software catalog. + Searchable content won't be required to relate directly to the software + catalog, but by convention, we may encourage loose relationships using + well-known field names or attributes. - We aim to enable the capability to deploy Backstage using any search engine, by providing an integration and translation layer between the core search plugin and search engine specific logic that can be extended for different From 0c56a7f74ff9b58c37d8716e79262b2dd43549d8 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 10 Feb 2021 14:00:27 +0100 Subject: [PATCH 2/4] Clarify intentions around bulk vs. incremental index management. --- docs/features/search/architecture.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/features/search/architecture.md b/docs/features/search/architecture.md index 47126e8258..d667386e72 100644 --- a/docs/features/search/architecture.md +++ b/docs/features/search/architecture.md @@ -40,3 +40,9 @@ More advanced use-cases we hope to support with this architecture include: - It should be easy to customize the search UI - It should be easy to add search functionality to any Backstage plugin or deployment + +Architecture non-goals: + +- At this time, we do not intend to directly support event-driven or incremental + index management. Instead, we'll be focused on scheduled, bulk index + management. From 5472e07abb1f1b80e962a87d0f4de5740c62dff8 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 10 Feb 2021 14:38:31 +0100 Subject: [PATCH 3/4] Break apart backend plugins & clarify indexer/plugin relationship. --- docs/assets/search/architecture.drawio.svg | 71 ++++++++++++++-------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/docs/assets/search/architecture.drawio.svg b/docs/assets/search/architecture.drawio.svg index af04ab63e8..a624a375e1 100644 --- a/docs/assets/search/architecture.drawio.svg +++ b/docs/assets/search/architecture.drawio.svg @@ -1,13 +1,13 @@ - + - + - + @@ -66,24 +66,26 @@ - + -
-
+
+
- @backstage/plugin-search-backend + @backstage/ +
+ plugin-search-backend
- - @backstage/plugin-search-backend + + @backstage/... - + @@ -138,9 +140,9 @@ - - - + + + @@ -266,7 +268,7 @@ -
+
Pass Search @@ -280,7 +282,7 @@
- + Pass Search... @@ -352,8 +354,8 @@
- - Gather Documents + + Gather Documents From Plugins
@@ -366,7 +368,7 @@ - + @@ -375,16 +377,14 @@
- Collate Documents -
- Or Metadata + Register Document / Metadata Collation Handler(s)
- Collate Docum... + Register Docu... @@ -427,11 +427,11 @@
- + -
+
@@ -441,7 +441,7 @@
- + Index Processi... @@ -529,10 +529,29 @@ + + + + +
+
+
+ @backstage/ +
+ plugin-search-indexer +
+
+
+
+ + @backstage/... + +
+
- + Viewer does not support full SVG 1.1 From 11e5ebbb60d1beb6e7a6e4eb558cf902378f6042 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 10 Feb 2021 16:42:38 +0100 Subject: [PATCH 4/4] Own it. --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9a5ef09554..371fae6e6b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -7,6 +7,7 @@ * @backstage/maintainers /docs/features/techdocs @backstage/techdocs-core /docs/features/search @backstage/techdocs-core +/docs/assets/search @backstage/techdocs-core /plugins/cost-insights @backstage/silver-lining /plugins/cloudbuild @trivago/ebarrios /plugins/search @backstage/techdocs-core