Commit Graph

151 Commits

Author SHA1 Message Date
github-actions[bot] c5584b62c2 Version Packages 2021-01-21 13:13:05 +00:00
Matei David a5e27d5c1d Introduce techdocs metadata in techdocs-common
* Add TechdocsMetadata type in backend plugin endpoint
 * Introduce TechDocsMetadata type in frontend
 * Add changeset
 * Remove old thennable metadata resp
 * Address PR feedback
  - Remove explicit type annotation on TechDocsMetadata
  - Reintroduce res.send instead of throwing an error
  - Change logger info to logger error
 * Add TechDocsMetadata type in frontend plugin
 * Commit yarn.lock
 * Introduce JSON5 and remove parsing in local pub
Signed-off-by: Matei David <matei.david.35@gmail.com>
2021-01-16 18:33:53 +00:00
Himanshu Mishra e2030972fc Merge pull request #4062 from backstage/orkohunter/use-urlreader-in-techdocs 2021-01-15 13:12:45 +01:00
github-actions[bot] be332e13ea Version Packages 2021-01-14 13:05:31 +00:00
Himanshu Mishra dc33c51890 TechDocs: Use URL Reader in the out-of-the-box experience
It is time to start using URL Reader for the exmaple docs components we provide in the out-of-the-box experience (i.e. when users experience TechDocs by doing a git clone of this repository).

URL Reader makes the prepare step 8x faster.
2021-01-13 21:38:26 +01:00
Himanshu Mishra cb7af51e73 techdocs: cache docs site when built using urlReader for 30 minutes
This caching makes it usable experience, so that docs are not built on every load.
In future readTree will support a method to fetch the timestamp of the latest HEAD. And
it should be used to invalidate the cache.
2021-01-13 21:09:44 +01:00
Himanshu Mishra 2165901c00 TechDocs: Generator now requires input and output directory and does not create them
The creation of temporary directories and their clean up should be handled on its own. techdocs-cli already has a fixed input output dir requirement. It makes that generator accepts these values as requirements.
2021-01-11 22:33:10 +01:00
github-actions[bot] 28d7f319f4 Version Packages 2021-01-07 10:31:20 +00:00
Remi b9e6d305e2 fix(techdocs): typos + add tests + requested changes 2020-12-30 10:25:57 +01:00
Remi c4fcd8b180 feat(techdocs-backend): add awsS3 2020-12-30 10:22:12 +01:00
github-actions[bot] a1ebbdeee0 Version Packages 2020-12-29 10:59:38 +00:00
Himanshu Mishra c91e4d6b04 techdocs: Use @backstage/integration for scm tokens and request options 2020-12-28 21:08:54 +01:00
Himanshu Mishra bd3bc94ff8 Merge pull request #3799 from keshann93/plugins/techdocs 2020-12-28 20:52:53 +01:00
github-actions[bot] c3c04658f2 Version Packages 2020-12-22 12:14:20 +00:00
Himanshu Mishra 82f241f90c Merge pull request #3764 from backstage/orkohunter/techdocs-backend-refactor-factory-methods 2020-12-21 19:10:38 +01:00
keshan 23cee0d831 typo corrected 2020-12-21 16:33:39 +05:30
keshan e53d4a2ca8 updated based on the feedbacks provided 2020-12-21 16:26:58 +05:30
keshan 359f9d2d8c Introduced config schema for techdocs plugins 2020-12-21 16:26:57 +05:30
Himanshu Mishra 2ac77aeec2 techdocs-backend: Remove individual preparers and generators from app backend, to use factory methods
When a new Backstage app is setup, the techdocs backend file contains all the preparers (dir, github, gitlab, etc.) and same for generators. While this providers added customizibility, it comes with a cost of complexity in setting up the app backend. New preparers' updates would need users to update their app's techdocs backend file.

