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
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
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
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
0bf5a35673
feat: login and join HTML pages
2022-09-16 17:41:39 +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
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
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
8150aa9ca1
feat: init and load db
2022-09-10 19:21:49 +05:30
086c4f5911
feat: replace my_codegen with actix_web_codegen_const_routes
2022-09-10 18:31:05 +05:30
c51df7daf2
feat: serve previews
2022-09-08 00:59:47 +05:30
4d136f2407
feat: update customer specified branch
2022-09-08 00:59:39 +05:30
af76be0e40
feat: preview subdomain identifier extractor
2022-09-08 00:59:02 +05:30
313264a5e1
feat: read files off of preview branches
2022-09-08 00:58:27 +05:30
53bd8c54bb
feat: serve files from git repository
2022-09-07 10:29:35 +05:30
0fff342913
feat: read files from git repository
2022-09-07 10:28:53 +05:30
b1ce2549bf
chore: clippy lints
2022-09-07 10:28:26 +05:30
d676599bf5
feat: add server domain parameter
2022-09-07 01:58:25 +05:30
56de3990b8
fix: page update with merge analysis
2022-08-15 19:34:26 +05:30
63967d4074
feat: add deploy information endpoint and tests
2022-04-27 14:36:40 +05:30
46c88b74c7
fix: return tmp dir in context creation test util to prolong
...
auto-cleanup
DESCRIPTION
> Once the variable goes out of scope, the underlying file system resource is removed.
https://docs.rs/mktemp/latest/mktemp/
Return mktemp::Temp instance created to prolong lifetime and
postpone auto-cleanup via Drop until the test suite runs to
completion
2022-04-27 14:34:35 +05:30
101234e300
chore: convert check_status into macro to satisfy borrow checker
2022-04-27 13:47:46 +05:30
a787a48d41
feat: add methods to get current state of repositories
2022-04-27 13:47:21 +05:30
e757e52582
chore: tests-compatible logging and abstract repo initialization in settings
2022-04-27 11:50:06 +05:30
58e928eeda
feat: test utils init separate tmp dirs for deployed pages and assert status codes
2022-04-27 11:49:52 +05:30
68d63bba07
chore: load app settings via app ctx and do away with global static loader
2022-04-27 10:52:24 +05:30
624646f836
feat: add test utils
2022-04-27 10:51:39 +05:30
b758042836
feat: handle Git errors
2022-04-26 20:13:23 +05:30
eb87453bd1
feat: handle errors in deploy endpoint
2022-04-26 19:56:59 +05:30
4b43c4ed3d
fix: rename AccountNotFound to WebsiteNotFound
2022-04-26 19:56:31 +05:30
aa9cffd4cb
feat: setup error handling
2022-04-26 19:39:05 +05:30
325d110e9a
feat: switch to user configured branch even when configuration is changed
...
DESCRIPTION
Branch switching wasn't possible in earlier versions. If user deploys
"master" branch first and then wants to switch to "pages" branch, they
would have to delete the Pages-managed copy of the repository to
re-initialize the repository.
This patch introduces changes to switch to user configured branch on
startup and at each repository update.
2022-04-09 11:04:44 +05:30
55b7bf92bb
fix: set logging env var if unset
2022-03-29 19:16:38 +05:30
1fe29fd9b2
fix: config loading order
2022-03-29 19:05:31 +05:30
c6f9cb7ac1
chore: update dep: config
2022-03-29 18:13:26 +05:30
c76b351198
chore: improve git workflow testing
2022-03-29 18:02:32 +05:30
3c40a32fba
feat: expose source code url in build details meta endpoint
2022-03-29 17:38:29 +05:30
da98218d31
chore: update copyright notice
2022-03-29 17:36:22 +05:30
8b075a66fd
fix: get rid of useless configuraiton options
2022-03-29 17:35:44 +05:30
837c3fd3e0
chore: address clippy lints
2022-03-29 16:56:06 +05:30
ef424cf070
make repository updates non-blocking
2021-10-30 15:37:24 +05:30
8cd9f0030d
configurable workers
...
This server will only see occasional traffic so it makes sense to spawn
only limited number of workers as opposed to spawning one worker/thread,
which is the default behavior.
I recommend at least two workers.
2021-10-30 15:30:38 +05:30
954ac6c578
routes:
...
- get build metadata
- authenticate and update repository with branch configuration
2021-10-29 20:23:07 +05:30