Compare commits
2 Commits
2a7c8f0ff2
...
b8c1dc5958
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b8c1dc5958 | ||
|
|
4e2a39a5c0 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -26,3 +26,4 @@ yarn.lock
|
|||||||
.gemini
|
.gemini
|
||||||
.omg
|
.omg
|
||||||
/.sqry
|
/.sqry
|
||||||
|
deploy/.server.yaml
|
||||||
@ -111,6 +111,7 @@ impl Reconciler {
|
|||||||
/// The Secret watcher stores the cert at key `tls:<secretName>`.
|
/// The Secret watcher stores the cert at key `tls:<secretName>`.
|
||||||
/// We already map secretName → host in ingress_watcher, so this is a no-op
|
/// We already map secretName → host in ingress_watcher, so this is a no-op
|
||||||
/// when the ingress_watcher uses correct key mapping.
|
/// when the ingress_watcher uses correct key mapping.
|
||||||
|
#[allow(dead_code)]
|
||||||
pub fn cross_reference_tls(&self) -> HashMap<String, TlsCert> {
|
pub fn cross_reference_tls(&self) -> HashMap<String, TlsCert> {
|
||||||
let mut host_certs: HashMap<String, TlsCert> = HashMap::new();
|
let mut host_certs: HashMap<String, TlsCert> = HashMap::new();
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
RUN useradd --system --create-home appuser
|
RUN useradd --system --create-home appuser
|
||||||
WORKDIR /home/appuser
|
WORKDIR /home/appuser
|
||||||
COPY target/release/app /bin
|
COPY ./target/release/app /bin
|
||||||
USER appuser
|
USER appuser
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
CMD ["app"]
|
CMD ["app"]
|
||||||
@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
RUN useradd --system --create-home appuser
|
RUN useradd --system --create-home appuser
|
||||||
WORKDIR /home/appuser
|
WORKDIR /home/appuser
|
||||||
COPY target/release/email-worker /bin
|
COPY ./target/release/email-worker /bin
|
||||||
USER appuser
|
USER appuser
|
||||||
EXPOSE 8084
|
EXPOSE 8084
|
||||||
CMD ["email-worker"]
|
CMD ["email-worker"]
|
||||||
@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
RUN useradd --system --create-home appuser
|
RUN useradd --system --create-home appuser
|
||||||
WORKDIR /home/appuser
|
WORKDIR /home/appuser
|
||||||
COPY target/release/gingress /bin
|
COPY ./target/release/gingress /bin
|
||||||
USER appuser
|
USER appuser
|
||||||
EXPOSE 80 443 8080
|
EXPOSE 80 443 8080
|
||||||
CMD ["gingress"]
|
CMD ["gingress"]
|
||||||
|
|||||||
@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
RUN useradd --system --create-home appuser
|
RUN useradd --system --create-home appuser
|
||||||
WORKDIR /home/appuser
|
WORKDIR /home/appuser
|
||||||
COPY target/release/git-hook /bin
|
COPY ./target/release/git-hook /bin
|
||||||
USER appuser
|
USER appuser
|
||||||
EXPOSE 8083
|
EXPOSE 8083
|
||||||
CMD ["git-hook"]
|
CMD ["git-hook"]
|
||||||
@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
RUN useradd --system --create-home appuser
|
RUN useradd --system --create-home appuser
|
||||||
WORKDIR /home/appuser
|
WORKDIR /home/appuser
|
||||||
COPY target/release/gitserver /bin
|
COPY ./target/release/gitserver /bin
|
||||||
USER appuser
|
USER appuser
|
||||||
EXPOSE 8021 2222
|
EXPOSE 8021 2222
|
||||||
CMD ["gitserver"]
|
CMD ["gitserver"]
|
||||||
@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
RUN useradd --system --create-home appuser
|
RUN useradd --system --create-home appuser
|
||||||
WORKDIR /home/appuser
|
WORKDIR /home/appuser
|
||||||
COPY target/release/metrics-aggregator /bin
|
COPY ./target/release/metrics-aggregator /bin
|
||||||
USER appuser
|
USER appuser
|
||||||
EXPOSE 9090
|
EXPOSE 9090
|
||||||
CMD ["metrics-aggregator"]
|
CMD ["metrics-aggregator"]
|
||||||
@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
RUN useradd --system --create-home appuser
|
RUN useradd --system --create-home appuser
|
||||||
WORKDIR /home/appuser
|
WORKDIR /home/appuser
|
||||||
COPY target/release/static-server /bin
|
COPY ./target/release/static-server /bin
|
||||||
USER appuser
|
USER appuser
|
||||||
EXPOSE 8081
|
EXPOSE 8081
|
||||||
CMD ["static-server"]
|
CMD ["static-server"]
|
||||||
@ -43,7 +43,6 @@ fn compute_etag(data: &[u8]) -> String {
|
|||||||
// ── Asset collection ─────────────────────────────────────────────────────
|
// ── Asset collection ─────────────────────────────────────────────────────
|
||||||
|
|
||||||
struct Asset {
|
struct Asset {
|
||||||
path: String,
|
|
||||||
data: Vec<u8>,
|
data: Vec<u8>,
|
||||||
etag: String,
|
etag: String,
|
||||||
brotli: Option<Vec<u8>>,
|
brotli: Option<Vec<u8>>,
|
||||||
@ -71,7 +70,6 @@ fn collect_assets(dist_dir: &Path) -> BTreeMap<String, Asset> {
|
|||||||
assets.insert(
|
assets.insert(
|
||||||
path_str.clone(),
|
path_str.clone(),
|
||||||
Asset {
|
Asset {
|
||||||
path: path_str,
|
|
||||||
data,
|
data,
|
||||||
etag,
|
etag,
|
||||||
brotli: brotli_data,
|
brotli: brotli_data,
|
||||||
|
|||||||
@ -17,6 +17,7 @@ pub mod skill;
|
|||||||
pub mod user;
|
pub mod user;
|
||||||
|
|
||||||
// Auto-generated frontend module (from build.rs) serving embedded dist/ assets
|
// Auto-generated frontend module (from build.rs) serving embedded dist/ assets
|
||||||
|
#[allow(dead_code)]
|
||||||
mod frontend;
|
mod frontend;
|
||||||
|
|
||||||
pub use error::{api_success, ApiError, ApiResponse};
|
pub use error::{api_success, ApiError, ApiResponse};
|
||||||
|
|||||||
@ -7,7 +7,6 @@
|
|||||||
use super::{FilterContext, PostFilter, PreFilter};
|
use super::{FilterContext, PostFilter, PreFilter};
|
||||||
use crate::config::{ConfigStore, HeaderOp};
|
use crate::config::{ConfigStore, HeaderOp};
|
||||||
use pingora::proxy::Session;
|
use pingora::proxy::Session;
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
pub struct HeaderInjectFilter {
|
pub struct HeaderInjectFilter {
|
||||||
store: ConfigStore,
|
store: ConfigStore,
|
||||||
|
|||||||
@ -9,7 +9,6 @@ pub mod real_ip;
|
|||||||
pub mod session_sticky;
|
pub mod session_sticky;
|
||||||
pub mod ws_upgrade;
|
pub mod ws_upgrade;
|
||||||
|
|
||||||
use http::HeaderMap;
|
|
||||||
use pingora::proxy::Session;
|
use pingora::proxy::Session;
|
||||||
|
|
||||||
/// Context passed through the filter chain for a single request.
|
/// Context passed through the filter chain for a single request.
|
||||||
|
|||||||
@ -8,6 +8,7 @@ use pingora::proxy::Session;
|
|||||||
|
|
||||||
pub struct RealIpFilter {
|
pub struct RealIpFilter {
|
||||||
/// Whether to trust Proxy Protocol headers (TCP-level).
|
/// Whether to trust Proxy Protocol headers (TCP-level).
|
||||||
|
#[allow(dead_code)]
|
||||||
trust_proxy_protocol: bool,
|
trust_proxy_protocol: bool,
|
||||||
/// Maximum number of trusted proxy hops.
|
/// Maximum number of trusted proxy hops.
|
||||||
trusted_hops: usize,
|
trusted_hops: usize,
|
||||||
|
|||||||
@ -14,8 +14,10 @@ pub struct HealthChecker {
|
|||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
interval: std::time::Duration,
|
interval: std::time::Duration,
|
||||||
/// Failure threshold for passive health checks.
|
/// Failure threshold for passive health checks.
|
||||||
|
#[allow(dead_code)]
|
||||||
passive_fail_threshold: u32,
|
passive_fail_threshold: u32,
|
||||||
/// Success threshold for recovery.
|
/// Success threshold for recovery.
|
||||||
|
#[allow(dead_code)]
|
||||||
passive_success_threshold: u32,
|
passive_success_threshold: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,8 +4,6 @@
|
|||||||
//! configuration changes without dropping active connections.
|
//! configuration changes without dropping active connections.
|
||||||
|
|
||||||
use crate::config::ConfigStore;
|
use crate::config::ConfigStore;
|
||||||
use std::sync::Arc;
|
|
||||||
use tokio::sync::watch;
|
|
||||||
|
|
||||||
/// Hot-reload watcher that listens for config changes.
|
/// Hot-reload watcher that listens for config changes.
|
||||||
pub struct HotReloadWatcher {
|
pub struct HotReloadWatcher {
|
||||||
|
|||||||
@ -5,12 +5,8 @@
|
|||||||
|
|
||||||
use crate::config::ConfigStore;
|
use crate::config::ConfigStore;
|
||||||
use anyhow::Context;
|
use anyhow::Context;
|
||||||
use rustls::pki_types::CertificateDer;
|
|
||||||
use rustls::pki_types::PrivateKeyDer;
|
|
||||||
use rustls::pki_types::PrivatePkcs8KeyDer;
|
|
||||||
use rustls::server::ResolvesServerCert;
|
use rustls::server::ResolvesServerCert;
|
||||||
use rustls::sign::CertifiedKey;
|
use rustls::sign::CertifiedKey;
|
||||||
use rustls::sign::SigningKey;
|
|
||||||
use rustls::ServerConfig;
|
use rustls::ServerConfig;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user