server

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2017 License: BSD-2-Clause Imports: 10 Imported by: 0

Documentation

Overview

Package server provides an http.Handler implementation that includes the Heroku Platform API compatibility layer, GitHub Deployments integration and a simple health check.

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultOptions = Options{}
)

Functions

This section is empty.

Types

type HealthHandler

type HealthHandler struct {
	// A function that returns true if empire is healthy.
	IsHealthy func() error
}

HealthHandler is an http.Handler that returns the health of empire.

func NewHealthHandler

func NewHealthHandler(e *empire.Empire) *HealthHandler

NewHealthHandler returns a new HealthHandler using the IsHealthy method from an Empire instance.

func (*HealthHandler) ServeHTTP added in v0.13.0

func (h *HealthHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type Options

type Options struct {
	GitHub struct {
		// Deployments
		Webhooks struct {
			Secret string
		}
		Deployments struct {
			Environments []string
			ImageBuilder github.ImageBuilder
			TugboatURL   string
		}
	}
}

type Server added in v0.12.0

type Server struct {
	// Base host for the server.
	URL *url.URL

	// The underlying Heroku http.Handler.
	Heroku *heroku.Server

	GitHubWebhooks http.Handler

	Health *HealthHandler

	// If provided, enables the SAML integration.
	ServiceProvider *saml.ServiceProvider
}

Server composes the Heroku API compatibility layer, the GitHub Webhooks handlers and a health check as a single http.Handler.

func New

func New(e *empire.Empire, options Options) *Server

func (*Server) Handler added in v0.13.0

func (s *Server) Handler(r *http.Request) http.Handler

func (*Server) SAMLACS added in v0.12.0

func (s *Server) SAMLACS(w http.ResponseWriter, r *http.Request)

SAMLACS handles the SAML Response call. It will validate the SAML Response and assertions, generate an API token, then present the token to the user.

func (*Server) SAMLLogin added in v0.12.0

func (s *Server) SAMLLogin(w http.ResponseWriter, r *http.Request)

SAMLLogin starts a Service Provider initiated login. It generates an AuthnRequest, signs the generated id and stores it in a cookie, then starts the login with the IdP.

func (*Server) ServeHTTP added in v0.13.0

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

Directories

Path Synopsis
Package auth contains types for authenticating and authorizing requests.
Package auth contains types for authenticating and authorizing requests.
github
Package github provides auth.Authentication and auth.Authorizer implementations backed by GitHub users, orgs and teams.
Package github provides auth.Authentication and auth.Authorizer implementations backed by GitHub users, orgs and teams.
Package cloudformation provides a server for the CloudFormation interface to Empire.
Package cloudformation provides a server for the CloudFormation interface to Empire.
Package github provides an http.Handler implementation that allows Empire to handle GitHub Deployments.
Package github provides an http.Handler implementation that allows Empire to handle GitHub Deployments.
Package heroku provides a Heroku Platform API compatible http.Handler implementation for Empire.
Package heroku provides a Heroku Platform API compatible http.Handler implementation for Empire.

Jump to

Keyboard shortcuts

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