Skip to content

Commit 3970e1c

Browse files
authored
Merge pull request cardano-foundation#11 from cardano-foundation/anviking/tracer-sidecar
Add `tracer-sidecar` and "Sometimes forks" assertion
2 parents 65679e5 + 1bbca5b commit 3970e1c

File tree

14 files changed

+912
-3
lines changed

14 files changed

+912
-3
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*.hs]
4+
indent_size = 4
5+
max_line_length = 80
6+
charset = utf-8
7+
trim_trailing_whitespace = true
8+
insert_final_newline = true
9+
indent_style = space

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@
22
*~
33
*.swp
44
*.swo
5+
*.swl
6+
*.swm
7+
*.swn
8+
59

610
# compose
711
compose/.testnet.yaml
812
\#*
13+
14+
# haskell
15+
dist-newstyle

compose/Makefile

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ help:
4444
@echo " make anti testnet=example_10.2.1 password='password1234'"
4545
@echo
4646

47-
build: TESTNET build-image build-config build-sidecar build-tracer ## Build cardano-node, config, sidecar, and tracer images
47+
build: TESTNET build-image build-config build-sidecar build-tracer build-tracer-sidecar ## Build cardano-node, config, sidecar, and tracer images
4848

4949
build-image: TESTNET ## Build cardano-node container image
5050
ln -snf testnets/${testnet}/testnet.yaml .testnet.yaml ; cd testnets/${testnet} ; docker compose build
@@ -58,7 +58,10 @@ build-sidecar: TESTNET ## Build sidecar container image
5858
build-tracer: TESTNET ## Build tracer container image
5959
docker build -f tracer/Dockerfile -t ${registry}${testnet}_tracer:latest tracer/
6060

61-
push: TESTNET push-image push-config push-tracer push-sidecar ## Push cardano-node, config and sidecar container image
61+
build-tracer-sidecar: TESTNET ## Build tracer container image
62+
docker build -f tracer-sidecar/Dockerfile -t ${registry}${testnet}_tracer-sidecar:latest tracer-sidecar/
63+
64+
push: TESTNET push-image push-config push-tracer push-sidecar push-tracer-sidecar ## Push cardano-node, config and sidecar container image
6265

6366
push-image: TESTNET ## Push cardano-node container image
6467
docker push ${registry}${testnet}:latest
@@ -72,6 +75,9 @@ push-sidecar: TESTNET ## Push sidecar container image
7275
push-tracer: TESTNET ## Push tracer container image
7376
docker push ${registry}${testnet}_tracer:latest
7477

78+
push-tracer-sidecar: TESTNET ## Push tracer container image
79+
docker push ${registry}${testnet}_tracer-sidecar:latest
80+
7581
up: TESTNET ## Start Run local Docker Compose
7682
cd testnets/${testnet} ; docker compose up --detach
7783

