Skip to content

Conversation

@maxtropets
Copy link
Collaborator

@maxtropets maxtropets commented Oct 28, 2025

#7262 (comment)

  • Try out recovering from ACME-containing ledger
  • Understand why they don't fail -_-

Understand why they don't fail -

Post mortem (kind of):

  • There's NodeInfoNetwork_v2 vs NodeInfoNetwork_v1 business
  • Parsing as _v2 expectedly fails, but falls back to _v1
  • _v1 parsing passes because we are still filling up the old fields (shall we stop doing that?..)
  • After removing _v1 parsing the test fails as expected, so I've resurrected enum parsing as discussed.

@maxtropets maxtropets self-assigned this Oct 28, 2025
@maxtropets maxtropets requested a review from a team as a code owner October 28, 2025 12:24
Copilot AI review requested due to automatic review settings October 28, 2025 12:24
@maxtropets maxtropets added the run-long-test Run Long Test job label Oct 28, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes the ACME (Automatic Certificate Management Environment) client functionality from the codebase, simplifying certificate management by eliminating the ability to automatically obtain TLS certificates from external certificate authorities like Let's Encrypt.

Key changes include:

  • Complete removal of ACME client implementation and related infrastructure
  • Removal of ACME-related configuration options and interfaces
  • Deletion of ACME challenge frontend and test files

Reviewed Changes

Copilot reviewed 35 out of 35 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/acme_endorsement.py Deleted entire test file for ACME functionality
tests/infra/remote.py Removed ACME challenge server interface configuration logic
tests/infra/network.py Removed "acme" from node configuration parameters list
tests/infra/interfaces.py Removed ACME authority type and acme_configuration fields from Endorsement class
tests/config.jinja Removed ACME configuration template block
src/node/node_state.h Removed ACME client initialization, refresh logic, and certificate installation hooks
src/node/ccf_acme_client.h Deleted ACME client implementation file
src/node/acme_client.h Deleted core ACME protocol client file
src/node/acme_challenge_frontend.h Deleted ACME challenge server frontend
src/node/rpc/acme_subsystem.h Deleted ACME subsystem implementation
src/node/rpc/node_interface.h Removed ACME-related interface methods
src/node/rpc/gov_effects_interface.h Removed trigger_acme_refresh method declaration
src/node/rpc/gov_effects.h Removed trigger_acme_refresh method implementation
src/node/rpc/test/node_stub.h Removed stub implementation of trigger_acme_refresh
src/service/network_tables.h Removed ACME certificates table reference
src/js/extensions/ccf/node.h Removed triggerACMERefresh from documentation
src/js/extensions/ccf/node.cpp Removed js_trigger_acme_refresh function
src/http/http_rpc_context.h Removed special handling for .well-known/acme-challenge paths
src/host/run.cpp Removed ACME configuration copying to startup config
src/enclave/rpc_sessions.h Simplified set_cert method signature and removed ACME-specific certificate handling
src/enclave/enclave.h Removed ACME subsystem and frontend initialization
src/ds/actors.h Removed acme_challenge actor type
scripts/setup-ci.sh Removed Pebble ACME server installation
samples/minimal_ccf/app/actions.js Removed trigger_acme_refresh governance action
samples/constitutions/default/actions.js Removed trigger_acme_refresh governance action
include/ccf/service/tables/acme_certificates.h Deleted ACME certificates table definition
include/ccf/service/node_info_network.h Removed ACME authority type and configuration structures
include/ccf/service/acme_client_config.h Deleted ACME client configuration structures
include/ccf/node/acme_subsystem_interface.h Deleted ACME subsystem interface
doc/schemas/node_openapi.json Removed ACME from Authority enum and Endorsement schema
doc/operations/certificates.rst Removed ACME-endorsed certificates documentation section
doc/host_config_schema/cchost_config.json Removed ACME configuration schema
doc/audit/builtin_maps.rst Removed service.acme_certificates table documentation
CMakeLists.txt Removed ACME endorsement test
CHANGELOG.md Added entry documenting ACME client removal

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Eddy Ashton <ashton.eddy@gmail.com>
@maxtropets maxtropets removed the run-long-test Run Long Test job label Oct 28, 2025
@maxtropets maxtropets force-pushed the f/remove-acme-completely branch from f8a7dcf to 0b90a24 Compare October 30, 2025 10:35
@maxtropets maxtropets force-pushed the f/remove-acme-completely branch from 95efa08 to b15f7d2 Compare October 30, 2025 11:55
@maxtropets maxtropets enabled auto-merge (squash) October 30, 2025 12:32
@maxtropets maxtropets merged commit a1e7ac4 into microsoft:main Oct 30, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants