service

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2021 License: Apache-2.0, MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTLSConfig

func CreateTLSConfig(certFile, keyFile, caCertFile string, tls1011 bool) (*tls.Config, error)

CreateTLSConfig returns a TLS config from the given cert and key.

func NewHttpService

func NewHttpService(core Service) *httpService

Types

type AddPoliciesRequest

type AddPoliciesRequest struct {
	NS    string     `json:"ns" validate:"required"`
	Sec   string     `json:"sec" validate:"required"`
	PType string     `json:"ptype" validate:"required"`
	Rules [][]string `json:"rules" validate:"required"`
}

type ClearPolicyRequest

type ClearPolicyRequest struct {
	NS string `json:"ns" validate:"required"`
}

type CreateNameSpaceRequest

type CreateNameSpaceRequest struct {
	NS string `json:"ns" validate:"required"`
}

type EnforceReply

type EnforceReply struct {
	Ok bool `json:"ok"`
}

type EnforceRequest

type EnforceRequest struct {
	NS        string        `json:"ns" validate:"required"`
	Level     int32         `json:"level"`
	Freshness int64         `json:"freshness"`
	Params    []interface{} `json:"params"`
}

type JoinRequest

type JoinRequest struct {
	ID       string            `json:"id" validate:"required"`
	Addr     string            `json:"addr" validate:"required"`
	Voter    bool              `json:"voter" validate:"required"`
	Metadata map[string]string `json:"metadata"`
}

type RemoveFilteredPolicyRequest

type RemoveFilteredPolicyRequest struct {
	NS          string   `json:"ns" validate:"required"`
	Sec         string   `json:"sec" validate:"required"`
	PType       string   `json:"ptype" validate:"required"`
	FieldIndex  int32    `json:"fieldIndex" validate:"required"`
	FieldValues []string `json:"fieldValues" validate:"required"`
}

type RemovePoliciesRequest

type RemovePoliciesRequest struct {
	NS    string     `json:"ns" validate:"required"`
	Sec   string     `json:"sec" validate:"required"`
	PType string     `json:"ptype" validate:"required"`
	Rules [][]string `json:"rules" validate:"required"`
}

type RemoveRequest

type RemoveRequest struct {
	ID string `json:"id" validate:"required"`
}

type Service

type Service interface {
	Stats(ctx context.Context) (map[string]interface{}, error)
	CreateNamespace(ctx context.Context, ns string) error
	SetModelFromString(ctx context.Context, ns string, text string) error
	Enforce(ctx context.Context, ns string, level int32, freshness int64, params ...interface{}) (bool, error)
	AddPolicies(ctx context.Context, ns string, sec string, pType string, rules [][]string) error
	RemovePolicies(ctx context.Context, ns string, sec string, pType string, rules [][]string) error
	RemoveFilteredPolicy(ctx context.Context, ns string, sec string, pType string, fi int32, fv []string) error
	UpdatePolicy(ctx context.Context, ns string, sec string, pType string, nr, or []string) error
	UpdatePolicies(ctx context.Context, ns string, sec string, pType string, nr, or [][]string) error
	ClearPolicy(ctx context.Context, ns string) error
	Join(ctx context.Context, id, addr string, voter bool, metadata map[string]string) error
	Remove(ctx context.Context, id string) error
}

func New

func New(store *store.Store) Service

type SetModelFromStringRequest

type SetModelFromStringRequest struct {
	NS   string `json:"ns" validate:"required"`
	Text string `json:"text" validate:"required"`
}

type UpdatePoliciesRequest

type UpdatePoliciesRequest struct {
	NS       string     `json:"ns" validate:"required"`
	Sec      string     `json:"sec" validate:"required"`
	PType    string     `json:"ptype" validate:"required"`
	NewRules [][]string `json:"newRules" validate:"required"`
	OldRules [][]string `json:"oldRules" validate:"required"`
}

type UpdatePolicyRequest

type UpdatePolicyRequest struct {
	NS      string   `json:"ns" validate:"required"`
	Sec     string   `json:"sec" validate:"required"`
	PType   string   `json:"ptype" validate:"required"`
	NewRule []string `json:"newRule" validate:"required"`
	OldRule []string `json:"oldRule" validate:"required"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL