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"
8#include "ccf/ds/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
59 CCFConfig::NodeCertificateInfo,
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
72 DECLARE_JSON_OPTIONAL_FIELDS(CCFConfig::LedgerSignatures, tx_count, delay);
73
76 DECLARE_JSON_OPTIONAL_FIELDS(CCFConfig::JWT, key_refresh_interval);
77
81 CCFConfig::Attestation::Environment,
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
99 CCFConfig::Snapshots, directory, tx_count, read_only_directory);
100
104 CCFConfig,
105 worker_threads,
106 node_certificate,
107 consensus,
108 ledger,
109 ledger_signatures,
110 jwt,
111 attestation,
112 snapshots,
113 node_to_node_message_limit,
114 historical_cache_soft_limit);
115
118 StartupConfig::Start, members, constitution, service_configuration);
119
123 target_rpc_address,
124 retry_timeout,
125 service_cert,
126 follow_redirect);
127
131 previous_service_identity,
132 previous_sealed_ledger_secret_location);
133
137 startup_host_time,
138 snapshot_tx_interval,
139 initial_service_certificate_validity_days,
140 service_subject_name,
141 cose_signatures,
142 service_data,
143 node_data,
144 start,
145 join,
146 recover,
147 sealed_ledger_secret_location);
148}
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:665
#define DECLARE_JSON_REQUIRED_FIELDS(TYPE,...)
Definition json.h:714
#define DECLARE_JSON_TYPE(TYPE)
Definition json.h:663
#define DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(TYPE)
Definition json.h:690
#define DECLARE_JSON_OPTIONAL_FIELDS(TYPE,...)
Definition json.h:786
#define DECLARE_JSON_ENUM(TYPE,...)
Definition json.h:837
Definition app_interface.h:14
LoggerLevel
Definition logger_level.h:8
@ INFO
Definition logger_level.h:11
@ DEBUG
Definition logger_level.h:10
@ FAIL
Definition logger_level.h:12
@ FATAL
Definition logger_level.h:13
@ TRACE
Definition logger_level.h:9
Definition consensus_types.h:23
Definition fetch.h:35
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 node_frontend.h:51
Definition startup_config.h:34
Definition startup_config.h:22
Definition startup_config.h:106
Definition oversized.h:341
Definition ring_buffer_types.h:25