Commit graph

216 commits

Author SHA1 Message Date
1e0fa7279f
chore: apply clippy lints 2022-11-15 18:09:34 +05:30
b07f076634
feat: read config from repository on every deploy and deployment update 2022-11-12 15:51:53 +05:30
2d9d511bb8
feat: read configuration from repositories
ref: #8
2022-11-12 15:51:34 +05:30
ccb0ac9d09
feat: test util: accept custom filename and content in write_file_util 2022-11-12 15:50:55 +05:30
3c3ff0f8a7
feat: report 404 when file not found in Git repo 2022-11-12 14:27:05 +05:30
3a961bc524
feat: add tracing log identifier to each HTTP route handler 2022-11-11 15:37:33 +05:30
0b2db58483
feat: replace log crate with tracing 2022-11-11 14:56:36 +05:30
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
ed68b4570c
feat: auto assign default deployment hostnames using crate::subdomains
utils
2022-11-10 17:35:48 +05:30
30be3a293d
feat: use settings.page.base_domain to generate default deployment hostname 2022-11-10 17:34:21 +05:30
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
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
926cf3fe08
fix: CI: install node and sass in coverage workflow 2022-11-10 16:30:02 +05:30
79a8b6586c
feat: rm loading pages from settings and rely on DB. Propagate changes
across codebase
2022-11-10 16:26:19 +05:30
4d7d2fd359
feat: controllers for adding and updating sites 2022-11-10 16:25:37 +05:30
e5450801c1
feat: add DB method to check if hostname exists 2022-11-10 16:19:28 +05:30
74a33cf044
feat: test utils to add site 2022-11-10 16:18:52 +05:30
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
8aa736da27
fix: use ServiceError::WebsiteNotFound for site related DB operations 2022-11-10 15:23:30 +05:30
c86ca3467f
feat: website FS path construction utility 2022-11-09 14:45:37 +05:30
ec7d698252
feat: db: get_site_from_secret for API authentication 2022-11-09 14:45:25 +05:30
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
71533b9860
feat: db: add, rm, list and get site 2022-11-09 14:07:45 +05:30
c055cb30fd
feat: link to project homepage in footer 2022-11-09 13:32:21 +05:30
1b9e1215c9
feat: bootstrap dashboard homepage 2022-11-09 13:32:06 +05:30
d9fc1b8533
feat: bootstrap homepage for unauthenticated visitors 2022-11-09 13:31:15 +05:30
d994400ff1
feat: speed up DB migrations sub cmd 2022-09-21 18:01:04 +05:30
7a8808f95c
feat: process static files when building docker img 2022-09-16 18:28:25 +05:30
ba85626969
feat: cache bust before applying db migrations 2022-09-16 18:28:01 +05:30
2e32f298df
feat: setup sass compilation on CI 2022-09-16 17:42:27 +05:30
0bf5a35673
feat: login and join HTML pages 2022-09-16 17:41:39 +05:30
a1caff7538
feat: setup sass compilation 2022-09-16 17:41:11 +05:30
0020deceea
feat: setup cache busting of static assets 2022-09-16 17:40:49 +05:30
928700bb54
feat: setup static files embedding and serving 2022-09-16 17:39:56 +05:30
0d107609b3
feat: mv routes into main and extract serve from api services 2022-09-16 17:39:37 +05:30
1ada27924e
feat: add support email config param 2022-09-16 14:49:13 +05:30
04d7f872d5
feat: auth and account management API 2022-09-16 13:24:30 +05:30
7185bac60b
feat: auth and account management 2022-09-16 13:23:06 +05:30
b7bceddac8
feat: make: serve on default 2022-09-16 13:22:45 +05:30
90dabb206d
feat: init settings in main fn 2022-09-16 13:22:29 +05:30
e3996134e4
chore: refactor: use api::v1::services and tests::get_ctx 2022-09-12 01:39:37 +05:30
94702b81b0
feat: load actix-identity middleware 2022-09-12 01:39:11 +05:30
6451055e2b
feat: argon2_creds error handlling 2022-09-12 00:24:24 +05:30
45073bb1a4
feat: add registration flag 2022-09-12 00:23:38 +05:30
d80274712d
feat: add health endpoint 2022-09-12 00:23:19 +05:30
4e860fc253
feat: add random string gen util 2022-09-12 00:23:09 +05:30
d8f2f82ab4
fix: expose update_* db methods 2022-09-12 00:22:56 +05:30
f3fe356a88
fix: CI: use : instead of = in yml 2022-09-10 20:12:37 +05:30
a0e93f0287
feat: auth db ops 2022-09-10 20:08:59 +05:30
5df38a9b3f
feat: imple CLI to migrate and serve 2022-09-10 19:29:37 +05:30