Compare commits
7 commits
5a746dd7b2
...
e72fa092fb
Author | SHA1 | Date | |
---|---|---|---|
e72fa092fb | |||
f1fd63d13a | |||
f0f36f1e3f | |||
0ee664f6d0 | |||
59162c8c13 | |||
c3309d737f | |||
0b210c0d1f |
6 changed files with 92 additions and 7 deletions
|
@ -16,6 +16,7 @@ async fn main() -> anyhow::Result<std::convert::Infallible> {
|
|||
|
||||
log::trace!("Creating Axum router...");
|
||||
let app = axum::Router::new()
|
||||
.route("/.healthcheck", axum::routing::get(route::healthcheck_handler))
|
||||
.layer(Extension(Arc::new(mj)));
|
||||
log::trace!("Axum router created successfully!");
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
use axum::http::StatusCode;
|
||||
use acrate_database::connect::connect_async;
|
||||
|
||||
pub async fn healthcheck_handler() -> Result<StatusCode, StatusCode> {
|
||||
log::debug!("Handling an healthcheck request!");
|
||||
|
||||
log::trace!("Making sure the database is up...");
|
||||
let _conn = connect_async()
|
||||
.await
|
||||
.map_err(|_| StatusCode::BAD_GATEWAY)?;
|
||||
|
||||
log::trace!("Healthcheck successful! Everything's fine!");
|
||||
Ok(StatusCode::NO_CONTENT)
|
||||
}
|
|
@ -30,3 +30,12 @@ COPY --from=rdserver_build /usr/src/acrate/target/release/acrate_rdserver /usr/l
|
|||
ENTRYPOINT ["acrate_rdserver"]
|
||||
HEALTHCHECK CMD ["curl", "http://127.0.0.1/.healthcheck"]
|
||||
ENV RUST_LOG="warn,acrate_rdserver=info"
|
||||
|
||||
FROM base_builder AS apub_inbox_build
|
||||
RUN cargo build --release --package=acrate_apub_inbox --bin=acrate_apub_inbox
|
||||
|
||||
FROM base_runner AS apub_inbox
|
||||
COPY --from=apub_inbox_build /usr/src/acrate/target/release/acrate_apub_inbox /usr/local/bin/acrate_apub_inbox
|
||||
ENTRYPOINT ["acrate_apub_inbox"]
|
||||
HEALTHCHECK CMD ["curl", "http://127.0.0.1/.healthcheck"]
|
||||
ENV RUST_LOG="warn,acrate_apub_inbox=info"
|
||||
|
|
|
@ -51,12 +51,6 @@ services:
|
|||
- type: "volume"
|
||||
source: "postgres_data"
|
||||
target: "/var/lib/postgresql/data"
|
||||
ports:
|
||||
# FIXME: for development purposes only
|
||||
- protocol: "tcp"
|
||||
host_ip: "127.0.0.1"
|
||||
target: 5432
|
||||
published: 5432
|
||||
expose:
|
||||
- 5432
|
||||
healthcheck:
|
||||
|
@ -84,7 +78,26 @@ services:
|
|||
target: "rdserver"
|
||||
restart: "unless-stopped"
|
||||
environment:
|
||||
ACRATE_WEBFINGER_BIND_ADDRESS: "0.0.0.0:80"
|
||||
ACRATE_RDSERVER_BIND_ADDRESS: "0.0.0.0:80"
|
||||
ACRATE_DATABASE_URL: *database_url
|
||||
expose:
|
||||
- 80
|
||||
depends_on:
|
||||
database:
|
||||
condition: "service_healthy"
|
||||
migrate:
|
||||
condition: "service_completed_successfully"
|
||||
|
||||
# ActivityPub inbox server
|
||||
apub_inbox:
|
||||
build:
|
||||
dockerfile: "./Dockerfile"
|
||||
additional_contexts:
|
||||
- "source=.."
|
||||
target: "apub_inbox"
|
||||
restart: "unless-stopped"
|
||||
environment:
|
||||
ACRATE_APUB_INBOX_BIND_ADDRESS: "0.0.0.0:80"
|
||||
ACRATE_DATABASE_URL: *database_url
|
||||
expose:
|
||||
- 80
|
||||
|
|
|
@ -13,4 +13,22 @@
|
|||
health_uri "/.healthcheck"
|
||||
health_status "204"
|
||||
}
|
||||
|
||||
@inbox {
|
||||
path "/inbox"
|
||||
}
|
||||
|
||||
reverse_proxy @inbox {
|
||||
to "http://inbox"
|
||||
|
||||
health_uri "/.healthcheck"
|
||||
health_status "204"
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
admin {
|
||||
origins "127.0.0.1"
|
||||
enforce_origin
|
||||
}
|
||||
}
|
||||
|
|
30
acrate_docker/debug.compose.yml
Normal file
30
acrate_docker/debug.compose.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Docker Compose file to be merged with compose.yml to expose service ports to localhost for debugging purposes
|
||||
|
||||
services:
|
||||
ingress:
|
||||
ports:
|
||||
- protocol: "tcp"
|
||||
host_ip: "127.0.0.1"
|
||||
target: 30000
|
||||
published: 2019
|
||||
|
||||
database:
|
||||
ports:
|
||||
- protocol: "tcp"
|
||||
host_ip: "127.0.0.1"
|
||||
target: 30001
|
||||
published: 5432
|
||||
|
||||
rdserver:
|
||||
ports:
|
||||
- protocol: "tcp"
|
||||
host_ip: "127.0.0.1"
|
||||
target: 30002
|
||||
published: 80
|
||||
|
||||
apub_inbox:
|
||||
ports:
|
||||
- protocol: "tcp"
|
||||
host_ip: "127.0.0.1"
|
||||
target: 30003
|
||||
published: 80
|
Loading…
Reference in a new issue