Skip to content

Commit 163a379

Browse files
authored
feat: filter by region (#107)
Signed-off-by: Chris Gianelloni <[email protected]>
1 parent 901672e commit 163a379

File tree

5 files changed

+16
-2
lines changed

5 files changed

+16
-2
lines changed

cmd/vpn-indexer/main.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,11 @@ func main() {
8787
}
8888

8989
slog.Info(
90-
fmt.Sprintf("vpn-indexer %s started", version.GetVersionString()),
90+
fmt.Sprintf(
91+
"vpn-indexer %s started for region %s",
92+
version.GetVersionString(),
93+
cfg.Vpn.Region,
94+
),
9195
)
9296

9397
// Start debug listener

internal/config/config.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ type S3Config struct {
8484

8585
type VpnConfig struct {
8686
Domain string `yaml:"domain"`
87+
Region string `yaml:"region"`
8788
Port int `yaml:"port"`
8889
}
8990

@@ -134,6 +135,7 @@ var globalConfig = &Config{
134135
},
135136
Vpn: VpnConfig{
136137
Domain: "test.domain",
138+
Region: "test",
137139
Port: 443,
138140
},
139141
Crl: CrlConfig{

internal/database/client.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ func (d *Database) AddClient(
4848

4949
func (d *Database) ExpiredClients() ([]Client, error) {
5050
var ret []Client
51-
result := d.db.Where("expiration < datetime('now')").
51+
result := d.db.
52+
Where("expiration < datetime('now') AND region == ?", d.config.Vpn.Region).
5253
Order("expiration").
5354
Find(&ret)
5455
if result.Error != nil {

internal/database/database.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
var ErrRecordNotFound = gorm.ErrRecordNotFound
3333

3434
type Database struct {
35+
config *config.Config
3536
db *gorm.DB
3637
logger *slog.Logger
3738
}
@@ -72,6 +73,7 @@ func New(cfg *config.Config, logger *slog.Logger) (*Database, error) {
7273
return nil, err
7374
}
7475
d := &Database{
76+
config: cfg,
7577
db: db,
7678
logger: logger,
7779
}

internal/indexer/indexer.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,11 @@ func (i *Indexer) handleEventClient(txOutput lcommon.Utxo) error {
318318
if err != nil {
319319
return err
320320
}
321+
// Check region match
322+
if i.cfg.Vpn.Region != string(clientDatum.Region) {
323+
// Region doesn't match, return without error
324+
return nil
325+
}
321326
// Generate client
322327
tmpClient := client.New(i.cfg, i.ca, assetName)
323328
vpnHost := fmt.Sprintf(

0 commit comments

Comments
 (0)