base: github.com/grailbio/base/security/ticket Index | Files

package ticket

import "github.com/grailbio/base/security/ticket"

Index

Package Files

aws.go b2.go ticket.go ticket.vdl.go tls.go vanadium.go

Variables

var TicketServiceDesc rpc.InterfaceDesc = descTicketService

TicketServiceDesc describes the TicketService interface.

func VDLReadTicket Uses

func VDLReadTicket(dec vdl.Decoder, x *Ticket) error

type AwsAssumeRoleBuilder Uses

type AwsAssumeRoleBuilder struct {
    Region string
    Role   string
    TtlSec int32
}

AwsAssumeRoleBuilder describes the information required to obtain a temporary set of AWS credentials (which can be described using AwsCredentials) using the AssumeRole call from Security Token Service (STS).

func (AwsAssumeRoleBuilder) VDLIsZero Uses

func (x AwsAssumeRoleBuilder) VDLIsZero() bool

func (*AwsAssumeRoleBuilder) VDLRead Uses

func (x *AwsAssumeRoleBuilder) VDLRead(dec vdl.Decoder) error

func (AwsAssumeRoleBuilder) VDLReflect Uses

func (AwsAssumeRoleBuilder) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.AwsAssumeRoleBuilder"`
})

func (AwsAssumeRoleBuilder) VDLWrite Uses

func (x AwsAssumeRoleBuilder) VDLWrite(enc vdl.Encoder) error

type AwsCredentials Uses

type AwsCredentials struct {
    Region          string
    AccessKeyId     string
    SecretAccessKey string
    SessionToken    string
    // Expiration indicates the date on which the credentials expire.
    Expiration string
}

AwsCredentials describes a set of (potentially temporary) AWS credentials.

func (AwsCredentials) VDLIsZero Uses

func (x AwsCredentials) VDLIsZero() bool

func (*AwsCredentials) VDLRead Uses

func (x *AwsCredentials) VDLRead(dec vdl.Decoder) error

func (AwsCredentials) VDLReflect Uses

func (AwsCredentials) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.AwsCredentials"`
})

func (AwsCredentials) VDLWrite Uses

func (x AwsCredentials) VDLWrite(enc vdl.Encoder) error

type AwsSessionBuilder Uses

type AwsSessionBuilder struct {
    AwsCredentials AwsCredentials
    // TTL in seconds for the generated AWS credential from 900-129600.
    TtlSec int32
}

AwsSessionBuilder describes the information required to obtain a temporary set of AWS credentials (described using AwsCredentials) then using the GetSessionToken call from Security Token Service (STS).

func (AwsSessionBuilder) VDLIsZero Uses

func (x AwsSessionBuilder) VDLIsZero() bool

func (*AwsSessionBuilder) VDLRead Uses

func (x *AwsSessionBuilder) VDLRead(dec vdl.Decoder) error

func (AwsSessionBuilder) VDLReflect Uses

func (AwsSessionBuilder) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.AwsSessionBuilder"`
})

func (AwsSessionBuilder) VDLWrite Uses

func (x AwsSessionBuilder) VDLWrite(enc vdl.Encoder) error

type AwsTicket Uses

type AwsTicket struct {
    AwsAssumeRoleBuilder *AwsAssumeRoleBuilder
    AwsSessionBuilder    *AwsSessionBuilder
    AwsCredentials       AwsCredentials
}

AwsTicket is a ticket that contains a set of (potentially temporary) AWS credentials.

func (AwsTicket) VDLIsZero Uses

func (x AwsTicket) VDLIsZero() bool

func (*AwsTicket) VDLRead Uses

func (x *AwsTicket) VDLRead(dec vdl.Decoder) error

func (AwsTicket) VDLReflect Uses

func (AwsTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.AwsTicket"`
})

func (AwsTicket) VDLWrite Uses

func (x AwsTicket) VDLWrite(enc vdl.Encoder) error

type B2AccountAuthorizationBuilder Uses

type B2AccountAuthorizationBuilder struct {
    AccountId      string
    ApplicationKey string
}

B2AccountAuthorizationBuilder describes the information required to obtain a B2 account authorization.

func (B2AccountAuthorizationBuilder) VDLIsZero Uses

func (x B2AccountAuthorizationBuilder) VDLIsZero() bool

func (*B2AccountAuthorizationBuilder) VDLRead Uses

func (x *B2AccountAuthorizationBuilder) VDLRead(dec vdl.Decoder) error

func (B2AccountAuthorizationBuilder) VDLReflect Uses

func (B2AccountAuthorizationBuilder) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.B2AccountAuthorizationBuilder"`
})

func (B2AccountAuthorizationBuilder) VDLWrite Uses

func (x B2AccountAuthorizationBuilder) VDLWrite(enc vdl.Encoder) error

type B2Ticket Uses

type B2Ticket struct {
    B2AccountAuthorizationBuilder *B2AccountAuthorizationBuilder
    AccountId                     string
    AuthorizationToken            string
    ApiUrl                        string
    DownloadUrl                   string
    RecommendedPartSize           int64
    AbsoluteMinimumPartSize       int64
}

B2Ticket instance contains a B2 account level authorization token plus URLs and configuration values for the account.

func (B2Ticket) VDLIsZero Uses

func (x B2Ticket) VDLIsZero() bool

func (*B2Ticket) VDLRead Uses

func (x *B2Ticket) VDLRead(dec vdl.Decoder) error

func (B2Ticket) VDLReflect Uses

func (B2Ticket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.B2Ticket"`
})

func (B2Ticket) VDLWrite Uses

func (x B2Ticket) VDLWrite(enc vdl.Encoder) error

type Builder Uses

type Builder interface {
    Build(ctx *TicketContext) (Ticket, error)
}

Builder is the interface for building a Ticket.

type Config Uses

type Config struct {
    Tickets     map[string]TicketConfig
    Permissions access.Permissions
}

func (Config) VDLIsZero Uses

func (x Config) VDLIsZero() bool

func (*Config) VDLRead Uses

func (x *Config) VDLRead(dec vdl.Decoder) error

func (Config) VDLReflect Uses

func (Config) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.Config"`
})

func (Config) VDLWrite Uses

func (x Config) VDLWrite(enc vdl.Encoder) error

type DockerClientTicket Uses

type DockerClientTicket struct {
    TlsCertAuthorityBuilder *TlsCertAuthorityBuilder
    Credentials             TlsCredentials
    Url                     string
}

DockerClientTicket instance represents the TLS certificate material required for clients to authenticate against a specific DockerServer.

func (DockerClientTicket) VDLIsZero Uses

func (x DockerClientTicket) VDLIsZero() bool

func (*DockerClientTicket) VDLRead Uses

func (x *DockerClientTicket) VDLRead(dec vdl.Decoder) error

func (DockerClientTicket) VDLReflect Uses

func (DockerClientTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.DockerClientTicket"`
})

func (DockerClientTicket) VDLWrite Uses

func (x DockerClientTicket) VDLWrite(enc vdl.Encoder) error

type DockerServerTicket Uses

type DockerServerTicket struct {
    TlsCertAuthorityBuilder *TlsCertAuthorityBuilder
    Credentials             TlsCredentials
}

DockerServerTicket instance represents a Docker Server and the TLS certificate material required for clients to verify and authenticate it.

func (DockerServerTicket) VDLIsZero Uses

func (x DockerServerTicket) VDLIsZero() bool

func (*DockerServerTicket) VDLRead Uses

func (x *DockerServerTicket) VDLRead(dec vdl.Decoder) error

func (DockerServerTicket) VDLReflect Uses

func (DockerServerTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.DockerServerTicket"`
})

func (DockerServerTicket) VDLWrite Uses

func (x DockerServerTicket) VDLWrite(enc vdl.Encoder) error

type DockerTicket Uses

type DockerTicket struct {
    TlsCertAuthorityBuilder *TlsCertAuthorityBuilder
    Credentials             TlsCredentials
    Url                     string
}

DockerTicket instance represents a Docker repository and the TLS certificate material required to verify and authenticate to it. TODO(razvanm): Remove DockerTicket and replace with DockerServerTicket

and DockerClientTicket

func (DockerTicket) VDLIsZero Uses

func (x DockerTicket) VDLIsZero() bool

func (*DockerTicket) VDLRead Uses

func (x *DockerTicket) VDLRead(dec vdl.Decoder) error

func (DockerTicket) VDLReflect Uses

func (DockerTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.DockerTicket"`
})

func (DockerTicket) VDLWrite Uses

func (x DockerTicket) VDLWrite(enc vdl.Encoder) error

type EcrTicket Uses

type EcrTicket struct {
    AwsAssumeRoleBuilder *AwsAssumeRoleBuilder
    // The base64-encoded authorization token which can be presented directly to
    // the Docker registry.
    // Reference: https://docs.docker.com/registry/spec/auth/token/
    AuthorizationToken string
    // Expiration indicates the date on which the authorization token expire.
    Expiration string
    // The register URL ("https://${ACCOUNTID}.dkr.ecr.region.amazonaws.com").
    Endpoint string
}

EcrTicket describes an AWS EC2 Container Registry.

func (EcrTicket) VDLIsZero Uses

func (x EcrTicket) VDLIsZero() bool

func (*EcrTicket) VDLRead Uses

func (x *EcrTicket) VDLRead(dec vdl.Decoder) error

func (EcrTicket) VDLReflect Uses

func (EcrTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.EcrTicket"`
})

func (EcrTicket) VDLWrite Uses

func (x EcrTicket) VDLWrite(enc vdl.Encoder) error

type GenericTicket Uses

type GenericTicket struct {
    Data []byte
}

GenericTicket describes a generic unstructured piece of data. This can be used to store arbitrary secrets for example.

func (GenericTicket) VDLIsZero Uses

func (x GenericTicket) VDLIsZero() bool

func (*GenericTicket) VDLRead Uses

func (x *GenericTicket) VDLRead(dec vdl.Decoder) error

func (GenericTicket) VDLReflect Uses

func (GenericTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.GenericTicket"`
})

func (GenericTicket) VDLWrite Uses

func (x GenericTicket) VDLWrite(enc vdl.Encoder) error

type S3Ticket Uses

type S3Ticket struct {
    AwsAssumeRoleBuilder *AwsAssumeRoleBuilder
    AwsSessionBuilder    *AwsSessionBuilder
    AwsCredentials       AwsCredentials
    Endpoint             string
    Bucket               string
    Prefix               string
}

S3Ticket describes an AWS S3 object or prefix.

func (S3Ticket) VDLIsZero Uses

func (x S3Ticket) VDLIsZero() bool

func (*S3Ticket) VDLRead Uses

func (x *S3Ticket) VDLRead(dec vdl.Decoder) error

func (S3Ticket) VDLReflect Uses

func (S3Ticket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.S3Ticket"`
})

func (S3Ticket) VDLWrite Uses

func (x S3Ticket) VDLWrite(enc vdl.Encoder) error

type Ticket Uses

type Ticket interface {
    // Index returns the field index.
    Index() int
    // Interface returns the field value as an interface.
    Interface() interface{}
    // Name returns the field name.
    Name() string
    // VDLReflect describes the Ticket union type.
    VDLReflect(__TicketReflect)
    VDLIsZero() bool
    VDLWrite(vdl.Encoder) error
}

Ticket represents any single field of the Ticket union type.

Ticket is a union of all our tickets.

type TicketAwsTicket Uses

type TicketAwsTicket struct{ Value AwsTicket }

TicketAwsTicket represents field AwsTicket of the Ticket union type.

func (TicketAwsTicket) Build Uses

func (t TicketAwsTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketAwsTicket) Index Uses

func (x TicketAwsTicket) Index() int

func (TicketAwsTicket) Interface Uses

func (x TicketAwsTicket) Interface() interface{}

func (TicketAwsTicket) Name Uses

func (x TicketAwsTicket) Name() string

func (TicketAwsTicket) VDLIsZero Uses

func (x TicketAwsTicket) VDLIsZero() bool

func (TicketAwsTicket) VDLReflect Uses

func (x TicketAwsTicket) VDLReflect(__TicketReflect)

func (TicketAwsTicket) VDLWrite Uses

func (x TicketAwsTicket) VDLWrite(enc vdl.Encoder) error

type TicketB2Ticket Uses

type TicketB2Ticket struct{ Value B2Ticket }

TicketB2Ticket represents field B2Ticket of the Ticket union type.

func (TicketB2Ticket) Build Uses

func (t TicketB2Ticket) Build(_ *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketB2Ticket) Index Uses

func (x TicketB2Ticket) Index() int

func (TicketB2Ticket) Interface Uses

func (x TicketB2Ticket) Interface() interface{}

func (TicketB2Ticket) Name Uses

func (x TicketB2Ticket) Name() string

func (TicketB2Ticket) VDLIsZero Uses

func (x TicketB2Ticket) VDLIsZero() bool

