Commit Graph

111 Commits

Author SHA1 Message Date
Aravinth Manivannan 3a961bc524
feat: add tracing log identifier to each HTTP route handler 2022-11-11 15:37:33 +05:30
Aravinth Manivannan 0b2db58483
feat: replace log crate with tracing 2022-11-11 14:56:36 +05:30
Aravinth Manivannan 58bb606879
feat: serve requests on auto-assigned default deployment hostnames
TODO: serving custom domain requests are not yet implemented
2022-11-10 17:36:01 +05:30
Aravinth Manivannan ed68b4570c
feat: auto assign default deployment hostnames using crate::subdomains
utils
2022-11-10 17:35:48 +05:30
Aravinth Manivannan 30be3a293d
feat: use settings.page.base_domain to generate default deployment hostname 2022-11-10 17:34:21 +05:30
Aravinth Manivannan dd38dd05d1
feat: add base_path to settings to specify deploy host name.
DESCRIPTION
    Each deployment should have a default hostname before a custom
    domain can be assigned. Therefore, this domain must be in control of
    the Librepages system (Librepages/conductor, namely)

SECURITY
    base_domain must be different from the domains hosting confidential
    information (authentication systems, PII data, etc.) to make use of
    browser domain sandboxing safety. If Librepages deployment is open
    to the public, unaudited, third-party content may be hosted in this
    domain, so it is very important that this domain shouldn't be used
    for critical infrastructure dealing with confidential information.
2022-11-10 17:19:35 +05:30
Aravinth Manivannan 344cc85935
feat: construct random subdomains from wordlists.
SUMMARY
    Using data 1) and approach 2) mentioned here[0]

[0]: #5 (comment)
2022-11-10 17:02:41 +05:30
Aravinth Manivannan 926cf3fe08
fix: CI: install node and sass in coverage workflow 2022-11-10 16:30:02 +05:30
Aravinth Manivannan 79a8b6586c
feat: rm loading pages from settings and rely on DB. Propagate changes
across codebase
2022-11-10 16:26:19 +05:30
Aravinth Manivannan 4d7d2fd359
feat: controllers for adding and updating sites 2022-11-10 16:25:37 +05:30
Aravinth Manivannan e5450801c1
feat: add DB method to check if hostname exists 2022-11-10 16:19:28 +05:30
Aravinth Manivannan 74a33cf044
feat: test utils to add site 2022-11-10 16:18:52 +05:30
Aravinth Manivannan 7fb29e0d7a
fix: rm unique constraint on librepages_sites.repo_url
DESCRIPTION
    A repository might have several deployments. So unique repo_urls
    don't make any sense.
2022-11-10 16:11:56 +05:30
Aravinth Manivannan 8aa736da27
fix: use ServiceError::WebsiteNotFound for site related DB operations 2022-11-10 15:23:30 +05:30
Aravinth Manivannan c86ca3467f
feat: website FS path construction utility 2022-11-09 14:45:37 +05:30
Aravinth Manivannan ec7d698252
feat: db: get_site_from_secret for API authentication 2022-11-09 14:45:25 +05:30
Aravinth Manivannan 76692109bc
feat: add Settings.pages.base_path to store website content
DIRECTORY STRUCTURE:
    Settings.pages.base_path > page.hostname
2022-11-09 14:20:56 +05:30
Aravinth Manivannan 71533b9860
feat: db: add, rm, list and get site 2022-11-09 14:07:45 +05:30
Aravinth Manivannan c055cb30fd
feat: link to project homepage in footer 2022-11-09 13:32:21 +05:30
Aravinth Manivannan 1b9e1215c9
feat: bootstrap dashboard homepage 2022-11-09 13:32:06 +05:30
Aravinth Manivannan d9fc1b8533
feat: bootstrap homepage for unauthenticated visitors 2022-11-09 13:31:15 +05:30
Aravinth Manivannan d994400ff1
feat: speed up DB migrations sub cmd 2022-09-21 18:01:04 +05:30
Aravinth Manivannan 7a8808f95c
feat: process static files when building docker img 2022-09-16 18:28:25 +05:30
Aravinth Manivannan ba85626969
feat: cache bust before applying db migrations 2022-09-16 18:28:01 +05:30
Aravinth Manivannan 2e32f298df
feat: setup sass compilation on CI 2022-09-16 17:42:27 +05:30
Aravinth Manivannan 0bf5a35673
feat: login and join HTML pages 2022-09-16 17:41:39 +05:30
Aravinth Manivannan a1caff7538
feat: setup sass compilation 2022-09-16 17:41:11 +05:30
Aravinth Manivannan 0020deceea
feat: setup cache busting of static assets 2022-09-16 17:40:49 +05:30
Aravinth Manivannan 928700bb54
feat: setup static files embedding and serving 2022-09-16 17:39:56 +05:30
Aravinth Manivannan 0d107609b3
feat: mv routes into main and extract serve from api services 2022-09-16 17:39:37 +05:30
Aravinth Manivannan 1ada27924e
feat: add support email config param 2022-09-16 14:49:13 +05:30
Aravinth Manivannan 04d7f872d5
feat: auth and account management API 2022-09-16 13:24:30 +05:30
Aravinth Manivannan 7185bac60b
feat: auth and account management 2022-09-16 13:23:06 +05:30
Aravinth Manivannan b7bceddac8
feat: make: serve on default 2022-09-16 13:22:45 +05:30
Aravinth Manivannan 90dabb206d
feat: init settings in main fn 2022-09-16 13:22:29 +05:30
Aravinth Manivannan e3996134e4
chore: refactor: use api::v1::services and tests::get_ctx 2022-09-12 01:39:37 +05:30
Aravinth Manivannan 94702b81b0
feat: load actix-identity middleware 2022-09-12 01:39:11 +05:30
Aravinth Manivannan 6451055e2b
feat: argon2_creds error handlling 2022-09-12 00:24:24 +05:30
Aravinth Manivannan 45073bb1a4
feat: add registration flag 2022-09-12 00:23:38 +05:30
Aravinth Manivannan d80274712d
feat: add health endpoint 2022-09-12 00:23:19 +05:30
Aravinth Manivannan 4e860fc253
feat: add random string gen util 2022-09-12 00:23:09 +05:30
Aravinth Manivannan d8f2f82ab4
fix: expose update_* db methods 2022-09-12 00:22:56 +05:30
Aravinth Manivannan f3fe356a88
fix: CI: use `:` instead of `=` in yml 2022-09-10 20:12:37 +05:30
Aravinth Manivannan a0e93f0287
feat: auth db ops 2022-09-10 20:08:59 +05:30
Aravinth Manivannan 5df38a9b3f
feat: imple CLI to migrate and serve 2022-09-10 19:29:37 +05:30
Aravinth Manivannan 6e38497bbb
feat: setup CI with database service 2022-09-10 19:29:22 +05:30
Aravinth Manivannan 8150aa9ca1
feat: init and load db 2022-09-10 19:21:49 +05:30
Aravinth Manivannan 086c4f5911
feat: replace my_codegen with actix_web_codegen_const_routes 2022-09-10 18:31:05 +05:30
Aravinth Manivannan d6fc9ad67f
feat: only publish docker img on master 2022-09-08 01:01:54 +05:30
Aravinth Manivannan c51df7daf2
feat: serve previews 2022-09-08 00:59:47 +05:30