CCF
Loading...
Searching...
No Matches
Classes | Functions
configuration.h File Reference
#include "ccf/crypto/curve.h"
#include "ccf/crypto/pem.h"
#include "ccf/ds/json.h"
#include "ccf/ds/logger.h"
#include "ccf/ds/unit_strings.h"
#include "ccf/node/startup_config.h"
#include "ccf/pal/attestation_sev_snp_endorsements.h"
#include "ccf/service/node_info_network.h"
#include "ccf/service/tables/members.h"
#include "common/enclave_interface_types.h"
#include "consensus/consensus_types.h"
#include "ds/oversized.h"
#include "enclave/consensus_type.h"
#include "enclave/reconfiguration_type.h"
#include "service/tables/config.h"
#include <optional>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  EnclaveConfig
 

Functions

 DECLARE_JSON_ENUM (LoggerLevel, {{LoggerLevel::TRACE, "Trace"}, {LoggerLevel::DEBUG, "Debug"}, {LoggerLevel::INFO, "Info"}, {LoggerLevel::FAIL, "Fail"}, {LoggerLevel::FATAL, "Fatal"}})
 
 DECLARE_JSON_ENUM (StartType, {{StartType::Start, "Start"}, {StartType::Join, "Join"}, {StartType::Recover, "Recover"}})
 
 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (CCFConfig::NodeCertificateInfo)
 
 DECLARE_JSON_OPTIONAL_FIELDS (CCFConfig::NodeCertificateInfo, subject_name, subject_alt_names, curve_id, initial_validity_days)
 
 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (CCFConfig::LedgerSignatures)
 
 DECLARE_JSON_REQUIRED_FIELDS (CCFConfig::LedgerSignatures)
 
 DECLARE_JSON_OPTIONAL_FIELDS (CCFConfig::LedgerSignatures, tx_count, delay)
 
 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (CCFConfig::JWT)
 
 DECLARE_JSON_REQUIRED_FIELDS (CCFConfig::JWT)
 
 DECLARE_JSON_OPTIONAL_FIELDS (CCFConfig::JWT, key_refresh_interval)
 
 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (CCFConfig::Attestation::Environment)
 
 DECLARE_JSON_REQUIRED_FIELDS (CCFConfig::Attestation::Environment)
 
 DECLARE_JSON_OPTIONAL_FIELDS (CCFConfig::Attestation::Environment, security_policy, uvm_endorsements)
 
 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (CCFConfig::Attestation)
 
 DECLARE_JSON_REQUIRED_FIELDS (CCFConfig::Attestation)
 
 DECLARE_JSON_OPTIONAL_FIELDS (CCFConfig::Attestation, snp_endorsements_servers, environment, snp_security_policy_file, snp_uvm_endorsements_file)
 
 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (CCFConfig)
 
 DECLARE_JSON_REQUIRED_FIELDS (CCFConfig, network)
 
 DECLARE_JSON_OPTIONAL_FIELDS (CCFConfig, worker_threads, node_certificate, consensus, ledger_signatures, jwt, attestation, node_to_node_message_limit, historical_cache_soft_limit)
 
 DECLARE_JSON_TYPE (StartupConfig::Start)
 
 DECLARE_JSON_REQUIRED_FIELDS (StartupConfig::Start, members, constitution, service_configuration)
 
 DECLARE_JSON_TYPE (StartupConfig::Join)
 
 DECLARE_JSON_REQUIRED_FIELDS (StartupConfig::Join, target_rpc_address, retry_timeout, service_cert, follow_redirect)
 
 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (StartupConfig::Recover)
 
 DECLARE_JSON_REQUIRED_FIELDS (StartupConfig::Recover, previous_service_identity)
 
 DECLARE_JSON_OPTIONAL_FIELDS (StartupConfig::Recover, constitution)
 
 DECLARE_JSON_TYPE_WITH_BASE (StartupConfig, CCFConfig)
 
 DECLARE_JSON_REQUIRED_FIELDS (StartupConfig, startup_host_time, snapshot_tx_interval, initial_service_certificate_validity_days, service_subject_name, service_data, node_data, start, join, recover)
 

Function Documentation

◆ DECLARE_JSON_ENUM() [1/2]

DECLARE_JSON_ENUM ( LoggerLevel  ,
{{LoggerLevel::TRACE, "Trace"}, {LoggerLevel::DEBUG, "Debug"}, {LoggerLevel::INFO, "Info"}, {LoggerLevel::FAIL, "Fail"}, {LoggerLevel::FATAL, "Fatal"}}   
)

◆ DECLARE_JSON_ENUM() [2/2]

DECLARE_JSON_ENUM ( StartType  ,
{{StartType::Start, "Start"}, {StartType::Join, "Join"}, {StartType::Recover, "Recover"}}   
)

