browsertrix/frontend
Ilya Kreymer 544346d1d4
backend: make crawlconfigs mutable! (#656) (#662)
* backend: make crawlconfigs mutable! (#656)
- crawlconfig PATCH /{id} can now receive a new JSON config to replace the old one (in addition to scale, schedule, tags)
- exclusions: add / remove APIs mutate the current crawlconfig, do not result in a new crawlconfig created
- exclusions: ensure crawl job 'config' is updated when exclusions are added/removed, unify add/remove exclusions on crawl
- k8s: crawlconfig json is updated along with scale
- k8s: stateful set is restarted by updating annotation, instead of changing template
- crawl object: now has 'config', as well as 'profileid', 'schedule', 'crawlTimeout', 'jobType' properties to ensure anything that is changeable is stored on the crawl
- crawlconfigcore: store share properties between crawl and crawlconfig in new crawlconfigcore (includes 'schedule', 'jobType', 'config', 'profileid', 'schedule', 'crawlTimeout', 'tags', 'oid')
- crawlconfig object: remove 'oldId', 'newId', disallow deactivating/deleting while crawl is running
- rename 'userid' -> 'createdBy'
- remove unused 'completions' field
- add missing return to fix /run response
- crawlout: ensure 'profileName' is resolved on CrawlOut from profileid
- crawlout: return 'name' instead of 'configName' for consistent response
- update: 'modified', 'modifiedBy' fields to set modification date and user modifying config
- update: ensure PROFILE_FILENAME is updated in configmap is profileid provided, clear if profileid==""
- update: return 'settings_changed' and 'metadata_changed' if either crawl settings or metadata changed
- tests: update tests to check settings_changed/metadata_changed return values

add revision tracking to crawlconfig:
- store each revision separate mongo db collection
- revisions accessible via /crawlconfigs/{cid}/revs
- store 'rev' int in crawlconfig and in crawljob
- only add revision history if crawl config changed

migration:
- update to db v3
- copy fields from crawlconfig -> crawl
- rename userid -> createdBy
- copy userid -> modifiedBy, created -> modified
- skip invalid crawls (missing config), make createdBy optional (just in case)

frontend: Update crawl config keys with new API (#681), update frontend to use new PATCH endpoint, load config from crawl object in details view

---------

Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
Co-authored-by: sua yoo <sua@webrecorder.org>
Co-authored-by: sua yoo <sua@suayoo.com>
2023-03-07 20:36:50 -08:00
..
.husky Run frontend formatter on pre-commit hook (#461) 2023-01-12 14:04:15 -08:00
.vscode Add all localization files to source control (#502) 2023-01-18 14:49:38 -08:00
assets
src backend: make crawlconfigs mutable! (#656) (#662) 2023-03-07 20:36:50 -08:00
xliff Add all localization files to source control (#502) 2023-01-18 14:49:38 -08:00
.dockerignore
.editorconfig chore: add editorconfig in frontend 2023-02-24 13:04:11 -08:00
.gitignore Add all localization files to source control (#502) 2023-01-18 14:49:38 -08:00
.prettierignore Add all localization files to source control (#502) 2023-01-18 14:49:38 -08:00
00-browsertrix-nginx-init.sh Local Deployment Work: Support running locally + test cluster on CI (#396) 2022-12-02 19:58:34 -08:00
Dockerfile build: increase network timeout for yarn for frontend build for arm64 build (#401) 2022-12-06 10:19:27 -08:00
frontend.conf.template health readiness check: add /healthz endpoint for nginx readiness check, set failure threshold to 3 (similar to ingress) (#562) 2023-02-06 15:08:05 -08:00
index.d.ts Highlight regular expression syntax in Exclusions Table (#341) 2022-11-01 15:31:01 -07:00
lit-localize.json
minio.conf Local Deployment Work: Support running locally + test cluster on CI (#396) 2022-12-02 19:58:34 -08:00
package.json version: bump version to 1.4.0-beta.0 2023-03-06 10:20:56 -08:00
postcss.config.js
sample.env.local
tailwind.config.js New create crawl config user workflow (#391) 2022-12-12 13:50:33 -08:00
tsconfig.json
web-test-runner.config.mjs test: add shoelace form utility to import map 2023-02-07 13:58:14 -08:00
webpack.config.js VNC-Based Profile Browser (#433) 2023-01-10 14:42:42 -08:00
webpack.dev.js VNC-Based Profile Browser (#433) 2023-01-10 14:42:42 -08:00
webpack.prod.js VNC-Based Profile Browser (#433) 2023-01-10 14:42:42 -08:00
yarn.lock Update crawls list styles (#630) 2023-02-24 17:36:34 -08:00