func (TicketB2Ticket) VDLReflect Uses

func (x TicketB2Ticket) VDLReflect(__TicketReflect)

func (TicketB2Ticket) VDLWrite Uses

func (x TicketB2Ticket) VDLWrite(enc vdl.Encoder) error

type TicketConfig Uses

type TicketConfig struct {
    Ticket      Ticket
    Permissions access.Permissions
}

TicketConfig describes a ticket and its associated permissions.

func (TicketConfig) VDLIsZero Uses

func (x TicketConfig) VDLIsZero() bool

func (*TicketConfig) VDLRead Uses

func (x *TicketConfig) VDLRead(dec vdl.Decoder) error

func (TicketConfig) VDLReflect Uses

func (TicketConfig) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.TicketConfig"`
})

func (TicketConfig) VDLWrite Uses

func (x TicketConfig) VDLWrite(enc vdl.Encoder) error

type TicketContext Uses

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

TicketContext wraps the informations that needs to carry around between varius ticket functions.

func NewTicketContext Uses

func NewTicketContext(ctx *context.T, session *session.Session, remoteBlessings security.Blessings) *TicketContext

NewTicketContext allows creating a TicketContext without unncessary exporting its fields.

type TicketDockerClientTicket Uses

type TicketDockerClientTicket struct{ Value DockerClientTicket }

TicketDockerClientTicket represents field DockerClientTicket of the Ticket union type.

func (TicketDockerClientTicket) Build Uses

func (t TicketDockerClientTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketDockerClientTicket) Index Uses

func (x TicketDockerClientTicket) Index() int

func (TicketDockerClientTicket) Interface Uses

func (x TicketDockerClientTicket) Interface() interface{}

func (TicketDockerClientTicket) Name Uses

func (x TicketDockerClientTicket) Name() string

func (TicketDockerClientTicket) VDLIsZero Uses

func (x TicketDockerClientTicket) VDLIsZero() bool

func (TicketDockerClientTicket) VDLReflect Uses

func (x TicketDockerClientTicket) VDLReflect(__TicketReflect)

func (TicketDockerClientTicket) VDLWrite Uses

func (x TicketDockerClientTicket) VDLWrite(enc vdl.Encoder) error

type TicketDockerServerTicket Uses

type TicketDockerServerTicket struct{ Value DockerServerTicket }

TicketDockerServerTicket represents field DockerServerTicket of the Ticket union type.

func (TicketDockerServerTicket) Build Uses

func (t TicketDockerServerTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketDockerServerTicket) Index Uses

func (x TicketDockerServerTicket) Index() int

func (TicketDockerServerTicket) Interface Uses

func (x TicketDockerServerTicket) Interface() interface{}

func (TicketDockerServerTicket) Name Uses

func (x TicketDockerServerTicket) Name() string

func (TicketDockerServerTicket) VDLIsZero Uses

func (x TicketDockerServerTicket) VDLIsZero() bool

func (TicketDockerServerTicket) VDLReflect Uses

func (x TicketDockerServerTicket) VDLReflect(__TicketReflect)

func (TicketDockerServerTicket) VDLWrite Uses

func (x TicketDockerServerTicket) VDLWrite(enc vdl.Encoder) error

type TicketDockerTicket Uses

type TicketDockerTicket struct{ Value DockerTicket }

TicketDockerTicket represents field DockerTicket of the Ticket union type.

func (TicketDockerTicket) Build Uses

func (t TicketDockerTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketDockerTicket) Index Uses

func (x TicketDockerTicket) Index() int

func (TicketDockerTicket) Interface Uses

func (x TicketDockerTicket) Interface() interface{}

func (TicketDockerTicket) Name Uses

func (x TicketDockerTicket) Name() string

func (TicketDockerTicket) VDLIsZero Uses

func (x TicketDockerTicket) VDLIsZero() bool

func (TicketDockerTicket) VDLReflect Uses

func (x TicketDockerTicket) VDLReflect(__TicketReflect)

func (TicketDockerTicket) VDLWrite Uses

func (x TicketDockerTicket) VDLWrite(enc vdl.Encoder) error

type TicketEcrTicket Uses

type TicketEcrTicket struct{ Value EcrTicket }

TicketEcrTicket represents field EcrTicket of the Ticket union type.

func (TicketEcrTicket) Build Uses

func (t TicketEcrTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketEcrTicket) Index Uses

func (x TicketEcrTicket) Index() int