◆ DECLARE_JSON_OPTIONAL_FIELDS() [1/7]

DECLARE_JSON_OPTIONAL_FIELDS ( CCFConfig  ,
worker_threads  ,
node_certificate  ,
consensus  ,
ledger_signatures  ,
jwt  ,
attestation  ,
node_to_node_message_limit  ,
historical_cache_soft_limit   
)

◆ DECLARE_JSON_OPTIONAL_FIELDS() [2/7]

DECLARE_JSON_OPTIONAL_FIELDS ( CCFConfig::Attestation  ,
snp_endorsements_servers  ,
environment  ,
snp_security_policy_file  ,
snp_uvm_endorsements_file   
)

◆ DECLARE_JSON_OPTIONAL_FIELDS() [3/7]

DECLARE_JSON_OPTIONAL_FIELDS ( CCFConfig::Attestation::Environment  ,
security_policy  ,
uvm_endorsements   
)

◆ DECLARE_JSON_OPTIONAL_FIELDS() [4/7]

DECLARE_JSON_OPTIONAL_FIELDS ( CCFConfig::JWT  ,
key_refresh_interval   
)

◆ DECLARE_JSON_OPTIONAL_FIELDS() [5/7]

DECLARE_JSON_OPTIONAL_FIELDS ( CCFConfig::LedgerSignatures  ,
tx_count  ,
delay   
)

◆ DECLARE_JSON_OPTIONAL_FIELDS() [6/7]

DECLARE_JSON_OPTIONAL_FIELDS ( CCFConfig::NodeCertificateInfo  ,
subject_name  ,
subject_alt_names  ,
curve_id  ,
initial_validity_days   
)

◆ DECLARE_JSON_OPTIONAL_FIELDS() [7/7]

DECLARE_JSON_OPTIONAL_FIELDS ( StartupConfig::Recover  ,
constitution   
)

◆ DECLARE_JSON_REQUIRED_FIELDS() [1/9]

DECLARE_JSON_REQUIRED_FIELDS ( CCFConfig  ,
network   
)

◆ DECLARE_JSON_REQUIRED_FIELDS() [2/9]

DECLARE_JSON_REQUIRED_FIELDS ( CCFConfig::Attestation  )

◆ DECLARE_JSON_REQUIRED_FIELDS() [3/9]

DECLARE_JSON_REQUIRED_FIELDS ( CCFConfig::Attestation::Environment  )

◆ DECLARE_JSON_REQUIRED_FIELDS() [4/9]

DECLARE_JSON_REQUIRED_FIELDS ( CCFConfig::JWT  )

◆ DECLARE_JSON_REQUIRED_FIELDS() [5/9]

DECLARE_JSON_REQUIRED_FIELDS ( CCFConfig::LedgerSignatures  )

◆ DECLARE_JSON_REQUIRED_FIELDS() [6/9]

DECLARE_JSON_REQUIRED_FIELDS ( StartupConfig  ,
startup_host_time  ,
snapshot_tx_interval  ,
initial_service_certificate_validity_days  ,
service_subject_name  ,
service_data  ,
node_data  ,
start  ,
join  ,
recover   
)

◆ DECLARE_JSON_REQUIRED_FIELDS() [7/9]

DECLARE_JSON_REQUIRED_FIELDS ( StartupConfig::Join  ,
target_rpc_address  ,
retry_timeout  ,
service_cert  ,
follow_redirect   
)

◆ DECLARE_JSON_REQUIRED_FIELDS() [8/9]

DECLARE_JSON_REQUIRED_FIELDS ( StartupConfig::Recover  ,
previous_service_identity   
)

◆ DECLARE_JSON_REQUIRED_FIELDS() [9/9]

DECLARE_JSON_REQUIRED_FIELDS ( StartupConfig::Start  ,
members  ,
constitution  ,
service_configuration   
)

◆ DECLARE_JSON_TYPE() [1/2]

DECLARE_JSON_TYPE ( StartupConfig::Join  )

◆ DECLARE_JSON_TYPE() [2/2]

DECLARE_JSON_TYPE ( StartupConfig::Start  )

◆ DECLARE_JSON_TYPE_WITH_BASE()

DECLARE_JSON_TYPE_WITH_BASE ( StartupConfig  ,
CCFConfig   
)

◆ DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS() [1/7]

DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS ( CCFConfig  )

◆ DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS() [2/7]

DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS ( CCFConfig::Attestation  )

◆ DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS() [3/7]

DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS ( CCFConfig::Attestation::Environment  )

◆ DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS() [4/7]

DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS ( CCFConfig::JWT  )

◆ DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS() [5/7]

DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS ( CCFConfig::LedgerSignatures  )

◆ DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS() [6/7]

DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS ( CCFConfig::NodeCertificateInfo  )

◆ DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS() [7/7]

DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS ( StartupConfig::Recover  )