Documentation
¶
Index ¶
- Constants
- func AgentScriptEnv() map[string]string
- func ApplyErrorf(format string, args ...any) *proto.ApplyComplete
- func DefaultDisplayApps() *proto.DisplayApps
- func DirHasLockfile(dir string) (bool, error)
- func MutateTags(userID uuid.UUID, provided ...map[string]string) map[string]string
- func ParseErrorf(format string, args ...any) *proto.ParseComplete
- func PlanErrorf(format string, args ...any) *proto.PlanComplete
- func ProvisionerJobLogsNotifyChannel(jobID uuid.UUID) string
- func Serve(ctx context.Context, server Server, options *ServeOptions) error
- func Tar(w io.Writer, logger slog.Logger, directory string, limit int64) error
- func Untar(directory string, r io.Reader) error
- type ProvisionerJobLogsNotifyMessage
- type ServeOptions
- type Server
- type Session
Constants ¶
const ( TagScope = "scope" TagOwner = "owner" ScopeUser = "user" ScopeOrganization = "organization" )
const (
// TemplateArchiveLimit represents the maximum size of a template in bytes.
TemplateArchiveLimit = 1 << 20
)
Variables ¶
This section is empty.
Functions ¶
func AgentScriptEnv ¶
AgentScriptEnv returns a key-pair of scripts that are consumed by the Coder Terraform Provider. https://github.com/coder/terraform-provider-coder/blob/main/provider/agent.go (updateInitScript) performs additional string substitutions.
func ApplyErrorf ¶ added in v2.1.4
func ApplyErrorf(format string, args ...any) *proto.ApplyComplete
func DefaultDisplayApps ¶ added in v2.1.5
func DefaultDisplayApps() *proto.DisplayApps
DefaultDisplayApps returns the default display applications to enable if none are specified in a template.
func DirHasLockfile ¶
func MutateTags ¶ added in v2.5.0
MutateTags adjusts the "owner" tag dependent on the "scope". If the scope is "user", the "owner" is changed to the user ID. This is for user-scoped provisioner daemons, where users should own their own operations. Multiple sets of tags may be passed to this function; they will be merged into one single tag set. Otherwise, the "owner" tag is always an empty string. NOTE: "owner" must NEVER be nil. Otherwise it will end up being duplicated in the database, as idx_provisioner_daemons_name_owner_key is a partial unique index that includes a JSON field.
func ParseErrorf ¶ added in v2.1.4
func ParseErrorf(format string, args ...any) *proto.ParseComplete
func PlanErrorf ¶ added in v2.1.4
func PlanErrorf(format string, args ...any) *proto.PlanComplete
func ProvisionerJobLogsNotifyChannel ¶
ProvisionerJobLogsNotifyChannel is the PostgreSQL NOTIFY channel to publish updates to job logs on.
func Serve ¶
func Serve(ctx context.Context, server Server, options *ServeOptions) error
Serve starts a dRPC connection for the provisioner and transport provided.
Types ¶
type ProvisionerJobLogsNotifyMessage ¶
type ProvisionerJobLogsNotifyMessage struct {
CreatedAfter int64 `json:"created_after"`
EndOfLogs bool `json:"end_of_logs,omitempty"`
}
ProvisionerJobLogsNotifyMessage is the payload published on the provisioner job logs notify channel.
type ServeOptions ¶
type ServeOptions struct {
// Listener serves multiple connections. Cannot be combined with Conn.
Listener net.Listener
// Conn is a single connection to serve. Cannot be combined with Listener.
Conn drpc.Transport
Logger slog.Logger
WorkDirectory string
ExternalProvisioner bool
Experiments codersdk.Experiments
}
ServeOptions are configurations to serve a provisioner.
type Server ¶ added in v2.1.4
type Server interface {
Parse(s *Session, r *proto.ParseRequest, canceledOrComplete <-chan struct{}) *proto.ParseComplete
Plan(s *Session, r *proto.PlanRequest, canceledOrComplete <-chan struct{}) *proto.PlanComplete
Apply(s *Session, r *proto.ApplyRequest, canceledOrComplete <-chan struct{}) *proto.ApplyComplete
}