Skip to content

Commit fe32744

Browse files
authored
fix: ic-boundary: fix ACME-ALPN (#7928)
Actually run the ACME-ALPN task
1 parent 785c587 commit fe32744

1 file changed

Lines changed: 16 additions & 5 deletions

File tree

  • rs/boundary_node/ic_boundary/src

rs/boundary_node/ic_boundary/src/core.rs

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,7 @@ pub async fn main(mut cli: Cli) -> Result<(), Error> {
451451
&cli,
452452
&metrics_registry,
453453
http_metrics.clone(),
454+
&mut tasks,
454455
)
455456
.context("unable to setup HTTPS")?;
456457

@@ -731,7 +732,10 @@ fn setup_tls_resolver_stub(cli: &cli::Tls) -> Result<Arc<dyn ResolvesServerCert>
731732
Ok(Arc::new(resolver))
732733
}
733734

734-
fn setup_tls_resolver_acme(cli: &cli::Tls) -> Result<Arc<dyn ResolvesServerCert>, Error> {
735+
fn setup_tls_resolver_acme(
736+
cli: &cli::Tls,
737+
tasks: &mut TaskManager,
738+
) -> Result<Arc<dyn ResolvesServerCert>, Error> {
735739
let path = cli
736740
.tls_acme_credentials_path
737741
.clone()
@@ -755,12 +759,18 @@ fn setup_tls_resolver_acme(cli: &cli::Tls) -> Result<Arc<dyn ResolvesServerCert>
755759
path,
756760
);
757761

758-
Ok(Arc::new(AcmeAlpn::AcmeAlpn::new(opts)))
762+
let acme = Arc::new(AcmeAlpn::AcmeAlpn::new(opts));
763+
tasks.add("acme_alpn", acme.clone());
764+
765+
Ok(acme)
759766
}
760767

761768
/// Try to load the static resolver first, then ACME one.
762769
/// This is needed for integration tests where we cannot easily separate test/prod environments
763-
fn setup_tls_resolver(cli: &cli::Tls) -> Result<Arc<dyn ResolvesServerCert>, Error> {
770+
fn setup_tls_resolver(
771+
cli: &cli::Tls,
772+
tasks: &mut TaskManager,
773+
) -> Result<Arc<dyn ResolvesServerCert>, Error> {
764774
warn!("TLS: Trying resolver: static files");
765775
match setup_tls_resolver_stub(cli) {
766776
Ok(v) => {
@@ -775,7 +785,7 @@ fn setup_tls_resolver(cli: &cli::Tls) -> Result<Arc<dyn ResolvesServerCert>, Err
775785
"TLS: Trying resolver: ACME ALPN-01 (staging: {})",
776786
cli.tls_acme_staging
777787
);
778-
match setup_tls_resolver_acme(cli) {
788+
match setup_tls_resolver_acme(cli, tasks) {
779789
Ok(v) => {
780790
warn!("TLS: ACME resolver loaded");
781791
return Ok(v);
@@ -793,10 +803,11 @@ fn setup_https(
793803
cli: &Cli,
794804
registry: &Registry,
795805
metrics: HttpServerMetrics,
806+
tasks: &mut TaskManager,
796807
) -> Result<bnhttp::Server, Error> {
797808
use ic_bn_lib::tls;
798809

799-
let resolver = setup_tls_resolver(&cli.tls).context("unable to setup TLS resolver")?;
810+
let resolver = setup_tls_resolver(&cli.tls, tasks).context("unable to setup TLS resolver")?;
800811

801812
let tls_opts = TlsOptions {
802813
additional_alpn: vec![ALPN_ACME.to_vec()],

0 commit comments

Comments
 (0)