Scaffolder backend has already moved to this proposed pattern.
2020-12-17 11:33:56 +01:00
github-actions[bot] 6e9f4d4a15 Version Packages 2020-12-17 10:16:33 +00:00
Patrik Oldsberg 1da7d2c657 plugins,packages: replace usages of ConfigReader.from 2020-12-15 19:04:50 +01:00
Himanshu Mishra 15d23c004e Merge remote-tracking branch 'origin/master' into orkohunter/techdocs-publish-to-cloud-storage 2020-12-10 21:12:31 +01:00
github-actions[bot] cf187484bf Version Packages 2020-12-10 11:25:39 +00:00
Himanshu Mishra ac88ca2038 Merge branch 'master' into orkohunter/techdocs-publish-to-cloud-storage 2020-12-09 20:17:06 +01:00
Himanshu Mishra 24bcdd0829 techdocs: Use googleGcs for publisher type instead of google_gcs 2020-12-09 18:58:12 +01:00
Himanshu Mishra 9bd130a73a techdocs: Use 'local' and 'external' for alternatives for techdocs.builder config
Co-authored-by: freben <freben@gmail.com>
2020-12-09 12:31:40 +01:00
Frieder Bluemle cbd3a44c09 Fix typos (#3646) 2020-12-09 07:50:41 +01:00
Adam Harvey 8b395bee26 Add standard NPM metadata 2020-12-08 13:42:23 -05:00
David Tuite 03e264519a Fix techdocs for url locations (#3589)
Pasting a URL like `https://github.com/RoadieHQ/sample-service/blob/master/catalog-info-1.yaml`
into the Register Existing Component input creates an Entity with the
the `backstage.io/managed-by-location` annotation set to the `type` of
`url.

The TechDocs perparer does not handle this type.

```ts
    switch (type) {
      case 'github':
      case 'gitlab':
      case 'azure/api': {
        // ...
      }

      case 'file':
        // ...
      default:
        throw new InputError(`Unable to resolve location type ${type}`);
    }
  }
```

Thus, docs are never generated and we see the following error when
trying to view then in Backstage.

```
InputError: Unable to resolve location type url at DirectoryPreparer.resolveManagedByLocationToDir (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/techdocs/stages/prepare/dir.ts:63:15) at DirectoryPreparer.prepare (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/techdocs/stages/prepare/dir.ts:73:51) at DocsBuilder.build (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/service/helpers.ts:74:45) at eval (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/service/router.ts:141:25) at processTicksAndRejections (internal/process/task_queues.js:93:5)
```

This may not be the correct solution. An alternative solution would be
to ensure that pasted URLs end up with the `type` of `github` rather
than `url`.
2020-12-07 11:46:40 +01:00
Himanshu Mishra 372160ede5 Update README of all three techdocs packages/plugins 2020-12-05 18:07:50 +01:00
Himanshu Mishra ff3dd9c02b create-app: Add new techdocs default configs 2020-12-05 11:13:27 +01:00
Himanshu Mishra a212e43142 techdocs: Add JSON Schema config
Show better error if techdocs.builder is set to 'ci' and if no docs are found.
Return 404 from googleStorage client when a file is not found.
2020-12-05 10:48:54 +01:00
Himanshu Mishra c91fd25a53 techdocs-backend: Fix logic to determine if docs have been published 2020-12-04 22:37:14 +01:00
Himanshu Mishra 07e7c201e8 techdocs-backend: Wait for some time before published files show up in storage 2020-12-04 22:01:45 +01:00
Himanshu Mishra 8ffbbcee59 Merge remote-tracking branch 'origin/master' into orkohunter/techdocs-publish-to-cloud-storage 2020-12-04 19:51:01 +01:00
Joel Low 1e22f8e0b8 Fix conflicting dockerode version specifications 2020-12-04 16:45:15 +08:00
Himanshu Mishra f0bfd369b3 Merge remote-tracking branch 'origin/master' into orkohunter/techdocs-publish-to-cloud-storage 2020-12-03 22:53:45 +01:00
Himanshu Mishra 084670b37a Google Cloud Storage working with TechDocs (publish and fetch)
Plus
1. Introduce ncessary configs to connect with storage
2. Introduce config to prefer CI build of docs, or techdocs-backend to build and publish them.
3. Write guide how to use Google Cloud Storage with TechDocs
4. Add a TechDocs Configuration reference page in docucmentation
2020-12-03 22:40:15 +01:00
github-actions[bot] 01aa774d9a Version Packages 2020-12-03 15:28:22 +00:00
Sebastian Qvarfordt eeecfbf4a6 Cache techdocs build using UrlReader (#3551)
* Better caching is coming when some backstage core features are in place. Currently let's just cache it for 30 minutes

* Fixed prettier
2020-12-03 15:00:03 +01:00
Himanshu Mishra e09cff1682 Abstract Publisher APIs from the router
1. Move fetchMetadata and serve static files to local publisher
2. Create factory class to create publishers based on app cofig
2020-12-02 13:05:44 +01:00
Himanshu Mishra 64737f447a App/Backend should import techdocs plugin only, not common package
If a backstage App wants to enable techdocs plugin, it should only have to care about installing @backstage/plugin-techdocs and @backstage/plugin-techdocs-backend.
@backstage/plugin-techdocs-backend should re-export necessary APIs from techdocs-common
2020-12-01 20:48:58 +01:00
Himanshu Mishra 7481601883 techdocs-backend: Add non-zero tests for the CI to pass 2020-12-01 20:48:58 +01:00
Himanshu Mishra ff348df9fe techdocs-common: Initialize package and move common code from techdocs-backend 2020-12-01 20:48:58 +01:00
Himanshu Mishra 9ebc897351 TechDocs: Refactor Publisher to pave way for external publishers 2020-12-01 20:48:58 +01:00
Himanshu Mishra 21f86aa478 Merge pull request #3337 from adrianke77/master 2020-12-01 09:48:02 +01:00
Chongyang Adrian, Ke ae95c7ff3e techdocs-backend: update Gitlab clone auth 2020-12-01 10:18:33 +08:00
github-actions[bot] 892645b815 Version Packages 2020-11-27 12:51:09 +00:00
Himanshu Mishra dbca620ff9 Use fs-extra and async file read method 2020-11-26 20:41:40 +01:00
Himanshu Mishra 4b53294a6c TechDocs: Update mkdocs.yml with repo_url when possible before building docs 2020-11-26 10:55:38 +01:00