env

package
v0.14.29 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2020 License: Apache-2.0 Imports: 57 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ClientCertHeader       = "X-Client-CertPem"
	EdgeRouterProxyRequest = "X-Edge-Router-Proxy-Request"
)
View Source
const MigrationPathPostgres = "embedded://db/postgres/migrations"
View Source
const PackrPrefix = "embedded"

Variables

This section is empty.

Functions

func AddRouter

func AddRouter(rf ApiRouter)

func InitPersistence

func InitPersistence(p *config.Persistence) *gorm.DB

func NewMethodNotAllowedHandler

func NewMethodNotAllowedHandler(ae *AppEnv) http.Handler

func NewNotFoundHandler

func NewNotFoundHandler(ae *AppEnv) http.Handler

func WrapByIdHandler

func WrapByIdHandler(ae *AppEnv, f AuthHandlerFunc, idType response.IdType, prs ...permissions.Resolver) http.HandlerFunc

Types

type AddRouterFunc

type AddRouterFunc func(ae *AppEnv)

func GetRouters

func GetRouters() []AddRouterFunc

type ApiRouter

type ApiRouter interface {
	Register(ae *AppEnv)
}

type AppEnv

type AppEnv struct {
	BoltStores              *persistence.Stores
	Handlers                *model.Handlers
	Embedded                *packr.Box
	Schemes                 *Schemes
	Config                  *edgeconfig.Config
	EnrollmentJwtGenerator  jwt.EnrollmentGenerator
	Versions                *config.Versions
	AuthHeaderName          string
	AuthCookieName          string
	ApiServerCsrSigner      cert.Signer
	ApiClientCsrSigner      cert.Signer
	ControlClientCsrSigner  cert.Signer
	FingerprintGenerator    cert.FingerprintGenerator
	RootRouter              *mux.Router
	CurrentIdentityRouter   *mux.Router
	RequestResponderFactory response.RequestResponderFactory
	ModelHandlers           *migration.ModelHandlers
	AuthRegistry            model.AuthRegistry
	EnrollRegistry          model.EnrollmentRegistry
	Broker                  *Broker
	HostController          HostController
}

func NewAppEnv

func NewAppEnv(c *edgeconfig.Config) *AppEnv

func (*AppEnv) GetApiClientCsrSigner

func (ae *AppEnv) GetApiClientCsrSigner() cert.Signer

func (*AppEnv) GetApiServerCsrSigner

func (ae *AppEnv) GetApiServerCsrSigner() cert.Signer

func (*AppEnv) GetAuthRegistry

func (ae *AppEnv) GetAuthRegistry() model.AuthRegistry

func (*AppEnv) GetConfig

func (ae *AppEnv) GetConfig() *edgeconfig.Config

func (*AppEnv) GetControlClientCsrSigner

func (ae *AppEnv) GetControlClientCsrSigner() cert.Signer

func (*AppEnv) GetDbProvider

func (ae *AppEnv) GetDbProvider() persistence.DbProvider

func (*AppEnv) GetEmbeddedFileContent

func (ae *AppEnv) GetEmbeddedFileContent(filePath string) (string, error)

func (*AppEnv) GetEnrollRegistry

func (ae *AppEnv) GetEnrollRegistry() model.EnrollmentRegistry

func (*AppEnv) GetEnrollmentJwtGenerator

func (ae *AppEnv) GetEnrollmentJwtGenerator() jwt.EnrollmentGenerator

func (*AppEnv) GetHandlers

func (ae *AppEnv) GetHandlers() *model.Handlers

func (*AppEnv) GetHostController

func (ae *AppEnv) GetHostController() model.HostController

func (*AppEnv) GetSchemas

func (ae *AppEnv) GetSchemas() model.Schemas

func (*AppEnv) GetStores

func (ae *AppEnv) GetStores() *persistence.Stores

func (*AppEnv) HandleDelete

func (ae *AppEnv) HandleDelete(router *mux.Router, path string, f AppHandler, prs ...permissions.Resolver)

func (*AppEnv) HandleGet

func (ae *AppEnv) HandleGet(router *mux.Router, path string, f AppHandler, prs ...permissions.Resolver)

func (*AppEnv) HandlePost

func (ae *AppEnv) HandlePost(router *mux.Router, path string, f AppHandler, prs ...permissions.Resolver)

func (*AppEnv) InitPersistence

func (ae *AppEnv) InitPersistence() error

func (*AppEnv) IsEdgeRouterOnline

