@@ -61,6 +61,8 @@ the following non-test files:
61
61
| :----------------------------| :---------------| :-----------------------------------------------------------------------|
62
62
| flags/ | | Directory defining flags usable with both stdlib flags and spf13/pflag |
63
63
| flags/common.go | | Defines type definitions common across other files |
64
+ | flags/kube_config.go | | Defines flags configuring the kubeconfig of the kube runtime |
65
+ | flags/kube_runtime.go | | Defines flags configuring the kube node runtime |
64
66
| flags/process_runtime.go | | Defines flags configuring the process node runtime |
65
67
| flags/runtime.go | | Defines flags configuring node runtime |
66
68
| flags/start_network.go | | Defines flags configuring network start |
@@ -72,6 +74,7 @@ the following non-test files:
72
74
| flagsmap.go | FlagsMap | Simplifies configuration of avalanchego flags |
73
75
| genesis.go | | Creates test genesis |
74
76
| kube.go | | Library for Kubernetes interaction |
77
+ | kube_runtime.go | | Orchestrates nodes running in Kubernetes |
75
78
| local_network.go | | Defines configuration for the default local network |
76
79
| monitor_processes.go | | Enables collection of logs and metrics from local processes |
77
80
| network.go | Network | Orchestrates and configures temporary networks |
@@ -293,6 +296,8 @@ The details required to configure a node's execution are written to
293
296
runtime-specific details like the path of the avalanchego binary to
294
297
start the node with.
295
298
299
+ TODO(marun) Separate process from kube-based network deployment
300
+
296
301
#### Flags
297
302
[ Top] ( #table-of-contents )
298
303
@@ -311,6 +316,12 @@ The process details of a node are written by avalanchego to
311
316
process, the URI of the node's API, and the address other nodes can
312
317
use to bootstrap themselves (aka staking address).
313
318
319
+ ## Kube-based networks
320
+
321
+ - ` tmpnet ` supports deploying nodes to kubernetes.
322
+ - Each node will be deployed as a stateful set.
323
+ - The naming convention for statefulsets will be [ network uuid] -[ first 8 characters of node ID excluding NodeID-]
324
+
314
325
## Monitoring
315
326
[ Top] ( #table-of-contents )
316
327
@@ -484,3 +495,12 @@ github action with `filter_by_owner` set to the owner string for the
484
495
shared network. This ensures that the link emitted by the annotation
485
496
displays results for only the shared network of the job rather than
486
497
mixing results from all the networks started for the job.
498
+
499
+ # # Concurrent usage
500
+
501
+ The types (networks, nodes, etc) that tmpnet defines are not safe for
502
+ concurrent usage. To avoid requiring an rpc daemon, tmpnet stores data
503
+ on diskData is shared via the filesystem, and new instances can just
504
+ be created for every usage. Since the Add to this that tmpnet isn't
505
+ intended to be multi-user either. Maybe not optimal in terms of
506
+ scalability, but much simpler to work with for that lack.
0 commit comments