CCF
Loading...
Searching...
No Matches
configuration.h
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the Apache 2.0 License.
3
4#pragma once
5
6#include "ccf/crypto/curve.h"
7#include "ccf/crypto/pem.h"
17#include "ds/internal_logger.h"
18#include "ds/oversized.h"
20
21#include <optional>
22#include <string>
23#include <vector>
24
27 {{StartType::Start, "Start"},
28 {StartType::Join, "Join"},
29 {StartType::Recover, "Recover"}});
30
43
44static constexpr auto node_to_node_interface_name = "node_to_node_interface";
45
46namespace ccf
47{
50 {{LoggerLevel::TRACE, "Trace"},
51 {LoggerLevel::DEBUG, "Debug"},
52 {LoggerLevel::INFO, "Info"},
53 {LoggerLevel::FAIL, "Fail"},
54 {LoggerLevel::FATAL, "Fatal"}});
55
60 subject_name,
61 subject_alt_names,
62 curve_id,
63 initial_validity_days);
64
68 CCFConfig::Ledger, directory, read_only_directories, chunk_size);
69
73
77
82 security_policy,
83 uvm_endorsements,
84 snp_endorsements);
85
90 snp_endorsements_servers,
91 environment,
92 snp_security_policy_file,
93 snp_uvm_endorsements_file,
94 snp_endorsements_file);
95
100 enabled,
101 max_attempts,
102 retry_interval,
103 target_rpc_interface,
104 max_size);
105
110 directory,
111 tx_count,
112 min_tx_count,
113 time_interval,
114 read_only_directory,
115 backup_fetch);
116
121 max_snapshots,
122 max_committed_ledger_chunks,
123 interval);
124
128 CCFConfig,
129 worker_threads,
130 node_certificate,
131 consensus,
132 ledger,
133 ledger_signatures,
134 jwt,
135 attestation,
136 snapshots,
137 files_cleanup,
138 node_to_node_message_limit,
139 historical_cache_soft_limit);
140
143 RecoveryDecisionProtocolConfig, expected_locations);
145 RecoveryDecisionProtocolConfig, message_retry_timeout, failover_timeout);
146
150 SealingRecoveryConfig, recovery_decision_protocol);
151
154 StartupConfig::Start, members, constitution, service_configuration);
155
159 target_rpc_address,
160 retry_timeout,
161 service_cert,
162 follow_redirect);
164 StartupConfig::Join, host_data_transparent_statement_path);
165
168 StartupConfig::Recover, previous_service_identity);
169
173 startup_host_time,
174 snapshot_tx_interval,
175 initial_service_certificate_validity_days,
176 service_subject_name,
177 cose_signatures,
178 service_data,
179 node_data,
180 start,
181 join,
182 recover,
183 sealing_recovery);
184}
StartType
Definition enclave_interface_types.h:92
@ Join
Definition enclave_interface_types.h:94
@ Recover
Definition enclave_interface_types.h:95
@ Start
Definition enclave_interface_types.h:93
#define DECLARE_JSON_TYPE_WITH_BASE(TYPE, BASE)
Definition json.h:687
#define DECLARE_JSON_REQUIRED_FIELDS(TYPE,...)
Definition json.h:736
#define DECLARE_JSON_TYPE(TYPE)
Definition json.h:685
#define DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(TYPE)
Definition json.h:712
#define DECLARE_JSON_OPTIONAL_FIELDS(TYPE,...)
Definition json.h:811
#define DECLARE_JSON_ENUM(TYPE,...)
Definition json.h:864
Definition app_interface.h:13
LoggerLevel
Definition logger_level.h:9
Definition consensus_types.h:23
Definition fetch.h:63
Definition configuration.h:32
oversized::WriterConfig writer_config
Definition configuration.h:41
ringbuffer::Offsets * from_enclave_buffer_offsets
Definition configuration.h:39
size_t to_enclave_buffer_size
Definition configuration.h:34
uint8_t * from_enclave_buffer_start
Definition configuration.h:37
size_t from_enclave_buffer_size
Definition configuration.h:38
uint8_t * to_enclave_buffer_start
Definition configuration.h:33
ringbuffer::Offsets * to_enclave_buffer_offsets
Definition configuration.h:35
Definition startup_config.h:81
Definition startup_config.h:74
Definition startup_config.h:121
Definition startup_config.h:66
Definition startup_config.h:57
Definition startup_config.h:47
Definition startup_config.h:36
Definition startup_config.h:105
Definition startup_config.h:97
Definition startup_config.h:24
Definition startup_config.h:132
Definition startup_config.h:140
Definition startup_config.h:177
Definition startup_config.h:192
Definition startup_config.h:167
Definition startup_config.h:148
Definition oversized.h:351
Definition ring_buffer_types.h:26