func (ae *AppEnv) IsEdgeRouterOnline(id string) bool

func (*AppEnv) LoadSchemas

func (ae *AppEnv) LoadSchemas() error

func (*AppEnv) WrapHandler

func (ae *AppEnv) WrapHandler(f AppHandler, prs ...permissions.Resolver) http.HandlerFunc

func (*AppEnv) WrapMiddleware

func (ae *AppEnv) WrapMiddleware(f AppMiddleware) mux.MiddlewareFunc

type AppHandler

type AppHandler func(ae *AppEnv, rc *response.RequestContext)

type AppMiddleware

type AppMiddleware func(*AppEnv, http.Handler) http.Handler

type AuthHandlerFunc

type AuthHandlerFunc func(ae *AppEnv, rc *response.RequestContext, hc *HandlerContext)

type AuthModuler

type AuthModuler interface {
	Registerer
	Migrater
	Authenticator
	Enroller
}

type AuthStore

type AuthStore interface {
	BaseLoadOneByAuthenticatorId(authId string, pl *migration.Preloads) (migration.BaseDbModel, error)
	migration.Store
}

type Authenticator

type Authenticator interface {
	IsAuthenticatorForMethod(string) bool
	IsAuthorized(*AppEnv, *http.Request) (string, error)
	RenderAuthenticatorDetails(e *migration.Authenticator) (interface{}, error)
	AuthStore() AuthStore
	Fingerprints(auth *migration.Authenticator) ([]string, error)
}

type BaseApi

type BaseApi struct {
	Id        string                 `json:"id"`
	CreatedAt *time.Time             `json:"createdAt"`
	UpdatedAt *time.Time             `json:"updatedAt"`
	Links     *response.Links        `json:"_links"`
	Tags      map[string]interface{} `json:"tags"`
}

func FromBaseDbEntity

func FromBaseDbEntity(entity *migration.BaseDbEntity) *BaseApi

func FromBaseModelEntity

func FromBaseModelEntity(entity models.Entity) *BaseApi

type BasicEntitySchema

type BasicEntitySchema struct {
	Post  *gojsonschema.Schema
	Patch *gojsonschema.Schema
	Put   *gojsonschema.Schema
}

type Broker

type Broker struct {
	// contains filtered or unexported fields
}

func NewBroker

func NewBroker(ae *AppEnv) *Broker

func (*Broker) AddEdgeRouter

func (b *Broker) AddEdgeRouter(ch channel2.Channel, edgeRouter *model.EdgeRouter)

func (*Broker) GetOnlineEdgeRouter

func (b *Broker) GetOnlineEdgeRouter(id string) *model.EdgeRouter

func (*Broker) RouterConnected

func (b *Broker) RouterConnected(r *network.Router)

func (*Broker) RouterDisconnected

func (b *Broker) RouterDisconnected(r *network.Router)

type DefaultEventLogger

type DefaultEventLogger struct {
	Ae *AppEnv
}

func (*DefaultEventLogger) Log

func (el *DefaultEventLogger) Log(actorType, actorId, eventType, entityType, entityId, formatString string, formatData []string, data map[interface{}]interface{})

type DriverGenerator

type DriverGenerator interface {
	AppDriver(cs string) (*gorm.DB, error)
	MigrationDriver(cs string) (database.Driver, error)
	Name() string
}

type Enroller

type Enroller interface {
	ProcessEnrollmentConfig(ae *AppEnv, method string, config interface{}) (interface{}, error)
	Enroll(ae *AppEnv, rc *response.RequestContext, ec *EnrollmentContextOld)
	CreateEnrollment(ae *AppEnv, ec *EnrollmentContextOld, tx *gorm.DB) error
	IsIdentityEnrollment(m string) bool
	IsEnrollerForMethod(m string) bool
	RenderEnrollmentDetails(e *migration.Enrollment) (interface{}, error)
}

type EnrollmentContext

type EnrollmentContext struct {
	Enrollment    *model.Enrollment
	Authenticator *model.Authenticator
	Identity      *model.Identity
	Method        string //dupes Enrollment.Method, but Enrollment is not always defined
}

type EnrollmentContextOld

type EnrollmentContextOld struct {
	Enrollment    *migration.Enrollment
	Authenticator *migration.Authenticator
	Identity      *migration.Identity
	Method        string //dupes Enrollment.Method, but Enrollment is not always defined
}

type EnvInfo

