9
9
"strings"
10
10
11
11
// Packages
12
+
12
13
"github.com/mutablelogic/go-server/pkg/provider"
13
14
)
14
15
@@ -46,7 +47,8 @@ func main() {
46
47
47
48
// Create configurations
48
49
var result error
49
- for _ , plugin := range []string {"logger" , "httpserver" , "router" , "nginx-handler" , "auth-handler" , "tokenjar-handler" } {
50
+ for _ , plugin := range []string {"logger" , "httpserver" , "router" , "router-frontend" , "nginx-handler" , "auth-handler" , "tokenjar-handler" } {
51
+ // Create a new configuration for the plugin
50
52
if _ , err := provider .New (plugin ); err != nil {
51
53
result = errors .Join (result , err )
52
54
}
@@ -56,48 +58,34 @@ func main() {
56
58
os .Exit (1 )
57
59
}
58
60
59
- // TODO: Set parameters from a JSON file
61
+ // Create configuration manually
62
+ // SET does not actually set it:
63
+ // - checks the field exists
64
+ // - updates the dependencies between fields
65
+ // - marks that the value should be set later
66
+ // - there is a binding stage later which actually sets the value
67
+ // - this also ensures we set things in the right order
68
+ // GET will:
69
+ // - check the field exists
70
+ // - return a reference to the value if not applied yet
60
71
provider .Set ("logger.flags" , []string {"default" , "prefix" })
72
+
73
+ provider .Set ("nginx.binary" , "/usr/local/bin/nginx" )
74
+ provider .Set ("nginx.data" , "/var/run/nginx" )
75
+ provider .Set ("nginx.group" , "www-data" )
76
+
77
+ provider .Set ("httpserver.listen" , "run/go-server.sock" )
78
+ provider .Set ("httpserver.group" , "www-data" )
79
+ provider .Set ("httpserver.router" , provider .Get ("router" ))
80
+
81
+ provider .Set ("auth.tokenjar" , provider .Get ("tokenjar" ))
82
+ provider .Set ("auth.tokenbytes" , 16 )
83
+ provider .Set ("auth.bearer" , true )
84
+
85
+ provider .Set ("tokenjar.data" , "run" )
86
+ provider .Set ("tokenjar.writeinterval" , "30s" )
61
87
}
62
88
63
89
/*
64
- {
65
- "logger": {
66
- "flags": ["default", "prefix"]
67
- },
68
- "nginx": {
69
- "binary": "/usr/local/bin/nginx",
70
- "data": "/var/run/nginx",
71
- "group": "www-data",
72
- },
73
- httpserver": {
74
- "listen": "run/go-server.sock",
75
- "group": "www-data",
76
- "router": "${ router }",
77
- },
78
- "router": {
79
- "services": {
80
- "nginx": {
81
- "service": "${ nginx }",
82
- "middleware": ["logger", "auth"]
83
- },
84
- "auth": {
85
- "service": "${ auth }",
86
- "middleware": ["logger", "auth"]
87
- },
88
- "router": {
89
- "service": "${ router }",
90
- "middleware": ["logger", "auth"]
91
- },
92
- },
93
- "auth": {
94
- "tokenjar": "${ tokenjar }",
95
- "tokenbytes": 16,
96
- "bearer": true,
97
- },
98
- "tokenjar": {
99
- "data": "run",
100
- "writeinterval": "30s",
101
- },
102
- }
103
- */
90
+
91
+ */
0 commit comments