config

package
v1.28.0 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultConfigName = "default"

Variables

This section is empty.

Functions

func BoolPtr added in v1.21.0

func BoolPtr(b bool) *bool

func GetConfigDir

func GetConfigDir(base util.AbsolutePath) util.AbsolutePath

func GetConfigPath

func GetConfigPath(base util.AbsolutePath, configName string) util.AbsolutePath

func ListConfigFiles

func ListConfigFiles(base util.AbsolutePath) ([]util.AbsolutePath, error)

func ValidateFile

func ValidateFile(path util.AbsolutePath) error

Types

type AccessType

type AccessType string
const (
	AccessTypeAnonymous AccessType = "all"
	AccessTypeLoggedIn  AccessType = "logged-in"
	AccessTypeACL       AccessType = "acl"
)

type Config

type Config struct {
	Comments            []string             `toml:"-" json:"comments,omitempty"`
	Alternatives        []Config             `toml:"-" json:"alternatives,omitempty"`
	ProductType         ProductType          `toml:"product_type" json:"productType,omitempty"`
	Schema              string               `toml:"$schema" json:"$schema,omitempty"`
	Type                ContentType          `toml:"type" json:"type,omitempty"`
	Entrypoint          string               `toml:"entrypoint" json:"entrypoint,omitempty"`
	EntrypointObjectRef string               `toml:"-" json:"entrypointObjectRef,omitempty"`
	Source              string               `toml:"source,omitempty" json:"source,omitempty"`
	Validate            *bool                `toml:"validate" json:"validate,omitempty"`
	HasParameters       *bool                `toml:"has_parameters,omitempty" json:"hasParameters,omitempty"`
	Files               []string             `toml:"files,multiline" json:"files"`
	Title               string               `toml:"title,omitempty" json:"title,omitempty"`
	Description         string               `toml:"description,multiline,omitempty" json:"description,omitempty"`
	ThumbnailFile       string               `toml:"thumbnail,omitempty" json:"thumbnail,omitempty"`
	Tags                []string             `toml:"tags,omitempty" json:"tags,omitempty"`
	Python              *Python              `toml:"python,omitempty" json:"python,omitempty"`
	R                   *R                   `toml:"r,omitempty" json:"r,omitempty"`
	Jupyter             *Jupyter             `toml:"jupyter,omitempty" json:"jupyter,omitempty"`
	Quarto              *Quarto              `toml:"quarto,omitempty" json:"quarto,omitempty"`
	Environment         Environment          `toml:"environment,omitempty" json:"environment,omitempty"`
	Secrets             []string             `toml:"secrets,omitempty" json:"secrets,omitempty"`
	Schedules           []Schedule           `toml:"schedules,omitempty" json:"schedules,omitempty"`
	Connect             *Connect             `toml:"connect,omitempty" json:"connect,omitempty"`
	ConnectCloud        *ConnectCloud        `toml:"connect_cloud,omitempty" json:"connectCloud,omitempty"`
	IntegrationRequests []IntegrationRequest `toml:"integration_requests,omitempty,inline,multiline" json:"integration_requests,omitempty"`
}

func FromFile

func FromFile(path util.AbsolutePath) (*Config, error)

func New

func New() *Config

func (*Config) AddIntegrationRequest added in v1.22.0

func (cfg *Config) AddIntegrationRequest(ir IntegrationRequest) error

func (*Config) AddSecret added in v1.1.7

func (cfg *Config) AddSecret(secret string) error

func (*Config) ForceProductTypeCompliance added in v1.19.0

func (c *Config) ForceProductTypeCompliance()

ForceProductTypeCompliance modifies the config in place to ensure that it complies with the JSON schema.

func (*Config) GetHasParameters added in v1.19.0

func (c *Config) GetHasParameters() bool

func (*Config) GetValidate added in v1.19.0

func (c *Config) GetValidate() bool

func (*Config) HasSecret added in v1.1.7

func (c *Config) HasSecret(secret string) bool

func (*Config) PopulateDefaults added in v1.19.0

func (c *Config) PopulateDefaults()

func (*Config) RemoveIntegrationRequest added in v1.22.0

func (cfg *Config) RemoveIntegrationRequest(ir IntegrationRequest) error

func (*Config) RemoveSecret added in v1.1.7

func (cfg *Config) RemoveSecret(secret string) error

