Documentation
¶
Index ¶
- Constants
- Variables
- func AnalyzeTemplateRecursively(val any, res map[string]string) error
- func EvaluateBoolExpression(expr string) (bool, error)
- func InitEmpty(ctx context.Context, repo drivers.RepoStore, instanceID, displayName string) error
- func IsInit(ctx context.Context, repo drivers.RepoStore, instanceID string) bool
- func ResolveTemplate(tmpl string, data TemplateData, errOnMissingTemplKeys bool) (string, error)
- func ResolveTemplateRecursively(val any, data TemplateData, errOnMissingTemplKeys bool) (any, error)
- func ToDisplayName(name string) string
- type APIYAML
- type AlertYAML
- type CanvasYAML
- type ComponentVariableYAML
- type ComponentYAML
- type Connector
- type ConnectorDef
- type ConnectorYAML
- type DataYAML
- type Diff
- type ExploreComparisonTimeRangeYAML
- type ExploreTimeRangeYAML
- type ExploreYAML
- type FieldSelectorYAML
- type MetricsViewFieldSelectorYAML
- type MetricsViewFieldSelectorsYAML
- type MetricsViewMeasureWindow
- type MetricsViewYAML
- type MigrationYAML
- type ModelYAML
- type Node
- type OpenAPIYAML
- type Parser
- type ReportYAML
- type Resource
- type ResourceKind
- type ResourceName
- type RillYAML
- type ScheduleYAML
- type SecurityPolicyYAML
- type SecurityRuleYAML
- type TemplateData
- type TemplateMetadata
- type TemplateResource
- type ThemeYAML
- type VariableDef
Constants ¶
const Version = "rillv1"
Version identifier for this parser
Variables ¶
var ErrRillYAMLNotFound = errors.New("rill.yaml not found")
Functions ¶
func AnalyzeTemplateRecursively ¶
AnalyzeTemplateRecursively analyzes strings nested in the provided value for template tags that reference variables. Variables are added as keys to the provided map, with empty strings as values. The values are empty strings instead of booleans as an optimization to enable re-using the map in upstream code.
func EvaluateBoolExpression ¶
func ResolveTemplate ¶
func ResolveTemplate(tmpl string, data TemplateData, errOnMissingTemplKeys bool) (string, error)
ResolveTemplate resolves a template to a string using the given data.
func ResolveTemplateRecursively ¶
func ResolveTemplateRecursively(val any, data TemplateData, errOnMissingTemplKeys bool) (any, error)
ResolveTemplateRecursively recursively traverses the provided value and applies ResolveTemplate to any string it encounters. It may overwrite the provided value in-place.
func ToDisplayName ¶
toDisplayName converts a snake_case name to a display name by replacing underscores and dashes with spaces and capitalizing every word.
Types ¶
type APIYAML ¶
type APIYAML struct { DataYAML `yaml:",inline" mapstructure:",squash"` OpenAPI *OpenAPIYAML `yaml:"openapi"` Security *SecurityPolicyYAML `yaml:"security"` SkipNestedSecurity bool `yaml:"skip_nested_security"` }
APIYAML is the raw structure of a API resource defined in YAML (does not include common fields)
type AlertYAML ¶
type AlertYAML struct { DisplayName string `yaml:"display_name"` Title string `yaml:"title"` // Deprecated: use display_name Refresh *ScheduleYAML `yaml:"refresh"` Watermark string `yaml:"watermark"` // options: "trigger_time", "inherit" Intervals struct { Duration string `yaml:"duration"` Limit uint `yaml:"limit"` CheckUnclosed bool `yaml:"check_unclosed"` } `yaml:"intervals"` Timeout string `yaml:"timeout"` Data *DataYAML `yaml:"data"` For struct { UserID string `yaml:"user_id"` UserEmail string `yaml:"user_email"` Attributes map[string]any `yaml:"attributes"` } `yaml:"for"` Query struct { Name string `yaml:"name"` Args map[string]any `yaml:"args"` ArgsJSON string `yaml:"args_json"` For struct { UserID string `yaml:"user_id"` UserEmail string `yaml:"user_email"` Attributes map[string]any `yaml:"attributes"` } `yaml:"for"` } `yaml:"query"` OnRecover *bool `yaml:"on_recover"` OnFail *bool `yaml:"on_fail"` OnError *bool `yaml:"on_error"` Renotify *bool `yaml:"renotify"` RenotifyAfter string `yaml:"renotify_after"` Notify struct { Email struct { Recipients []string `yaml:"recipients"` } `yaml:"email"` Slack struct { Users []string `yaml:"users"` Channels []string `yaml:"channels"` Webhooks []string `yaml:"webhooks"` } `yaml:"slack"` } `yaml:"notify"` Annotations map[string]string `yaml:"annotations"` // Backwards compatibility Email struct { Recipients []string `yaml:"recipients"` OnRecover *bool `yaml:"on_recover"` OnFail *bool `yaml:"on_fail"` OnError *bool `yaml:"on_error"` Renotify *bool `yaml:"renotify"` RenotifyAfter string `yaml:"renotify_after"` } `yaml:"email"` // contains filtered or unexported fields }
AlertYAML is the raw structure of an Alert resource defined in YAML (does not include common fields)
type CanvasYAML ¶
type CanvasYAML struct { DisplayName string `yaml:"display_name"` Title string `yaml:"title"` // Deprecated: use display_name Banner string `yaml:"banner"` MaxWidth uint32 `yaml:"max_width"` GapX uint32 `yaml:"gap_x"` GapY uint32 `yaml:"gap_y"` Theme yaml.Node `yaml:"theme"` // Name (string) or inline theme definition (map) AllowCustomTimeRange *bool `yaml:"allow_custom_time_range"` TimeRanges []ExploreTimeRangeYAML `yaml:"time_ranges"` TimeZones []string `yaml:"time_zones"` Filters struct { Enable *bool `yaml:"enable"` } Defaults *struct { TimeRange string `yaml:"time_range"` ComparisonMode string `yaml:"comparison_mode"` ComparisonDimension string `yaml:"comparison_dimension"` } `yaml:"defaults"` Variables []*ComponentVariableYAML `yaml:"variables"` Rows []*struct { Height *string `yaml:"height"` Items []*struct { Width *string `yaml:"width"` Component string `yaml:"component"` // Name of an externally defined component InlineComponent map[string]yaml.Node `yaml:",inline"` // Any other properties are considered an inline component definition } `yaml:"items"` } Security *SecurityPolicyYAML `yaml:"security"` // contains filtered or unexported fields }
type ComponentVariableYAML ¶
type ComponentVariableYAML struct { Name string `yaml:"name"` Type string `yaml:"type"` Value any `yaml:"value"` }
func (*ComponentVariableYAML) Proto ¶
func (y *ComponentVariableYAML) Proto() (*runtimev1.ComponentVariable, error)
type ComponentYAML ¶
type ComponentYAML struct { DisplayName string `yaml:"display_name"` Title string `yaml:"title"` // Deprecated: use display_name Description string `yaml:"description"` Subtitle string `yaml:"subtitle"` // Deprecated: use description Input []*ComponentVariableYAML `yaml:"input"` Output *ComponentVariableYAML `yaml:"output"` Other map[string]map[string]any `yaml:",inline" mapstructure:",remain"` // Generic renderer: can only have one key // contains filtered or unexported fields }
type Connector ¶
type Connector struct { Name string Driver string Spec *drivers.Spec DefaultConfig map[string]string Resources []*Resource AnonymousAccess bool Err error }
Connector contains metadata about a connector used in a Rill project
type ConnectorDef ¶
ConnectorDef is a subtype of RillYAML, defining connectors required by the project
type ConnectorYAML ¶
type ConnectorYAML struct { // Driver name Driver string `yaml:"driver"` Managed yaml.Node `yaml:"managed"` // Boolean or map of properties Defaults map[string]string `yaml:",inline" mapstructure:",remain"` // contains filtered or unexported fields }
ConnectorYAML is the raw structure of a Connector resource defined in YAML (does not include common fields)
type DataYAML ¶
type DataYAML struct { Connector string `yaml:"connector"` SQL string `yaml:"sql"` MetricsSQL string `yaml:"metrics_sql"` API string `yaml:"api"` Args map[string]any `yaml:"args"` Glob yaml.Node `yaml:"glob"` // Path (string) or properties (map[string]any) ResourceStatus map[string]any `yaml:"resource_status"` }
DataYAML is the raw YAML structure of a sub-property for defining a data resolver and properties. It is used across multiple resources, usually under "data:", but inlined for APIs.
type Diff ¶
type Diff struct { Reloaded bool Skipped bool Added []ResourceName Modified []ResourceName ModifiedDotEnv bool Deleted []ResourceName }
Diff shows changes to Parser.Resources following an incremental reparse.
type ExploreComparisonTimeRangeYAML ¶
ExploreComparisonTimeRangeYAML is part of ExploreTimeRangeYAML. See its docstring.
func (*ExploreComparisonTimeRangeYAML) UnmarshalYAML ¶
func (y *ExploreComparisonTimeRangeYAML) UnmarshalYAML(v *yaml.Node) error
type ExploreTimeRangeYAML ¶
type ExploreTimeRangeYAML struct { Range string ComparisonTimeRanges []ExploreComparisonTimeRangeYAML }
ExploreTimeRangeYAML represents a time range in an ExploreYAML. It has a custom parser to support a mixed scalar and mapping structure. Example:
time_ranges: - P7D - range: P30D comparison_offsets: - P30D - offset: P60D range: P90D
The custom parsing is handled in UnmarshalYAML on this struct on an ExploreComparisonTimeRangeYAML.
func (*ExploreTimeRangeYAML) UnmarshalYAML ¶
func (y *ExploreTimeRangeYAML) UnmarshalYAML(v *yaml.Node) error
type ExploreYAML ¶
type ExploreYAML struct { DisplayName string `yaml:"display_name"` Title string `yaml:"title"` // Deprecated: use display_name Description string `yaml:"description"` Banner string `yaml:"banner"` MetricsView string `yaml:"metrics_view"` Dimensions *FieldSelectorYAML `yaml:"dimensions"` Measures *FieldSelectorYAML `yaml:"measures"` Theme yaml.Node `yaml:"theme"` // Name (string) or inline theme definition (map) TimeRanges []ExploreTimeRangeYAML `yaml:"time_ranges"` TimeZones []string `yaml:"time_zones"` // Single time zone or list of time zones LockTimeZone bool `yaml:"lock_time_zone"` AllowCustomTimeRange *bool `yaml:"allow_custom_time_range"` Defaults *struct { Dimensions *FieldSelectorYAML `yaml:"dimensions"` Measures *FieldSelectorYAML `yaml:"measures"` TimeRange string `yaml:"time_range"` ComparisonMode string `yaml:"comparison_mode"` ComparisonDimension string `yaml:"comparison_dimension"` } `yaml:"defaults"` Embeds struct { HidePivot bool `yaml:"hide_pivot"` } `yaml:"embeds"` Security *SecurityPolicyYAML `yaml:"security"` // contains filtered or unexported fields }
type FieldSelectorYAML ¶
type FieldSelectorYAML struct { All bool Fields *[]string Regex string DuckDBExpression string Invert bool }
FieldSelectorYAML parses a list of names with support for a '*' scalar for all names, and support for a nested "exclude:" list for selecting all except the listed names.
Note that '*' is represented by setting Exclude to true and leaving Names nil. (Because excluding nothing is the same as including everything.)
func (*FieldSelectorYAML) Proto ¶
func (y *FieldSelectorYAML) Proto() *runtimev1.FieldSelector
Proto returns the protocol buffer representation of a FieldSelector. It is recommended only to use this if TryResolve cannot return a list of fields outright.
func (*FieldSelectorYAML) TryResolve ¶
func (y *FieldSelectorYAML) TryResolve() ([]string, bool)
TryResolve attempts to resolve the field selector to a list of fields without any further context. It returns false if the field selector requires context about which fields are available.
func (*FieldSelectorYAML) UnmarshalYAML ¶
func (y *FieldSelectorYAML) UnmarshalYAML(v *yaml.Node) error
type MetricsViewFieldSelectorYAML ¶
type MetricsViewFieldSelectorYAML struct { Name string TimeGrain runtimev1.TimeGrain // Only for time dimensions Descending bool // Only for sorting }
func (*MetricsViewFieldSelectorYAML) UnmarshalYAML ¶
func (f *MetricsViewFieldSelectorYAML) UnmarshalYAML(v *yaml.Node) error
type MetricsViewFieldSelectorsYAML ¶
type MetricsViewFieldSelectorsYAML []MetricsViewFieldSelectorYAML
func (*MetricsViewFieldSelectorsYAML) UnmarshalYAML ¶
func (f *MetricsViewFieldSelectorsYAML) UnmarshalYAML(v *yaml.Node) error
type MetricsViewMeasureWindow ¶
type MetricsViewMeasureWindow struct { Partition bool Order []MetricsViewFieldSelectorYAML OrderTime bool // Preset for ordering by only the time dimension Frame string }
func (*MetricsViewMeasureWindow) UnmarshalYAML ¶
func (f *MetricsViewMeasureWindow) UnmarshalYAML(v *yaml.Node) error
type MetricsViewYAML ¶
type MetricsViewYAML struct { DisplayName string `yaml:"display_name"` Title string `yaml:"title"` // Deprecated: use display_name Description string `yaml:"description"` Model string `yaml:"model"` Database string `yaml:"database"` DatabaseSchema string `yaml:"database_schema"` Table string `yaml:"table"` TimeDimension string `yaml:"timeseries"` Watermark string `yaml:"watermark"` SmallestTimeGrain string `yaml:"smallest_time_grain"` FirstDayOfWeek uint32 `yaml:"first_day_of_week"` FirstMonthOfYear uint32 `yaml:"first_month_of_year"` Dimensions []*struct { Name string DisplayName string `yaml:"display_name"` Label string // Deprecated: use display_name Description string Column string Expression string Property string // For backwards compatibility Ignore bool `yaml:"ignore"` // Deprecated Unnest bool URI string LookupTable string `yaml:"lookup_table"` LookKeyColumn string `yaml:"lookup_key_column"` LookValueColumn string `yaml:"lookup_value_column"` } Measures []*struct { Name string DisplayName string `yaml:"display_name"` Label string // Deprecated: use display_name Description string Type string Expression string Window *MetricsViewMeasureWindow Per MetricsViewFieldSelectorsYAML Requires MetricsViewFieldSelectorsYAML FormatPreset string `yaml:"format_preset"` FormatD3 string `yaml:"format_d3"` FormatD3Locale map[string]any `yaml:"format_d3_locale"` Ignore bool `yaml:"ignore"` // Deprecated ValidPercentOfTotal bool `yaml:"valid_percent_of_total"` TreatNullsAs string `yaml:"treat_nulls_as"` } Security *SecurityPolicyYAML // DEPRECATED FIELDS DefaultTimeRange string `yaml:"default_time_range"` AvailableTimeZones []string `yaml:"available_time_zones"` DefaultTheme string `yaml:"default_theme"` DefaultDimensions []string `yaml:"default_dimensions"` DefaultMeasures []string `yaml:"default_measures"` DefaultComparison struct { Mode string `yaml:"mode"` Dimension string `yaml:"dimension"` } `yaml:"default_comparison"` AvailableTimeRanges []ExploreTimeRangeYAML `yaml:"available_time_ranges"` Cache struct { Enabled *bool `yaml:"enabled"` KeySQL string `yaml:"key_sql"` KeyTTL string `yaml:"key_ttl"` } `yaml:"cache"` // contains filtered or unexported fields }
MetricsViewYAML is the raw structure of a MetricsView resource defined in YAML
type MigrationYAML ¶
type MigrationYAML struct {
MaxVersion uint `yaml:"max_version" mapstructure:"max_version"`
}
MigrationYAML is the raw structure of a Migration resource defined in YAML (does not include common fields)
type ModelYAML ¶
type ModelYAML struct { Refresh *ScheduleYAML `yaml:"refresh"` Timeout string `yaml:"timeout"` Incremental bool `yaml:"incremental"` ChangeMode string `yaml:"change_mode"` State *DataYAML `yaml:"state"` Partitions *DataYAML `yaml:"partitions"` Splits *DataYAML `yaml:"splits"` // Deprecated: use "partitions" instead PartitionsWatermark string `yaml:"partitions_watermark"` PartitionsConcurrency uint `yaml:"partitions_concurrency"` InputProperties map[string]any `yaml:",inline" mapstructure:",remain"` Stage struct { Connector string `yaml:"connector"` Properties map[string]any `yaml:",inline" mapstructure:",remain"` } `yaml:"stage"` Output struct { Connector string `yaml:"connector"` Properties map[string]any `yaml:",inline" mapstructure:",remain"` } `yaml:"output"` Materialize *bool `yaml:"materialize"` DefinedAsSource bool `yaml:"defined_as_source"` // contains filtered or unexported fields }
ModelYAML is the raw structure of a Model resource defined in YAML (does not include common fields)
type Node ¶
type Node struct { Version int Kind ResourceKind Name string Refs []ResourceName Paths []string YAML *yaml.Node YAMLOverride *yaml.Node YAMLRaw string YAMLPath string Connector string ConnectorInferred bool SQL string SQLPath string SQLAnnotations map[string]any SQLUsesTemplating bool }
Node represents one path stem in the project. It contains data derived from a YAML and/or SQL file (e.g. "/path/to/file.yaml" for "/path/to/file.sql").
type OpenAPIYAML ¶
type Parser ¶
type Parser struct { // Options Repo drivers.RepoStore InstanceID string Environment string DefaultOLAPConnector string // Output RillYAML *RillYAML DotEnv map[string]map[string]string // Map of .env file paths to their key-value pairs Resources map[ResourceName]*Resource Errors []*runtimev1.ParseError // contains filtered or unexported fields }
Parser parses a Rill project directory into a set of resources. After the initial parse, the parser can be used to incrementally reparse a subset of files. Parser is not concurrency safe.
func Parse ¶
func Parse(ctx context.Context, repo drivers.RepoStore, instanceID, environment, defaultOLAPConnector string) (*Parser, error)
Parse creates a new parser and parses the entire project.
func (*Parser) AnalyzeConnectors ¶
AnalyzeConnectors extracts connector metadata from a Rill project
func (*Parser) IsSkippable ¶
IsSkippable returns true if the path will be skipped by Reparse. It's useful for callers to avoid triggering a reparse when they know the path is not relevant.
func (*Parser) Reparse ¶
Reparse re-parses the indicated file paths, updating the Parser's state. If rill.yaml has previously errored, or if rill.yaml is included in paths, it will reload the entire project. If a previous call to Reparse has returned an error, the Parser may not be accessed or called again.
func (*Parser) TrackedPathsInDir ¶
TrackedPathsInDir returns the paths under the given directory that the parser currently has cached results for.
type ReportYAML ¶
type ReportYAML struct { DisplayName string `yaml:"display_name"` Title string `yaml:"title"` // Deprecated: use display_name Refresh *ScheduleYAML `yaml:"refresh"` Watermark string `yaml:"watermark"` // options: "trigger_time", "inherit" Intervals struct { Duration string `yaml:"duration"` Limit uint `yaml:"limit"` CheckUnclosed bool `yaml:"check_unclosed"` } `yaml:"intervals"` Timeout string `yaml:"timeout"` Query struct { Name string `yaml:"name"` Args map[string]any `yaml:"args"` ArgsJSON string `yaml:"args_json"` } `yaml:"query"` Export struct { Format string `yaml:"format"` Limit uint `yaml:"limit"` } `yaml:"export"` Email struct { Recipients []string `yaml:"recipients"` } `yaml:"email"` Notify struct { Email struct { Recipients []string `yaml:"recipients"` } `yaml:"email"` Slack struct { Users []string `yaml:"users"` Channels []string `yaml:"channels"` Webhooks []string `yaml:"webhooks"` } `yaml:"slack"` } `yaml:"notify"` Annotations map[string]string `yaml:"annotations"` // contains filtered or unexported fields }
ReportYAML is the raw structure of a Report resource defined in YAML (does not include common fields)
type Resource ¶
type Resource struct { // Metadata Name ResourceName Paths []string Refs []ResourceName // Derived from rawRefs after parsing (can't contain ResourceKindUnspecified). Always sorted. // Only one of these will be non-nil SourceSpec *runtimev1.SourceSpec ModelSpec *runtimev1.ModelSpec MetricsViewSpec *runtimev1.MetricsViewSpec ExploreSpec *runtimev1.ExploreSpec MigrationSpec *runtimev1.MigrationSpec ReportSpec *runtimev1.ReportSpec AlertSpec *runtimev1.AlertSpec ThemeSpec *runtimev1.ThemeSpec ComponentSpec *runtimev1.ComponentSpec CanvasSpec *runtimev1.CanvasSpec APISpec *runtimev1.APISpec ConnectorSpec *runtimev1.ConnectorSpec // contains filtered or unexported fields }
Resource parsed from code files. One file may output multiple resources and multiple files may contribute config to one resource.
type ResourceKind ¶
type ResourceKind int
ResourceKind identifies a resource type supported by the parser
const ( ResourceKindUnspecified ResourceKind = iota ResourceKindSource ResourceKindModel ResourceKindMetricsView ResourceKindExplore ResourceKindMigration ResourceKindReport ResourceKindAlert ResourceKindTheme ResourceKindComponent ResourceKindCanvas ResourceKindAPI ResourceKindConnector )
func ParseResourceKind ¶
func ParseResourceKind(kind string) (ResourceKind, error)
ParseResourceKind maps a string to a ResourceKind. Note: The empty string is considered a valid kind (unspecified).
func (ResourceKind) String ¶
func (k ResourceKind) String() string
type ResourceName ¶
type ResourceName struct { Kind ResourceKind Name string }
ResourceName is a unique identifier for a resource
func (ResourceName) Normalized ¶
func (n ResourceName) Normalized() ResourceName
func (ResourceName) String ¶
func (n ResourceName) String() string
type RillYAML ¶
type RillYAML struct { DisplayName string Description string OLAPConnector string Connectors []*ConnectorDef Variables []*VariableDef Defaults map[ResourceKind]yaml.Node FeatureFlags map[string]bool PublicPaths []string }
RillYAML is the parsed contents of rill.yaml
type ScheduleYAML ¶
type ScheduleYAML struct { RefUpdate *bool `yaml:"ref_update" mapstructure:"ref_update"` Cron string `yaml:"cron" mapstructure:"cron"` Every string `yaml:"every" mapstructure:"every"` TimeZone string `yaml:"time_zone" mapstructure:"time_zone"` Disable bool `yaml:"disable" mapstructure:"disable"` RunInDev bool `yaml:"run_in_dev" mapstructure:"run_in_dev"` }
ScheduleYAML is the raw structure of a refresh schedule clause defined in YAML. This does not represent a stand-alone YAML file, just a partial used in other structs.
type SecurityPolicyYAML ¶
type SecurityPolicyYAML struct { Access string `yaml:"access"` RowFilter string `yaml:"row_filter"` Include []*struct { Condition string `yaml:"if"` Names yaml.Node // []string or "*" (will be parsed with parseNamesYAML) } Exclude []*struct { Condition string `yaml:"if"` Names yaml.Node // []string or "*" (will be parsed with parseNamesYAML) } Rules []*SecurityRuleYAML `yaml:"rules"` }
func (*SecurityPolicyYAML) Proto ¶
func (p *SecurityPolicyYAML) Proto() ([]*runtimev1.SecurityRule, error)
type SecurityRuleYAML ¶
type SecurityRuleYAML struct { Type string Action string If string Names []string All bool SQL string }
func (*SecurityRuleYAML) Proto ¶
func (r *SecurityRuleYAML) Proto() (*runtimev1.SecurityRule, error)
type TemplateData ¶
type TemplateData struct { Environment string User map[string]any Variables map[string]string State map[string]any ExtraProps map[string]any Self TemplateResource Resolve func(ref ResourceName) (string, error) Lookup func(name ResourceName) (TemplateResource, error) }
TemplateData contains data for resolving a template.
type TemplateMetadata ¶
type TemplateMetadata struct { Refs []ResourceName Config map[string]any Variables []string UsesTemplating bool ResolvedWithPlaceholders string }
TemplateMetadata contains metadata extracted from a template.
func AnalyzeTemplate ¶
func AnalyzeTemplate(tmpl string) (*TemplateMetadata, error)
AnalyzeTemplate parses a template and extracts metadata.
type TemplateResource ¶
type TemplateResource struct { Meta *runtimev1.ResourceMeta Spec any State any }
TemplateResource contains data for a resource for injection into a template.
type ThemeYAML ¶
type ThemeYAML struct { Colors struct { Primary string `yaml:"primary"` Secondary string `yaml:"secondary"` } `yaml:"colors"` // contains filtered or unexported fields }
ThemeYAML is the raw structure of a Theme for the UI in YAML (does not include common fields)
type VariableDef ¶
VariableDef is a subtype of RillYAML, defining defaults for project variables
Source Files
¶
- connectors.go
- init.go
- parse_alert.go
- parse_api.go
- parse_canvas.go
- parse_component.go
- parse_connector.go
- parse_dotenv.go
- parse_explore.go
- parse_metrics_view.go
- parse_migration.go
- parse_model.go
- parse_node.go
- parse_partial_data.go
- parse_partial_field_selector.go
- parse_partial_schedule.go
- parse_partial_security_policy.go
- parse_report.go
- parse_rillyaml.go
- parse_source.go
- parse_theme.go
- parser.go
- rillv1.go
- template.go
- util.go