func (TicketEcrTicket) Interface Uses

func (x TicketEcrTicket) Interface() interface{}

func (TicketEcrTicket) Name Uses

func (x TicketEcrTicket) Name() string

func (TicketEcrTicket) VDLIsZero Uses

func (x TicketEcrTicket) VDLIsZero() bool

func (TicketEcrTicket) VDLReflect Uses

func (x TicketEcrTicket) VDLReflect(__TicketReflect)

func (TicketEcrTicket) VDLWrite Uses

func (x TicketEcrTicket) VDLWrite(enc vdl.Encoder) error

type TicketGenericTicket Uses

type TicketGenericTicket struct{ Value GenericTicket }

TicketGenericTicket represents field GenericTicket of the Ticket union type.

func (TicketGenericTicket) Build Uses

func (t TicketGenericTicket) Build(_ *TicketContext) (Ticket, error)

Build builds a Ticket.

func (TicketGenericTicket) Index Uses

func (x TicketGenericTicket) Index() int

func (TicketGenericTicket) Interface Uses

func (x TicketGenericTicket) Interface() interface{}

func (TicketGenericTicket) Name Uses

func (x TicketGenericTicket) Name() string

func (TicketGenericTicket) VDLIsZero Uses

func (x TicketGenericTicket) VDLIsZero() bool

func (TicketGenericTicket) VDLReflect Uses

func (x TicketGenericTicket) VDLReflect(__TicketReflect)

func (TicketGenericTicket) VDLWrite Uses

func (x TicketGenericTicket) VDLWrite(enc vdl.Encoder) error

type TicketS3Ticket Uses

type TicketS3Ticket struct{ Value S3Ticket }

TicketS3Ticket represents field S3Ticket of the Ticket union type.

func (TicketS3Ticket) Build Uses

func (t TicketS3Ticket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketS3Ticket) Index Uses

func (x TicketS3Ticket) Index() int

func (TicketS3Ticket) Interface Uses

func (x TicketS3Ticket) Interface() interface{}

func (TicketS3Ticket) Name Uses

func (x TicketS3Ticket) Name() string

func (TicketS3Ticket) VDLIsZero Uses

func (x TicketS3Ticket) VDLIsZero() bool

func (TicketS3Ticket) VDLReflect Uses

func (x TicketS3Ticket) VDLReflect(__TicketReflect)

func (TicketS3Ticket) VDLWrite Uses

func (x TicketS3Ticket) VDLWrite(enc vdl.Encoder) error

type TicketServiceClientMethods Uses

type TicketServiceClientMethods interface {
    GetPermissions(*context.T, ...rpc.CallOpt) (perms access.Permissions, version string, _ error)
    SetPermissions(_ *context.T, perms access.Permissions, version string, _ ...rpc.CallOpt) error
    Get(*context.T, ...rpc.CallOpt) (Ticket, error)
}

TicketServiceClientMethods is the client interface containing TicketService methods.

TicketService provides a way to obtain a ticket. The access can be restricted by setting the permissions appropriately.

type TicketServiceClientStub Uses

type TicketServiceClientStub interface {
    TicketServiceClientMethods
    rpc.UniversalServiceMethods
}

TicketServiceClientStub adds universal methods to TicketServiceClientMethods.

func TicketServiceClient Uses

func TicketServiceClient(name string) TicketServiceClientStub

TicketServiceClient returns a client stub for TicketService.

type TicketServiceServerMethods Uses

type TicketServiceServerMethods interface {
    GetPermissions(*context.T, rpc.ServerCall) (perms access.Permissions, version string, _ error)
    SetPermissions(_ *context.T, _ rpc.ServerCall, perms access.Permissions, version string) error
    Get(*context.T, rpc.ServerCall) (Ticket, error)
}

TicketServiceServerMethods is the interface a server writer implements for TicketService.

TicketService provides a way to obtain a ticket. The access can be restricted by setting the permissions appropriately.

type TicketServiceServerStub Uses

type TicketServiceServerStub interface {
    TicketServiceServerStubMethods
    // Describe the TicketService interfaces.
    Describe__() []rpc.InterfaceDesc
}

TicketServiceServerStub adds universal methods to TicketServiceServerStubMethods.

func TicketServiceServer Uses

func TicketServiceServer(impl TicketServiceServerMethods) TicketServiceServerStub

