Skip to content

Commit 068b83b

Browse files
authored
Update docs, fix Pyroscope, pin observability stack versions (#1859)
* update docs * fix Pyroscope, pin all observability components versions, add obs restart * changeset
1 parent 86b27ad commit 068b83b

File tree

10 files changed

+56
-24
lines changed

10 files changed

+56
-24
lines changed

book/src/framework/nodeset_environment.md

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,17 @@ Let's create a full-fledged set of Chainlink nodes connected to some blockchain.
55
Create a configuration file `smoke.toml`
66
```toml
77
[blockchain_a]
8-
type = "anvil"
98
docker_cmd_params = ["-b", "1"]
9+
type = "anvil"
10+
11+
[data_provider]
12+
port = 9111
1013

1114
[[nodesets]]
1215
name = "don"
1316
nodes = 5
1417
override_mode = "all"
15-
18+
1619
[nodesets.db]
1720
image = "postgres:12.0"
1821

@@ -24,34 +27,39 @@ Create a configuration file `smoke.toml`
2427

2528
Create a file `smoke_test.go`
2629
```golang
27-
package yourpackage_test
30+
package examples
2831

2932
import (
33+
"testing"
34+
35+
"github.com/stretchr/testify/require"
36+
3037
"github.com/smartcontractkit/chainlink-testing-framework/framework"
3138
"github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain"
39+
"github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake"
3240
ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set"
33-
"github.com/stretchr/testify/require"
34-
"testing"
3541
)
3642

37-
type Config struct {
43+
type Cfg struct {
3844
BlockchainA *blockchain.Input `toml:"blockchain_a" validate:"required"`
39-
NodeSet *ns.Input `toml:"nodeset" validate:"required"`
45+
MockedDataProvider *fake.Input `toml:"data_provider" validate:"required"`
46+
NodeSets []*ns.Input `toml:"nodesets" validate:"required"`
4047
}
4148

4249
func TestNodeSet(t *testing.T) {
43-
in, err := framework.Load[Config](t)
50+
in, err := framework.Load[Cfg](t)
4451
require.NoError(t, err)
4552

4653
bc, err := blockchain.NewBlockchainNetwork(in.BlockchainA)
4754
require.NoError(t, err)
48-
out, err := ns.NewSharedDBNodeSet(in.NodeSet, bc)
55+
_, err = fake.NewFakeDataProvider(in.MockedDataProvider)
56+
require.NoError(t, err)
57+
out, err := ns.NewSharedDBNodeSet(in.NodeSets[0], bc)
4958
require.NoError(t, err)
5059

5160
t.Run("test something", func(t *testing.T) {
5261
for _, n := range out.CLNodes {
5362
require.NotEmpty(t, n.Node.ExternalURL)
54-
require.NotEmpty(t, n.Node.HostP2PURL)
5563
}
5664
})
5765
}

book/src/framework/observability/observability_stack.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,11 @@ Read more about how to check [logs](logs.md) and [profiles](profiling.md)
2020
- [Prometheus](http://localhost:3000/explore?panes=%7B%22qZw%22:%7B%22datasource%22:%22PBFA97CFB590B2093%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%22,%22range%22:true,%22datasource%22:%7B%22type%22:%22prometheus%22,%22uid%22:%22PBFA97CFB590B2093%22%7D%7D%5D,%22range%22:%7B%22from%22:%22now-6h%22,%22to%22:%22now%22%7D%7D%7D&schemaVersion=1&orgId=1)
2121
- [PostgreSQL](http://localhost:3000/d/000000039/postgresql-database?orgId=1&refresh=10s&var-DS_PROMETHEUS=PBFA97CFB590B2093&var-interval=$__auto_interval_interval&var-namespace=&var-release=&var-instance=postgres_exporter_0:9187&var-datname=All&var-mode=All&from=now-5m&to=now)
2222
- [Pyroscope](http://localhost:4040)
23+
24+
## Developing
25+
26+
Change compose files under `framework/cmd/observability` and restart the stack (removing volumes too)
27+
```
28+
just reload-cli && ctf obs r
29+
```
30+

framework/.changeset/v0.9.0.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- Fix Solana container health check
2+
- Fix examples in framework docs
3+
- Fix Pyroscope and pin observability deps

framework/cmd/main.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,18 @@ func main() {
9595
Description: "Removes local observability stack",
9696
Action: func(c *cli.Context) error { return observabilityDown() },
9797
},
98+
{
99+
Name: "restart",
100+
Usage: "ctf obs r",
101+
Aliases: []string{"r"},
102+
Description: "Restart a local observability stack",
103+
Action: func(c *cli.Context) error {
104+
if err := observabilityDown(); err != nil {
105+
return err
106+
}
107+
return observabilityUp()
108+
},
109+
},
98110
{
99111
Name: "load",
100112
Usage: "ctf obs l",

framework/cmd/observability/compose/docker-compose.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ services:
4040
privileged: true
4141

4242
prometheus:
43-
image: prom/prometheus:latest
43+
image: prom/prometheus:v3.4.1
4444
user: '0:0'
4545
volumes:
4646
- /var/run/docker.sock:/var/run/docker.sock
@@ -84,14 +84,14 @@ services:
8484
- tempo
8585

8686
pyroscope:
87-
image: 'pyroscope/pyroscope:latest'
87+
image: 'grafana/pyroscope:1.13.4'
8888
ports:
8989
- '4040:4040'
9090
command:
9191
- 'server'
9292

9393
postgres_exporter_0:
94-
image: prometheuscommunity/postgres-exporter:latest
94+
image: prometheuscommunity/postgres-exporter:v0.17.1
9595
container_name: postgres_exporter_0
9696
environment:
9797
- DATA_SOURCE_NAME=postgresql://chainlink:[email protected]:13000/db_0?sslmode=disable
@@ -100,7 +100,7 @@ services:
100100
restart: unless-stopped
101101

102102
postgres_exporter_1:
103-
image: prometheuscommunity/postgres-exporter:latest
103+
image: prometheuscommunity/postgres-exporter:v0.17.1
104104
container_name: postgres_exporter_1
105105
environment:
106106
- DATA_SOURCE_NAME=postgresql://chainlink:[email protected]:13000/db_1?sslmode=disable
@@ -109,7 +109,7 @@ services:
109109
restart: unless-stopped
110110

111111
postgres_exporter_2:
112-
image: prometheuscommunity/postgres-exporter:latest
112+
image: prometheuscommunity/postgres-exporter:v0.17.1
113113
container_name: postgres_exporter_2
114114
environment:
115115
- DATA_SOURCE_NAME=postgresql://chainlink:[email protected]:13000/db_2?sslmode=disable
@@ -118,7 +118,7 @@ services:
118118
restart: unless-stopped
119119

120120
postgres_exporter_3:
121-
image: prometheuscommunity/postgres-exporter:latest
121+
image: prometheuscommunity/postgres-exporter:v0.17.1
122122
container_name: postgres_exporter_3
123123
environment:
124124
- DATA_SOURCE_NAME=postgresql://chainlink:[email protected]:13000/db_3?sslmode=disable
@@ -127,7 +127,7 @@ services:
127127
restart: unless-stopped
128128

129129
postgres_exporter_4:
130-
image: prometheuscommunity/postgres-exporter:latest
130+
image: prometheuscommunity/postgres-exporter:v0.17.1
131131
container_name: postgres_exporter_4
132132
environment:
133133
- DATA_SOURCE_NAME=postgresql://chainlink:[email protected]:13000/db_4?sslmode=disable

framework/examples/myproject/example_components/mock-tester.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func NewDockerFakeTester(url string) error {
2121
Cmd: []string{"curl", "-v", url},
2222
Labels: framework.DefaultTCLabels(),
2323
WaitingFor: wait.ForExit(),
24-
Networks: []string{framework.DefaultNetworkName, "default_compose"},
24+
Networks: []string{framework.DefaultNetworkName, "default_compose"},
2525
}
2626
curlContainer, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{
2727
ContainerRequest: req,

framework/examples/myproject/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require (
1313
github.com/blocto/solana-go-sdk v1.30.0
1414
github.com/ethereum/go-ethereum v1.15.0
1515
github.com/go-resty/resty/v2 v2.16.3
16-
github.com/smartcontractkit/chainlink-testing-framework/framework v0.7.4
16+
github.com/smartcontractkit/chainlink-testing-framework/framework v0.8.9
1717
github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2
1818
github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.10
1919
github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2

justfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,4 +154,8 @@ actionlint:
154154

155155
# Serve MDBook locally
156156
book:
157-
cd book && mdbook serve -p 9999
157+
cd book && mdbook serve -p 9999
158+
159+
# Reload framework CLI for local development
160+
reload-cli:
161+
cd framework/cmd && go get github.com/smartcontractkit/chainlink-testing-framework/framework/cmd && go install github.com/smartcontractkit/chainlink-testing-framework/framework/cmd && mv ~/go/bin/cmd ~/go/bin/ctf

wasp/examples/profiles/gun.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func (m *ExampleGun) Call(l *wasp.Generator) *wasp.Response {
2727
SetResult(&result).
2828
Get(m.target)
2929
if err != nil {
30-
return &wasp.Response{Data: result, Error: err.Error()}
30+
return &wasp.Response{Data: result, Error: err.Error(), Failed: true}
3131
}
3232
if r.Status() != "200 OK" {
3333
return &wasp.Response{Data: result, Error: "not 200", Failed: true}

wasp/examples/simple_rps/main_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ func TestGun(t *testing.T) {
1212
srv := wasp.NewHTTPMockServer(nil)
1313
srv.Run()
1414

15-
//branch := os.Getenv("BRANCH")
16-
//commit := os.Getenv("COMMIT")
17-
1815
// define labels for differentiate one run from another
1916
labels := map[string]string{
2017
// check variables in dashboard/dashboard.go

0 commit comments

Comments
 (0)