@@ -90,7 +96,7 @@ anti: TESTNET ## Run Antithesis job
9096
--arg description '${description}' \
9197
--arg duration '${duration}' \
9298
--arg config_image '${testnet}_config:latest' \
93-
--arg images '${testnet}:latest;${testnet}_sidecar:latest' \
99+
--arg images '${testnet}:latest;${testnet}_sidecar:latest;${testnet}_tracer:latest;${testnet}_tracer-sidecar:latest' \
94100
--arg recipients '${recipients}' \
95101
'{params: {"antithesis.description": $$description,"custom.duration": $$duration,"antithesis.config_image": $$config_image,"antithesis.images": $$images,"antithesis.report.recipients": $$recipients}}')"
96102

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Description
2+
3+
Example 3 pool testnet with pre-compiled cardano-node version 10.2.1.
4+
5+
## Cardano-Node
6+
7+
- **Version**: 10.2.1
8+
- **Branch**: -
9+
- **Source/Compiled**: Compiled
10+
11+
## Testnet
12+
13+
- **Pools**: 3
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
3+
x-base: &base
4+
image: ${registry}${testnet}:latest
5+
restart: on-failure
6+
build:
7+
context: "../../"
8+
dockerfile: "Dockerfile.compiled"
9+
args:
10+
CARDANO_NODE_VERSION: "10.2.1"
11+
12+
x-env: &env
13+
POOL_ID: "0" # Placeholder required for override
14+
15+
services:
16+
tracer:
17+
image: ${registry}${testnet}_tracer:latest
18+
restart: on-failure
19+
hostname: tracer.example
20+
container_name: tracer
21+
volumes:
22+
- tracer:/opt/cardano-tracer
23+
ports:
24+
- "4000:4000"
25+
command:
26+
- "--config"
27+
- "tracer-config.yaml"
28+
build:
29+
context: "../../tracer"
30+
dockerfile: "Dockerfile"
31+
32+
p1:
33+
<<: *base
34+
container_name: p1
35+
hostname: p1.example
36+
volumes:
37+
- p1:/opt/cardano-node/data
38+
- tracer:/opt/cardano-tracer
39+
ports:
40+
- "3001:3001"
41+
environment:
42+
<<: *env
43+
POOL_ID: "1"
44+
45+
p2:
46+
<<: *base
47+
container_name: p2
48+
hostname: p2.example
49+
volumes:
50+
- p2:/opt/cardano-node/data
51+
- tracer:/opt/cardano-tracer
52+
ports:
53+
- "3002:3001"
54+
environment:
55+
<<: *env
56+
POOL_ID: "2"
57+
PEER_SHARING: "false"
58+
59+
p3:
60+
<<: *base
61+
container_name: p3
62+
hostname: p3.example
63+
volumes:
64+
- p3:/opt/cardano-node/data
65+
- tracer:/opt/cardano-tracer
66+
ports:
67+
- "3003:3001"
68+
environment:
69+
<<: *env
70+
POOL_ID: "3"
71+
72+
s1:
73+
image: ${registry}${testnet}_sidecar:latest
74+
restart: on-failure
75+
container_name: s1
76+
hostname: s1.example
77+
environment:
78+
POOLS: "3"
79+
tracer-sidecar:
80+
image: ${registry}${testnet}_tracer-sidecar:latest
81+
restart: on-failure
82+
container_name: tracer-sidecar
83+
hostname: tracer-sidecar.example
84+
environment:
85+
POOLS: "3"
86+
volumes:
87+
- tracer:/opt/cardano-tracer
88+
89+
volumes:
90+
tracer:
91+
p1:
92+
p2:
93+
p3:
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
--- # Required Testnet Parameters
2+
poolCount: 3
3+
poolCost: 340000000
4+
poolMargin: 0.0
5+
poolPledge: 0
6+
delegatedSupply: 600000000000000
7+
systemStart: 'now'
8+
systemStartDelay: 5
9+
networkMagic: 42
10+
testnetDomain: example
11+
12+
--- # Optional Byron Genesis Overide
13+
protocolConsts:
14+
k: 432
15+
16+
--- # Optional Shelley Genesis Overide
17+
epochLength: 86400
18+
securityParam: 432
19+
activeSlotsCoeff: 0.25 # 0.05 on mainnet
20+
slotLength: 1
21+
maxLovelaceSupply: 45000000000000000
22+
protocolParams:
23+
decentralisationParam: 0
24+
protocolVersion:
25+
major: 10
26+
minor: 0
27+
28+
--- # Optional Alonzo Genesis Overide
29+
30+
--- # Optional Conway Genesis Overide
31+
32+
--- # Optional Node Config Overide
33+
ExperimentalHardForksEnabled: true
34+
ExperimentalProtocolsEnabled: true
35+
LastKnownBlockVersion-Alt: 0
36+
LastKnownBlockVersion-Major: 6
37+
LastKnownBlockVersion-Minor: 0
38+
MaxConcurrencyBulkSync: 2
39+
MaxConcurrencyDeadline: 4
40+
MaxKnownMajorProtocolVersion: 2
41+
PeerSharing: true
42+
TargetNumberOfActiveBigLedgerPeers: 2
43+
TargetNumberOfActivePeers: 3
44+
TargetNumberOfEstablishedBigLedgerPeers: 3
45+
TargetNumberOfEstablishedPeers: 3
46+
TargetNumberOfKnownBigLedgerPeers: 10
47+
TargetNumberOfKnownPeers: 30
48+
TargetNumberOfRootPeers: 10
49+
TestAllegraHardForkAtEpoch: 0
50+
TestAlonzoHardForkAtEpoch: 0
51+
TestBabbageHardForkAtEpoch: 0
52+
TestConwayHardForkAtEpoch: 0
53+
TestMaryHardForkAtEpoch: 0
54+
TestShelleyHardForkAtEpoch: 0
55+
TraceConnectionManager: true
56+
TraceConnectionManagerTransitions: true
57+
TraceDNSResolver: true
58+
TraceDNSSubscription: true
59+
TraceDebugPeerSelection: true
60+
TraceForge: true
61+
TraceForgeStateInfo: true
62+
TraceHandshake: true
63+
TraceInboundGovernor: true
64+
TraceIpSubscription: true
65+
TraceLedgerPeers: true
66+
TraceLocalConnectionManager: true
67+
TraceLocalHandshake: true
68+
TraceLocalRootPeers: true
69+
TracePeerSelection: true
70+
TracePeerSelectionActions: true
71+
TracePublicRootPeers: true
72+
TraceServer: true
73+
TurnOnLoggingMetrics: true
74+
TurnOnLogging: true
75+
UseTraceDispatcher: true
76+
TraceOptionForwarder:
77+
connQueueSize: 64
78+
disconnQueueSize: 128
79+
maxReconnectDeplay: 30
80+
TraceOptions:
81+
'':
82+
backends:
83+
- EKGBackend
84+
- Forwarder
85+
detail: DNormal
86+
severity: Notice
87+
BlockFetch.Client.CompletedBlockFetch:
88+
maxFrequency: 2
89+
BlockFetch.Decision:
90+
severity: Silence
91+
ChainDB:
92+
severity: Info
93+
ChainDB.AddBlockEvent.AddBlockValidation:
94+
severity: Silence
95+
ChainDB.AddBlockEvent.AddBlockValidation.ValidCandidate:
96+
maxFrequency: 2
97+
ChainDB.AddBlockEvent.AddedBlockToQueue:
98+
maxFrequency: 2
99+
ChainDB.AddBlockEvent.AddedBlockToVolatileDB:
100+
maxFrequency: 2
101+
ChainDB.CopyToImmutableDBEvent.CopiedBlockToImmutableDB:
102+
maxFrequency: 2
103+
ChainSync.Client:
104+
severity: Warning
105+
Forge.Loop:
106+
severity: Info
107+
Forge.StateInfo:
108+
severity: Info
109+
Mempool:
110+
severity: Silence
111+
Net.ConnectionManager.Remote:
112+
severity: Info
113+
Net.ConnectionManager.Remote.ConnectionManagerCounters:
114+
severity: Silence
115+
Net.ErrorPolicy:
116+
severity: Info
117+
Net.ErrorPolicy.Local:
118+
severity: Info
119+
Net.InboundGovernor:
120+
severity: Warning
121+
Net.InboundGovernor.Remote:
122+
severity: Info
123+
Net.Mux.Remote:
124+
severity: Info
125+
Net.PeerSelection:
126+
severity: Silence
127+
Net.Subscription.DNS:
128+
severity: Info
129+
Net.Subscription.IP:
130+
severity: Info
131+
Resources:
132+
severity: Silence
133+
Startup.DiffusionInit:
134+
severity: Info
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Revision history for tracer-sidecar
2+
3+
## 0.1.0.0 -- YYYY-mm-dd
4+
5+
* First version. Released on an unsuspecting world.

compose/tracer-sidecar/Dockerfile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
FROM haskell:9.6
2+
3+
WORKDIR /opt/tracer-sidecar
4+
5+
RUN cabal update
6+
7+
# Add just the .cabal file to capture dependencies
8+
COPY ./tracer-sidecar.cabal /opt/tracer-sidecar/tracer-sidecar.cabal
9+
10+
# Docker will cache this command as a layer, freeing us up to
11+
# modify source code without re-installing dependencies
12+
# (unless the .cabal file changes!)
13+
RUN cabal build --only-dependencies -j4
14+
15+
# Add and Install Application Code
16+
COPY . /opt/tracer-sidecar
17+
RUN cabal install
18+
19+
CMD ["tracer-sidecar", "/opt/cardano-tracer"]

0 commit comments

Comments
 (0)