type EnvInfo struct {
	Arch      string `json:"arch"`
	Os        string `json:"os"`
	OsRelease string `json:"osRelease"`
	OsVersion string `json:"osVersion"`
}

type HandlerContext

type HandlerContext struct {
	TargetIdentity *model.Identity
	Data           map[string]interface{}
}

type HostController

type HostController interface {
	RegisterXctrl(x xctrl.Xctrl) error
	RegisterXmgmt(x xmgmt.Xmgmt) error
	GetNetwork() *network.Network
}

type IdentityEntitySchema

type IdentityEntitySchema struct {
	Post           *gojsonschema.Schema
	Patch          *gojsonschema.Schema
	Put            *gojsonschema.Schema
	ServiceConfigs *gojsonschema.Schema
}

type MethodNotAllowedHandler

type MethodNotAllowedHandler struct {
	// contains filtered or unexported fields
}

func (*MethodNotAllowedHandler) ServeHTTP

func (handler *MethodNotAllowedHandler) ServeHTTP(rw http.ResponseWriter, r *http.Request)

type Migrater

type Migrater interface {
	GetMigrations() []*packr.Box
}

type NotFoundHandler

type NotFoundHandler struct {
	// contains filtered or unexported fields
}

func (*NotFoundHandler) ServeHTTP

func (handler *NotFoundHandler) ServeHTTP(rw http.ResponseWriter, r *http.Request)

type PostgresDriverGenerator

type PostgresDriverGenerator struct {
}

func (*PostgresDriverGenerator) AppDriver

func (pg *PostgresDriverGenerator) AppDriver(cs string) (*gorm.DB, error)

func (*PostgresDriverGenerator) MigrationDriver

func (pg *PostgresDriverGenerator) MigrationDriver(cs string) (database.Driver, error)

func (PostgresDriverGenerator) Name

type Registerer

type Registerer interface {
	Register(ae *AppEnv, identityRouter *mux.Router, currentUserRouter *mux.Router, idType response.IdType)
}

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func (*Registry) AddAuthenticator

func (r *Registry) AddAuthenticator(a Authenticator)

func (*Registry) AddEnroller

func (r *Registry) AddEnroller(e Enroller)

func (*Registry) AddMigrater

func (r *Registry) AddMigrater(m Migrater)

func (*Registry) AddModule

func (r *Registry) AddModule(a AuthModuler)

func (*Registry) AddRegisterer

func (r *Registry) AddRegisterer(rer Registerer)

func (*Registry) GetAuthenticatorByMethod

func (r *Registry) GetAuthenticatorByMethod(m string) Authenticator

func (*Registry) GetAuthenticators

func (r *Registry) GetAuthenticators() []Authenticator

func (*Registry) GetEnrollerByMethod

func (r *Registry) GetEnrollerByMethod(m string) Enroller

func (*Registry) GetEnrollers

func (r *Registry) GetEnrollers() []Enroller

func (*Registry) GetMigraters

func (r *Registry) GetMigraters() []Migrater

func (*Registry) GetRegisterers

func (r *Registry) GetRegisterers() []Registerer

type Schemes

type Schemes struct {
	Association             *BasicEntitySchema
	Authenticator           *BasicEntitySchema
	AuthenticatorSelf       *BasicEntitySchema
	Ca                      *BasicEntitySchema
	Config                  *BasicEntitySchema
	ConfigType              *BasicEntitySchema
	Enroller                *BasicEntitySchema
	EnrollEr                *BasicEntitySchema
	EnrollUpdb              *BasicEntitySchema
	EdgeRouter              *BasicEntitySchema
	EdgeRouterPolicy        *BasicEntitySchema
	TransitRouter           *BasicEntitySchema
	Identity                *IdentityEntitySchema
	Service                 *BasicEntitySchema
	ServiceEdgeRouterPolicy *BasicEntitySchema
	ServicePolicy           *BasicEntitySchema
	Session                 *BasicEntitySchema
	Terminator              *BasicEntitySchema
}

func (Schemes) GetEnrollErPost

func (s Schemes) GetEnrollErPost() *gojsonschema.Schema

func (Schemes) GetEnrollUpdbPost

func (s Schemes) GetEnrollUpdbPost() *gojsonschema.Schema

type SdkInfo

type SdkInfo struct {
	Branch   string `json:"branch"`
	Revision string `json:"revision"`
	Type     string `json:"type"`
	Version  string `json:"version"`
}

Jump to

Keyboard shortcuts

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