tangled
alpha
login
or
join now
hailey.at
/
vylet-go
1
fork
atom
this repo has no description
1
fork
atom
overview
issues
pulls
pipelines
docker compose tweaks, env var fixes
hailey.at
3 months ago
3eb83ef4
4a0c9b75
+33
-41
4 changed files
expand all
collapse all
unified
split
cmd
bus
firehose
main.go
database
main.go
indexer
main.go
docker-compose-staging.yaml
+4
-4
cmd/bus/firehose/main.go
···
19
telemetry.CLIFlagMetricsListenAddress,
20
&cli.StringSliceFlag{
21
Name: "desired-collections",
22
-
EnvVars: []string{"KAFKA_FIREHOSE_DESIRED_COLLECTIONS"},
23
},
24
&cli.StringFlag{
25
Name: "websocket-host",
26
-
EnvVars: []string{"KAFKA_FIREHOSE_WEBSOCKET_HOST"},
27
Value: "wss://bsky.network",
28
},
29
&cli.StringSliceFlag{
30
Name: "bootstrap-servers",
31
-
EnvVars: []string{"KAFKA_FIREHOSE_BOOTSTRAP_SERVERS"},
32
Value: cli.NewStringSlice("localhost:9092"),
33
},
34
&cli.StringFlag{
35
Name: "output-topic",
36
-
EnvVars: []string{"KAFKA_FIREHOSE_OUTPUT_TOPIC"},
37
Value: "firehose-events-prod",
38
},
39
},
···
19
telemetry.CLIFlagMetricsListenAddress,
20
&cli.StringSliceFlag{
21
Name: "desired-collections",
22
+
EnvVars: []string{"VYLET_FIREHOSE_DESIRED_COLLECTIONS"},
23
},
24
&cli.StringFlag{
25
Name: "websocket-host",
26
+
EnvVars: []string{"VYLET_FIREHOSE_WEBSOCKET_HOST", "BSKY_RELAY_HOST", "RELAY_HOST"},
27
Value: "wss://bsky.network",
28
},
29
&cli.StringSliceFlag{
30
Name: "bootstrap-servers",
31
+
EnvVars: []string{"VYLET_FIREHOSE_BOOTSTRAP_SERVERS", "BOOTSTRAP_SERVERS"},
32
Value: cli.NewStringSlice("localhost:9092"),
33
},
34
&cli.StringFlag{
35
Name: "output-topic",
36
+
EnvVars: []string{"VYLET_FIREHOSE_OUTPUT_TOPIC"},
37
Value: "firehose-events-prod",
38
},
39
},
+6
-4
cmd/database/main.go
···
23
EnvVars: []string{"VYLET_DATABASE_LISTEN_ADDR"},
24
},
25
&cli.StringSliceFlag{
26
-
Name: "cassandra-addrs",
27
-
Value: cli.NewStringSlice("127.0.0.1"),
0
28
},
29
&cli.StringFlag{
30
-
Name: "cassandra-keyspace",
31
-
Value: "vylet",
0
32
},
33
},
34
Action: run,
···
23
EnvVars: []string{"VYLET_DATABASE_LISTEN_ADDR"},
24
},
25
&cli.StringSliceFlag{
26
+
Name: "cassandra-addrs",
27
+
Value: cli.NewStringSlice("127.0.0.1"),
28
+
EnvVars: []string{"VYLET_DATABASE_CASSANDRA_ADDRS"},
29
},
30
&cli.StringFlag{
31
+
Name: "cassandra-keyspace",
32
+
Value: "vylet",
33
+
EnvVars: []string{"VYLET_DATABASE_CASSANDRA_KEYSPACE"},
34
},
35
},
36
Action: run,
+1
-1
cmd/indexer/main.go
···
21
&cli.StringFlag{
22
Name: "database-host",
23
Value: "127.0.0.1:9090",
24
-
EnvVars: []string{"VYLET_DATABASE_HOST"},
25
},
26
&cli.StringSliceFlag{
27
Name: "bootstrap-servers",
···
21
&cli.StringFlag{
22
Name: "database-host",
23
Value: "127.0.0.1:9090",
24
+
EnvVars: []string{"VYLET_INDEXER_DATABASE_HOST", "VYLET_DATABASE_HOST"},
25
},
26
&cli.StringSliceFlag{
27
Name: "bootstrap-servers",
+22
-32
docker-compose-staging.yaml
···
3
image: confluentinc/cp-zookeeper:7.6.0
4
hostname: zookeeper
5
container_name: zookeeper
6
-
ports:
7
-
- "2181:2181"
8
environment:
9
ZOOKEEPER_CLIENT_PORT: 2181
10
ZOOKEEPER_TICK_TIME: 2000
···
16
image: confluentinc/cp-kafka:7.6.0
17
hostname: kafka1
18
container_name: kafka1
0
19
depends_on:
20
- zookeeper
21
-
ports:
22
-
- "9092:9092"
23
-
- "9101:9101"
24
environment:
25
KAFKA_BROKER_ID: 1
26
-
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
27
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
28
-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9092
29
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
30
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
31
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
···
40
image: confluentinc/cp-kafka:7.6.0
41
hostname: kafka2
42
container_name: kafka2
0
43
depends_on:
44
- zookeeper
45
-
ports:
46
-
- "9093:9093"
47
-
- "9102:9102"
48
environment:
49
KAFKA_BROKER_ID: 2
50
-
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
51
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
52
-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka2:29093,PLAINTEXT_HOST://localhost:9093
53
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
54
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
55
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
···
64
image: confluentinc/cp-kafka:7.6.0
65
hostname: kafka3
66
container_name: kafka3
0
67
depends_on:
68
- zookeeper
69
-
ports:
70
-
- "9094:9094"
71
-
- "9103:9103"
72
environment:
73
KAFKA_BROKER_ID: 3
74
-
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
75
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
76
-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka3:29094,PLAINTEXT_HOST://localhost:9094
77
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
78
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
79
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
···
88
image: cassandra:5.0
89
hostname: cassandra
90
container_name: cassandra
91
-
ports:
92
-
- "9042:9042" # CQL native transport port
93
-
- "7000:7000" # Inter-node cluster communication
94
-
- "7199:7199" # JMX monitoring port
95
environment:
96
CASSANDRA_CLUSTER_NAME: 'MyCluster'
97
CASSANDRA_DC: 'dc1'
···
109
database:
110
image: ghcr.io/vylet-app/go/database:main
111
container_name: vylet-database
0
112
depends_on:
113
cassandra:
114
condition: service_healthy
115
-
ports:
116
-
- "9090:9090"
117
environment:
118
VYLET_DATABASE_LISTEN_ADDR: ":9090"
119
-
command: ["./database", "--cassandra-addrs", "cassandra", "--cassandra-keyspace", "vylet"]
120
restart: unless-stopped
121
122
api:
123
image: ghcr.io/vylet-app/go/api:main
124
container_name: vylet-api
0
125
depends_on:
126
- database
127
-
ports:
128
-
- "8080:8080"
129
environment:
130
VYLET_API_LISTEN_ADDR: ":8080"
131
-
VYLET_API_DB_HOST: "database:9090"
132
restart: unless-stopped
133
134
firehose:
135
image: ghcr.io/vylet-app/go/firehose:main
136
container_name: vylet-firehose
0
137
depends_on:
138
- kafka1
139
- kafka2
140
- kafka3
141
environment:
142
-
KAFKA_FIREHOSE_WEBSOCKET_HOST: "wss://bsky.network"
143
-
KAFKA_FIREHOSE_BOOTSTRAP_SERVERS: "kafka1:29092,kafka2:29093,kafka3:29094"
144
-
KAFKA_FIREHOSE_OUTPUT_TOPIC: "firehose-events-prod"
145
restart: unless-stopped
146
147
indexer:
148
image: ghcr.io/vylet-app/go/indexer:main
149
container_name: vylet-indexer
0
150
depends_on:
151
- kafka1
152
- kafka2
153
- kafka3
154
- database
155
environment:
156
-
VYLET_DATABASE_HOST: "database:9090"
157
-
VYLET_BOOTSTRAP_SERVERS: "kafka1:29092,kafka2:29093,kafka3:29094"
158
VYLET_INDEXER_INPUT_TOPIC: "firehose-events-prod"
159
VYLET_INDEXER_CONSUMER_GROUP: "vylet-indexer-staging"
160
restart: unless-stopped
···
3
image: confluentinc/cp-zookeeper:7.6.0
4
hostname: zookeeper
5
container_name: zookeeper
6
+
network_mode: host
0
7
environment:
8
ZOOKEEPER_CLIENT_PORT: 2181
9
ZOOKEEPER_TICK_TIME: 2000
···
15
image: confluentinc/cp-kafka:7.6.0
16
hostname: kafka1
17
container_name: kafka1
18
+
network_mode: host
19
depends_on:
20
- zookeeper
0
0
0
21
environment:
22
KAFKA_BROKER_ID: 1
23
+
KAFKA_ZOOKEEPER_CONNECT: 'localhost:2181'
24
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
25
+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:29092,PLAINTEXT_HOST://localhost:9092
26
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
27
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
28
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
···
37
image: confluentinc/cp-kafka:7.6.0
38
hostname: kafka2
39
container_name: kafka2
40
+
network_mode: host
41
depends_on:
42
- zookeeper
0
0
0
43
environment:
44
KAFKA_BROKER_ID: 2
45
+
KAFKA_ZOOKEEPER_CONNECT: 'localhost:2181'
46
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
47
+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:29093,PLAINTEXT_HOST://localhost:9093
48
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
49
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
50
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
···
59
image: confluentinc/cp-kafka:7.6.0
60
hostname: kafka3
61
container_name: kafka3
62
+
network_mode: host
63
depends_on:
64
- zookeeper
0
0
0
65
environment:
66
KAFKA_BROKER_ID: 3
67
+
KAFKA_ZOOKEEPER_CONNECT: 'localhost:2181'
68
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
69
+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:29094,PLAINTEXT_HOST://localhost:9094
70
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
71
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
72
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
···
81
image: cassandra:5.0
82
hostname: cassandra
83
container_name: cassandra
84
+
network_mode: host
0
0
0
85
environment:
86
CASSANDRA_CLUSTER_NAME: 'MyCluster'
87
CASSANDRA_DC: 'dc1'
···
99
database:
100
image: ghcr.io/vylet-app/go/database:main
101
container_name: vylet-database
102
+
network_mode: host
103
depends_on:
104
cassandra:
105
condition: service_healthy
0
0
106
environment:
107
VYLET_DATABASE_LISTEN_ADDR: ":9090"
108
+
command: ["./database", "--cassandra-addrs", "127.0.0.1", "--cassandra-keyspace", "vylet"]
109
restart: unless-stopped
110
111
api:
112
image: ghcr.io/vylet-app/go/api:main
113
container_name: vylet-api
114
+
network_mode: host
115
depends_on:
116
- database
0
0
117
environment:
118
VYLET_API_LISTEN_ADDR: ":8080"
119
+
VYLET_API_DB_HOST: "localhost:9090"
120
restart: unless-stopped
121
122
firehose:
123
image: ghcr.io/vylet-app/go/firehose:main
124
container_name: vylet-firehose
125
+
network_mode: host
126
depends_on:
127
- kafka1
128
- kafka2
129
- kafka3
130
environment:
131
+
VYLET_FIREHOSE_WEBSOCKET_HOST: "wss://bsky.network"
132
+
VYLET_FIREHOSE_BOOTSTRAP_SERVERS: "localhost:9092,localhost:9093,localhost:9094"
133
+
VYLET_FIREHOSE_OUTPUT_TOPIC: "firehose-events-prod"
134
restart: unless-stopped
135
136
indexer:
137
image: ghcr.io/vylet-app/go/indexer:main
138
container_name: vylet-indexer
139
+
network_mode: host
140
depends_on:
141
- kafka1
142
- kafka2
143
- kafka3
144
- database
145
environment:
146
+
VYLET_INDEXER_DATABASE_HOST: "localhost:9090"
147
+
VYLET_BOOTSTRAP_SERVERS: "localhost:9092,localhost:9093,localhost:9094"
148
VYLET_INDEXER_INPUT_TOPIC: "firehose-events-prod"
149
VYLET_INDEXER_CONSUMER_GROUP: "vylet-indexer-staging"
150
restart: unless-stopped