config

package
v1.23.18 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2025 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,
)

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