func (*Config) Write

func (cfg *Config) Write(w io.Writer) error

func (*Config) WriteFile

func (cfg *Config) WriteFile(path util.AbsolutePath) error

type Connect

type Connect struct {
	Access        *ConnectAccess        `toml:"access,omitempty" json:"access,omitempty"`
	AccessControl *ConnectAccessControl `toml:"access_control,omitempty" json:"accessControl,omitempty"`
	Runtime       *ConnectRuntime       `toml:"runtime,omitempty" json:"runtime,omitempty"`
	Kubernetes    *ConnectKubernetes    `toml:"kubernetes,omitempty" json:"kubernetes,omitempty"`
}

type ConnectAccess

type ConnectAccess struct {
	RunAs            string `toml:"run_as,omitempty" json:"runAs,omitempty"`
	RunAsCurrentUser *bool  `toml:"run_as_current_user,omitempty" json:"runAsCurrentUser,omitempty"`
}

type ConnectAccessControl added in v1.19.0

type ConnectAccessControl struct {
	Type   AccessType `toml:"type" json:"type,omitempty"`
	Users  []User     `toml:"users,omitempty" json:"users,omitempty"`
	Groups []Group    `toml:"groups,omitempty" json:"groups,omitempty"`
}

type ConnectCloud added in v1.19.0

type ConnectCloud struct {
	VanityName    string                     `toml:"vanity_name,omitempty" json:"vanityName,omitempty"`
	AccessControl *ConnectCloudAccessControl `toml:"access_control,omitempty" json:"accessControl,omitempty"`
}

type ConnectCloudAccessControl added in v1.19.0

type ConnectCloudAccessControl struct {
	PublicAccess       *bool                  `toml:"public_access,omitempty"  json:"publicAccess,omitempty"`
	OrganizationAccess OrganizationAccessType `toml:"organization_access,omitempty" json:"organizationAccess,omitempty"`
}

type ConnectKubernetes

type ConnectKubernetes struct {
	MemoryRequest                  *int64   `toml:"memory_request,omitempty" json:"memoryRequest,omitempty"`
	MemoryLimit                    *int64   `toml:"memory_limit,omitempty" json:"memoryLimit,omitempty"`
	CPURequest                     *float64 `toml:"cpu_request,omitempty" json:"cpuRequest,omitempty"`
	CPULimit                       *float64 `toml:"cpu_limit,omitempty" json:"cpuLimit,omitempty"`
	AMDGPULimit                    *int64   `toml:"amd_gpu_limit,omitempty" json:"amdGpuLimit,omitempty"`
	NvidiaGPULimit                 *int64   `toml:"nvidia_gpu_limit,omitempty" json:"nvidiaGpuLimit,omitempty"`
	ServiceAccountName             string   `toml:"service_account_name,omitempty" json:"serviceAccountName,omitempty"`
	DefaultImageName               string   `toml:"default_image_name,omitempty" json:"defaultImageName,omitempty"`
	DefaultREnvironmentManagement  *bool    `toml:"default_r_environment_management,omitempty" json:"defaultREnvironmentManagement,omitempty"`
	DefaultPyEnvironmentManagement *bool    `toml:"default_py_environment_management,omitempty" json:"defaultPyEnvironmentManagement,omitempty"`
}

type ConnectRuntime

type ConnectRuntime struct {
	ConnectionTimeout  *int32   `toml:"connection_timeout,omitempty" json:"connectionTimeout,omitempty"`
	ReadTimeout        *int32   `toml:"read_timeout,omitempty" json:"readTimeout,omitempty"`
	InitTimeout        *int32   `toml:"init_timeout,omitempty" json:"initTimeout,omitempty"`
	IdleTimeout        *int32   `toml:"idle_timeout,omitempty" json:"idleTimeout,omitempty"`
	MaxProcesses       *int32   `toml:"max_processes,omitempty" json:"maxProcesses,omitempty"`
	MinProcesses       *int32   `toml:"min_processes,omitempty" json:"minProcesses,omitempty"`
	MaxConnsPerProcess *int32   `toml:"max_conns_per_process,omitempty" json:"maxConnsPerProcess,omitempty"`
	LoadFactor         *float64 `toml:"load_factor,omitempty" json:"loadFactor,omitempty"`
}

type ContentType

type ContentType = contenttypes.ContentType