TicketServiceServer returns a server stub for TicketService. It converts an implementation of TicketServiceServerMethods into an object that may be used by rpc.Server.

type TicketServiceServerStubMethods Uses

type TicketServiceServerStubMethods TicketServiceServerMethods

TicketServiceServerStubMethods is the server interface containing TicketService methods, as expected by rpc.Server. There is no difference between this interface and TicketServiceServerMethods since there are no streaming methods.

type TicketTlsClientTicket Uses

type TicketTlsClientTicket struct{ Value TlsClientTicket }

TicketTlsClientTicket represents field TlsClientTicket of the Ticket union type.

func (TicketTlsClientTicket) Build Uses

func (t TicketTlsClientTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketTlsClientTicket) Index Uses

func (x TicketTlsClientTicket) Index() int

func (TicketTlsClientTicket) Interface Uses

func (x TicketTlsClientTicket) Interface() interface{}

func (TicketTlsClientTicket) Name Uses

func (x TicketTlsClientTicket) Name() string

func (TicketTlsClientTicket) VDLIsZero Uses

func (x TicketTlsClientTicket) VDLIsZero() bool

func (TicketTlsClientTicket) VDLReflect Uses

func (x TicketTlsClientTicket) VDLReflect(__TicketReflect)

func (TicketTlsClientTicket) VDLWrite Uses

func (x TicketTlsClientTicket) VDLWrite(enc vdl.Encoder) error

type TicketTlsServerTicket Uses

type TicketTlsServerTicket struct{ Value TlsServerTicket }

TicketTlsServerTicket represents field TlsServerTicket of the Ticket union type.

func (TicketTlsServerTicket) Build Uses

func (t TicketTlsServerTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketTlsServerTicket) Index Uses

func (x TicketTlsServerTicket) Index() int

func (TicketTlsServerTicket) Interface Uses

func (x TicketTlsServerTicket) Interface() interface{}

func (TicketTlsServerTicket) Name Uses

func (x TicketTlsServerTicket) Name() string

func (TicketTlsServerTicket) VDLIsZero Uses

func (x TicketTlsServerTicket) VDLIsZero() bool

func (TicketTlsServerTicket) VDLReflect Uses

func (x TicketTlsServerTicket) VDLReflect(__TicketReflect)

func (TicketTlsServerTicket) VDLWrite Uses

func (x TicketTlsServerTicket) VDLWrite(enc vdl.Encoder) error

type TicketVanadiumTicket Uses

type TicketVanadiumTicket struct{ Value VanadiumTicket }

TicketVanadiumTicket represents field VanadiumTicket of the Ticket union type.

func (TicketVanadiumTicket) Build Uses

func (t TicketVanadiumTicket) Build(ctx *TicketContext) (Ticket, error)

Build builds a Ticket by running all the builders.

func (TicketVanadiumTicket) Index Uses

func (x TicketVanadiumTicket) Index() int

func (TicketVanadiumTicket) Interface Uses

func (x TicketVanadiumTicket) Interface() interface{}

func (TicketVanadiumTicket) Name Uses

func (x TicketVanadiumTicket) Name() string

func (TicketVanadiumTicket) VDLIsZero Uses

func (x TicketVanadiumTicket) VDLIsZero() bool

func (TicketVanadiumTicket) VDLReflect Uses

func (x TicketVanadiumTicket) VDLReflect(__TicketReflect)

func (TicketVanadiumTicket) VDLWrite Uses

func (x TicketVanadiumTicket) VDLWrite(enc vdl.Encoder) error

type TlsCertAuthorityBuilder Uses

type TlsCertAuthorityBuilder struct {
    // PEM-encoded certificate and private key of the Certificate Authority.
    Authority string
    // TTL for the generated cert.
    TtlSec int32
    // Common Name of the generated cert.
    CommonName string
    // Subject Alternate Name list.
    // Note: x509 spec says if SAN is set, CN is usually ignored.
    //       Include CN in SAN list if you want the CN to be verified.
    San []string
}

TlsCertAuthorityBuilder describes a Certification Authority capable to generate a particular cert.

func (TlsCertAuthorityBuilder) VDLIsZero Uses

func (x TlsCertAuthorityBuilder) VDLIsZero() bool

func (*TlsCertAuthorityBuilder) VDLRead Uses

func (x *TlsCertAuthorityBuilder) VDLRead(dec vdl.Decoder) error

func (TlsCertAuthorityBuilder) VDLReflect Uses

