mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-11 02:48:21 +00:00
Move Addresses and Services ro Object
This commit is contained in:
parent
5b6889cbae
commit
de5efa2592
7 changed files with 22 additions and 8 deletions
|
@ -1,4 +1,4 @@
|
||||||
package firewall
|
package object
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
@ -13,8 +13,8 @@ type GetAddressesResult struct {
|
||||||
Addresses map[string]definitions.Address
|
Addresses map[string]definitions.Address
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) GetAddresses(ctx context.Context, params GetForwardRulesParameters) (GetAddressesResult, error) {
|
func (f *Object) GetAddresses(ctx context.Context, params GetAddressesParameters) (GetAddressesResult, error) {
|
||||||
return GetAddressesResult{
|
return GetAddressesResult{
|
||||||
Addresses: f.Conf.Firewall.Addresses,
|
Addresses: f.Conf.Object.Addresses,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
7
internal/api/object/object.go
Normal file
7
internal/api/object/object.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
package object
|
||||||
|
|
||||||
|
import "nfsense.net/nfsense/internal/definitions"
|
||||||
|
|
||||||
|
type Object struct {
|
||||||
|
Conf *definitions.Config
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package firewall
|
package object
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
@ -13,8 +13,8 @@ type GetServicesResult struct {
|
||||||
Services map[string]definitions.Service
|
Services map[string]definitions.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) GetServices(ctx context.Context, params GetForwardRulesParameters) (GetServicesResult, error) {
|
func (f *Object) GetServices(ctx context.Context, params GetServicesParameters) (GetServicesResult, error) {
|
||||||
return GetServicesResult{
|
return GetServicesResult{
|
||||||
Services: f.Conf.Firewall.Services,
|
Services: f.Conf.Object.Services,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
|
@ -10,6 +10,7 @@ import (
|
||||||
type Config struct {
|
type Config struct {
|
||||||
ConfigVersion uint64 `json:"config_version" validate:"required,eq=1"`
|
ConfigVersion uint64 `json:"config_version" validate:"required,eq=1"`
|
||||||
Firewall Firewall `json:"firewall" validate:"required,dive"`
|
Firewall Firewall `json:"firewall" validate:"required,dive"`
|
||||||
|
Object Object `json:"object" validate:"required,dive"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func ValidateConfig(conf *Config) error {
|
func ValidateConfig(conf *Config) error {
|
||||||
|
|
|
@ -4,6 +4,4 @@ type Firewall struct {
|
||||||
ForwardRules []ForwardRule `json:"forward_rules" validate:"required,dive"`
|
ForwardRules []ForwardRule `json:"forward_rules" validate:"required,dive"`
|
||||||
DestinationNATRules []DestinationNATRule `json:"destination_nat_rules" validate:"required,dive"`
|
DestinationNATRules []DestinationNATRule `json:"destination_nat_rules" validate:"required,dive"`
|
||||||
SourceNATRules []SourceNATRule `json:"source_nat_rules" validate:"required,dive"`
|
SourceNATRules []SourceNATRule `json:"source_nat_rules" validate:"required,dive"`
|
||||||
Addresses map[string]Address `json:"addresses" validate:"required,dive"`
|
|
||||||
Services map[string]Service `json:"services" validate:"required,dive"`
|
|
||||||
}
|
}
|
||||||
|
|
6
internal/definitions/object.go
Normal file
6
internal/definitions/object.go
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
package definitions
|
||||||
|
|
||||||
|
type Object struct {
|
||||||
|
Addresses map[string]Address `json:"addresses" validate:"required,dive"`
|
||||||
|
Services map[string]Service `json:"services" validate:"required,dive"`
|
||||||
|
}
|
2
main.go
2
main.go
|
@ -12,6 +12,7 @@ import (
|
||||||
|
|
||||||
"golang.org/x/exp/slog"
|
"golang.org/x/exp/slog"
|
||||||
"nfsense.net/nfsense/internal/api/firewall"
|
"nfsense.net/nfsense/internal/api/firewall"
|
||||||
|
"nfsense.net/nfsense/internal/api/object"
|
||||||
"nfsense.net/nfsense/internal/definitions"
|
"nfsense.net/nfsense/internal/definitions"
|
||||||
"nfsense.net/nfsense/internal/jsonrpc"
|
"nfsense.net/nfsense/internal/jsonrpc"
|
||||||
"nfsense.net/nfsense/internal/nftables"
|
"nfsense.net/nfsense/internal/nftables"
|
||||||
|
@ -93,6 +94,7 @@ func LoadConfiguration(file string) (*definitions.Config, error) {
|
||||||
|
|
||||||
func RegisterAPIMethods(apiHandler *jsonrpc.Handler, conf *definitions.Config) {
|
func RegisterAPIMethods(apiHandler *jsonrpc.Handler, conf *definitions.Config) {
|
||||||
apiHandler.Register("Firewall", &firewall.Firewall{Conf: conf})
|
apiHandler.Register("Firewall", &firewall.Firewall{Conf: conf})
|
||||||
|
apiHandler.Register("Object", &object.Object{Conf: conf})
|
||||||
}
|
}
|
||||||
|
|
||||||
func apply(conf *definitions.Config) error {
|
func apply(conf *definitions.Config) error {
|
||||||
|
|
Loading…
Add table
Reference in a new issue