Use ContentType from contenttypes package

type Environment

type Environment = map[string]string

type Group

type Group struct {
	Id          string `toml:"id,omitempty" json:"id,omitempty"`
	GUID        string `toml:"guid,omitempty" json:"guid,omitempty"`
	Name        string `toml:"name,omitempty" json:"name,omitempty"`
	Permissions string `toml:"permissions" json:"permissions"`
}

type IntegrationRequest added in v1.22.0

type IntegrationRequest struct {
	Guid            string         `toml:"guid,omitempty" json:"guid,omitempty"`
	Name            string         `toml:"name,omitempty" json:"name,omitempty"`
	Description     string         `toml:"description,omitempty" json:"description,omitempty"`
	AuthType        string         `toml:"auth_type,omitempty" json:"auth_type,omitempty"`
	IntegrationType string         `toml:"type,omitempty" json:"type,omitempty"`
	Config          map[string]any `toml:"config,omitempty" json:"config,omitempty"`
}

type Jupyter added in v1.4.0

type Jupyter struct {
	HideAllInput    bool `toml:"hide_all_input,omitempty" json:"hideAllInput,omitempty"`
	HideTaggedInput bool `toml:"hide_tagged_input,omitempty" json:"hideTaggedInput,omitempty"`
}

type OrganizationAccessType added in v1.19.0

type OrganizationAccessType string
const (
	OrganizationAccessTypeDisabled OrganizationAccessType = "disabled"
	OrganizationAccessTypeViewer   OrganizationAccessType = "viewer"
	OrganizationAccessTypeEditor   OrganizationAccessType = "editor"
)

type ProductType added in v1.19.0

type ProductType string
const (
	ProductTypeConnect      ProductType = "connect"
	ProductTypeConnectCloud ProductType = "connect_cloud"
)

func (ProductType) IsConnect added in v1.19.0

func (p ProductType) IsConnect() bool

func (ProductType) IsConnectCloud added in v1.19.0

func (p ProductType) IsConnectCloud() bool

type Python

type Python struct {
	Version               string `toml:"version,omitempty" json:"version,omitempty"`
	PackageFile           string `toml:"package_file,omitempty" json:"packageFile,omitempty"`
	PackageManager        string `toml:"package_manager,omitempty" json:"packageManager,omitempty"`
	RequiresPythonVersion string `toml:"requires_python,omitempty" json:"requiresPython,omitempty"`
}

func (*Python) FillDefaults added in v1.12.0

func (p *Python) FillDefaults(
	pythonInterpreter interpreters.PythonInterpreter,
)

type Quarto

type Quarto struct {
	Version string   `toml:"version,omitempty" json:"version,omitempty"`
	Engines []string `toml:"engines,omitempty" json:"engines,omitempty"`
}

type R

type R struct {
	Version          string `toml:"version,omitempty" json:"version,omitempty"`
	PackageFile      string `toml:"package_file,omitempty" json:"packageFile,omitempty"`
	PackageManager   string `toml:"package_manager,omitempty" json:"packageManager,omitempty"`
	RequiresRVersion string `toml:"requires_r,omitempty" json:"requiresR,omitempty"`
	// When true, generate manifest packages by reading the local renv library
	// (legacy behavior). When false (default), generate directly from renv.lock
	// without requiring local R libraries.
	PackagesFromLibrary *bool `toml:"packages_from_library,omitempty" json:"packagesFromLibrary,omitempty"`
}

func (*R) FillDefaults added in v1.12.0

func (r *R) FillDefaults(
	rInterpreter interpreters.RInterpreter,
)

func (*R) GetPackageFile added in v1.28.0

func (r *R) GetPackageFile() string

If PackageFile is not set (Cloud), defaults to "renv.lock" so callers don't need to handle the empty case for users with an existing lock file.

type Schedule

type Schedule struct {
	Start      string `toml:"start,omitempty" json:"start,omitempty"`
	Recurrence string `toml:"recurrence,omitempty" json:"recurrence,omitempty"`
}

type User

type User struct {
	Id          string `toml:"id,omitempty" json:"id,omitempty"`
	GUID        string `toml:"guid,omitempty" json:"guid,omitempty"`
	Name        string `toml:"name,omitempty" json:"name,omitempty"`
	Permissions string `toml:"permissions" json:"permissions"`
}

Jump to

Keyboard shortcuts

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