func (TlsCertAuthorityBuilder) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.TlsCertAuthorityBuilder"`
})

func (TlsCertAuthorityBuilder) VDLWrite Uses

func (x TlsCertAuthorityBuilder) VDLWrite(enc vdl.Encoder) error

type TlsClientTicket Uses

type TlsClientTicket struct {
    TlsCertAuthorityBuilder *TlsCertAuthorityBuilder
    Credentials             TlsCredentials
    Endpoints               []string
}

TlsClientTicket describes a TLS client.

func (TlsClientTicket) VDLIsZero Uses

func (x TlsClientTicket) VDLIsZero() bool

func (*TlsClientTicket) VDLRead Uses

func (x *TlsClientTicket) VDLRead(dec vdl.Decoder) error

func (TlsClientTicket) VDLReflect Uses

func (TlsClientTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.TlsClientTicket"`
})

func (TlsClientTicket) VDLWrite Uses

func (x TlsClientTicket) VDLWrite(enc vdl.Encoder) error

type TlsCredentials Uses

type TlsCredentials struct {
    // PEM-encoded public certificate of the Certificate Authority.
    AuthorityCert string
    // PEM-encoded client certificate.
    Cert string
    // PEM-encoded client private key.
    Key string
}

TlsCredentials describes a generic set of TLS credentials that include: the CA that accepted by the client (only peers that present a certificate sign by this CA are accepted), the client certificate and the client private key.

func (TlsCredentials) VDLIsZero Uses

func (x TlsCredentials) VDLIsZero() bool

func (*TlsCredentials) VDLRead Uses

func (x *TlsCredentials) VDLRead(dec vdl.Decoder) error

func (TlsCredentials) VDLReflect Uses

func (TlsCredentials) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.TlsCredentials"`
})

func (TlsCredentials) VDLWrite Uses

func (x TlsCredentials) VDLWrite(enc vdl.Encoder) error

type TlsServerTicket Uses

type TlsServerTicket struct {
    TlsCertAuthorityBuilder *TlsCertAuthorityBuilder
    Credentials             TlsCredentials
}

TlsServerTicket describes a TLS server.

func (TlsServerTicket) VDLIsZero Uses

func (x TlsServerTicket) VDLIsZero() bool

func (*TlsServerTicket) VDLRead Uses

func (x *TlsServerTicket) VDLRead(dec vdl.Decoder) error

func (TlsServerTicket) VDLReflect Uses

func (TlsServerTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.TlsServerTicket"`
})

func (TlsServerTicket) VDLWrite Uses

func (x TlsServerTicket) VDLWrite(enc vdl.Encoder) error

type VanadiumBuilder Uses

type VanadiumBuilder struct {
    BlessingName string
}

VanadiumBuilder describes the information required to build Vanadium blessings.

func (VanadiumBuilder) VDLIsZero Uses

func (x VanadiumBuilder) VDLIsZero() bool

func (*VanadiumBuilder) VDLRead Uses

func (x *VanadiumBuilder) VDLRead(dec vdl.Decoder) error

func (VanadiumBuilder) VDLReflect Uses

func (VanadiumBuilder) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.VanadiumBuilder"`
})

func (VanadiumBuilder) VDLWrite Uses

func (x VanadiumBuilder) VDLWrite(enc vdl.Encoder) error

type VanadiumTicket Uses

type VanadiumTicket struct {
    VanadiumBuilder *VanadiumBuilder
    // v.io/v23/security.WireBlessings in VOM + Base64 format.
    Blessing string
}

VanadiumTicket describes a set of Vanadium blessings. This allows obtaining a completely new blessings (role blessings) by the owners of certain blessings.

func (VanadiumTicket) VDLIsZero Uses

func (x VanadiumTicket) VDLIsZero() bool

func (*VanadiumTicket) VDLRead Uses

func (x *VanadiumTicket) VDLRead(dec vdl.Decoder) error

func (VanadiumTicket) VDLReflect Uses

func (VanadiumTicket) VDLReflect(struct {
    Name string `vdl:"github.com/grailbio/base/security/ticket.VanadiumTicket"`
})

func (VanadiumTicket) VDLWrite Uses

func (x VanadiumTicket) VDLWrite(enc vdl.Encoder) error

Package ticket imports 26 packages (graph) and is imported by 1 packages. Updated 2019-05-25. Refresh now. Tools for package owners.