Help us shape the future of Go! Take the 2026 Go Developer Survey

supply

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const ServiceName = "authorization"

Variables

This section is empty.

Functions

func LoadIASClientCert added in v0.2.0

func LoadIASClientCert(log *libbuildpack.Logger) (cert []byte, key []byte, err error)

Types

type AMSCredentials

type AMSCredentials struct {
	BundleURL   string                  `json:"bundle_url" validate:"required_without=ObjectStore"`
	ObjectStore *ObjectStoreCredentials `json:"object_store" validate:"required_without=BundleURL"`
	URL         string                  `json:"url" validate:"required"`
	InstanceID  string                  `json:"instance_id"`
}

AMSCredentials are credentials from the legacy standalone authorization broker

type ClientTLS added in v0.2.0

type ClientTLS struct {
	Cert string `json:"cert,omitempty"`
	Key  string `json:"private_key,omitempty"`
}

type Cloudfoundry

type Cloudfoundry struct {
	SidecarFor []string `yaml:"sidecar_for" json:"sidecar_for"`
}

type Command

type Command interface {
	// TODO: See more options at https://github.com/cloudfoundry/libbuildpack/blob/master/command.go
	Execute(string, io.Writer, io.Writer, string, ...string) error
	Output(dir string, program string, args ...string) (string, error)
}

type Credentials

type Credentials struct {
	S3Signing *S3Signing `json:"s3_signing,omitempty"` // old direct s3 bundle access
	ClientTLS *ClientTLS `json:"client_tls,omitempty"` // new storage gateway bundle access
}

type IASCredentials

type IASCredentials struct {
	Certificate          string    `json:"certificate" validate:"required"`
	CertificateExpiresAt time.Time `json:"certificate_expires_at"`
	Clientid             string    `json:"clientid"`
	Domain               string    `json:"domain"`
	Domains              []string  `json:"domains"`
	Key                  string    `json:"key" validate:"required"`
	OsbURL               string    `json:"osb_url"`
	ProoftokenURL        string    `json:"prooftoken_url"`
	URL                  string    `json:"url"`
	ZoneUUID             string    `json:"zone_uuid"`
}

type Installer

type Installer interface {
	// TODO: See more options at https://github.com/cloudfoundry/libbuildpack/blob/master/installer.go
	InstallDependency(libbuildpack.Dependency, string) error
	InstallOnlyVersion(string, string) error
}

type LaunchData

type LaunchData struct {
	Processes []Process `yaml:"processes" json:"processes"`
}

type Limits

type Limits struct {
	Memory int `yaml:"memory" json:"memory"`
}

type Manifest

type Manifest interface {
	// TODO: See more options at https://github.com/cloudfoundry/libbuildpack/blob/master/manifest.go
	AllDependencyVersions(string) []string
	DefaultVersion(string) (libbuildpack.Dependency, error)
}

type OPAConfig

type OPAConfig struct {
	Bundles  map[string]*bundle.Source `json:"bundles"`
	Services map[string]RestConfig     `json:"services"`
	Plugins  map[string]bool           `json:"plugins,omitempty"`
}

type ObjectStoreCredentials

type ObjectStoreCredentials struct {
	AccessKeyID     string `json:"access_key_id" validate:"required"`
	Bucket          string `json:"bucket" validate:"required"`
	Host            string `json:"host" validate:"required"`
	Region          string `json:"region" validate:"required"`
	SecretAccessKey string `json:"secret_access_key" validate:"required"`
	Uri             string `json:"uri"`
	Username        string `json:"username"`
}

type Platforms

type Platforms struct {
	Cloudfoundry Cloudfoundry `yaml:"cloudfoundry" json:"cloudfoundry"`
}

type Process

type Process struct {
	Type      string    `yaml:"type" json:"type"`
	Command   string    `yaml:"command" json:"command"`
	Platforms Platforms `yaml:"platforms" json:"platforms"`
	Limits    Limits    `yaml:"limits" json:"limits"`
}

type RestConfig

type RestConfig struct {
	URL         string      `json:"url"`
	Credentials Credentials `json:"credentials"`
}

type S3Signing

type S3Signing struct {
	AWSEnvCreds interface{} `json:"environment_credentials,omitempty"`
}

type Service

type Service struct {
	Name        string          `json:"name"`
	Tags        []string        `json:"tags"`
	Credentials json.RawMessage `json:"credentials"`
	InstanceID  string          `json:"instance_guid"`
}

func LoadService added in v0.2.0

func LoadService(log *libbuildpack.Logger, serviceName string) (Service, error)

type Supplier

type Supplier struct {
	Manifest     Manifest
	Installer    Installer
	Stager       *libbuildpack.Stager
	Command      Command
	Log          *libbuildpack.Logger
	BuildpackDir string
	Uploader     uploader.Uploader
}

func (*Supplier) Run

func (s *Supplier) Run() error

type UnifiedIdentityCredentials added in v0.2.0

type UnifiedIdentityCredentials struct {
	IASCredentials
	AuthzURL         string                  `json:"authorization_url" validate:"required"`
	AuthzBundleURL   string                  `json:"authorization_bundle_url" validate:"required_without=AuthzObjectStore"`
	AuthzObjectStore *ObjectStoreCredentials `json:"authorization_object_store" validate:"required_without=AuthzBundleURL"`
	AuthzInstanceID  string                  `json:"authorization_instance_id" validate:"required"`
}

Jump to

Keyboard shortcuts

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