good morning!!!!

Skip to content
Snippets Groups Projects
Commit 33096513 authored by Garet Halliday's avatar Garet Halliday
Browse files

pretty much done

parent 38e974c7
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,8 @@ import (
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
"gfx.cafe/gfx/pggat/lib/gat/handlers/discovery/discoverers/digitalocean"
"gfx.cafe/gfx/pggat/lib/gat/handlers/discovery/discoverers/google_cloud_sql"
"gfx.cafe/gfx/pggat/lib/gat/handlers/discovery/discoverers/zalando_operator"
)
func init() {
......@@ -22,4 +24,42 @@ func init() {
},
}, nil
})
RegisterDirective(Discoverer, "google_cloud_sql", func(d *caddyfile.Dispenser, warnings *[]caddyconfig.Warning) (caddy.Module, error) {
module := google_cloud_sql.Discoverer{
Config: google_cloud_sql.Config{
IpAddressType: "PRIMARY",
},
}
if !d.NextArg() {
return nil, d.ArgErr()
}
module.Project = d.Val()
if !d.NextArg() {
return nil, d.ArgErr()
}
module.AuthUser = d.Val()
if !d.NextArg() {
return nil, d.ArgErr()
}
module.AuthPassword = d.Val()
return &module, nil
})
RegisterDirective(Discoverer, "zalando_operator", func(d *caddyfile.Dispenser, warnings *[]caddyconfig.Warning) (caddy.Module, error) {
module := zalando_operator.Discoverer{
Config: zalando_operator.Config{
Namespace: "default",
},
}
if !d.NextArg() {
return nil, d.ArgErr()
}
module.OperatorConfigurationObject = d.Val()
return &module, nil
})
}
......@@ -235,6 +235,8 @@ func init() {
module.ServerStartupParameters = make(map[string]string)
}
module.ServerStartupParameters[key] = value
default:
return nil, d.ArgErr()
}
if !d.NextLine() {
......
......@@ -27,29 +27,89 @@ var defaultPoolManagementConfig = pool.ManagementConfig{
},
}
func init() {
RegisterDirective(Pooler, "transaction", func(d *caddyfile.Dispenser, warnings *[]caddyconfig.Warning) (caddy.Module, error) {
module := transaction.Pool{
ManagementConfig: defaultPoolManagementConfig,
func unmarshalPoolConfig(d *caddyfile.Dispenser) (pool.ManagementConfig, error) {
var config = defaultPoolManagementConfig
if !d.NextBlock(d.Nesting()) {
return config, nil
}
config.TrackedParameters = nil
for {
if d.Val() == "}" {
break
}
directive := d.Val()
switch directive {
case "idle_timeout":
if !d.NextArg() {
return config, d.ArgErr()
}
val, err := time.ParseDuration(d.Val())
if err != nil {
return config, d.WrapErr(err)
}
config.ServerIdleTimeout = dur.Duration(val)
case "reconnect":
if !d.NextArg() {
return config, d.ArgErr()
}
initialTime, err := time.ParseDuration(d.Val())
if err != nil {
return config, d.WrapErr(err)
}
maxTime := initialTime
if d.NextArg() {
maxTime, err = time.ParseDuration(d.Val())
if err != nil {
return config, d.WrapErr(err)
}
}
config.ServerReconnectInitialTime = dur.Duration(initialTime)
config.ServerReconnectMaxTime = dur.Duration(maxTime)
case "track":
if !d.NextArg() {
return config, d.ArgErr()
}
config.TrackedParameters = append(config.TrackedParameters, strutil.MakeCIString(d.Val()))
default:
return config, d.ArgErr()
}
if !d.NextBlock(d.Nesting()) {
return &module, nil
if !d.NextLine() {
return config, d.EOFErr()
}
}
// TODO(garet)
panic("TODO(garet)")
})
RegisterDirective(Pooler, "session", func(d *caddyfile.Dispenser, warnings *[]caddyconfig.Warning) (caddy.Module, error) {
module := session.Pool{
ManagementConfig: defaultPoolManagementConfig,
return config, nil
}
func init() {
RegisterDirective(Pooler, "transaction", func(d *caddyfile.Dispenser, warnings *[]caddyconfig.Warning) (caddy.Module, error) {
config, err := unmarshalPoolConfig(d)
if err != nil {
return nil, err
}
if !d.NextBlock(d.Nesting()) {
return &module, nil
return &transaction.Pool{
ManagementConfig: config,
}, nil
})
RegisterDirective(Pooler, "session", func(d *caddyfile.Dispenser, warnings *[]caddyconfig.Warning) (caddy.Module, error) {
config, err := unmarshalPoolConfig(d)
if err != nil {
return nil, err
}
// TODO(garet)
panic("TODO(garet)")
return &session.Pool{
ManagementConfig: config,
}, nil
})
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment