Skip to main content Crate moon_config Copy item path Source pub use schematic ;patterns test_utils config_enum config_struct config_unit_enum config_untagged_enum generate_switch BinConfig Configures to a tool-specific global binary to install. CalVer Container for a calendar version. CodeownersConfig Configures code ownership rules for generating a CODEOWNERS file. ConfigFinder ConfigLoader ConstraintsConfig Configures boundaries and constraints between projects. DockerConfig Configures our Docker integration. DockerFileConfig Configures Dockerfile generation. When configured at the workspace-level,
applies to all projects, but can be overridden at the project-level. DockerPruneConfig Configures aspects of the Docker pruning process. DockerScaffoldConfig Configures aspects of the Docker scaffolding process.
When configured at the workspace-level, applies to all projects,
but can be overridden at the project-level. ExperimentsConfig Configures experiments across the entire moon workspace. ExtensionPluginConfig Configures an individual extension. ExtensionsConfig Configures all extensions. FileGroupInput A file group input. FileInput A file path input. FileOutput A file path output. FilePath GeneratorConfig Configures the generator for scaffolding from templates. GlobInput A glob pattern input. GlobOutput A glob pattern output. GlobPath HasherConfig Configures aspects of the content hashing engine. InheritFor InheritedByConfig Configures conditions that must match against a project for tasks
to be inherited. If multiple conditions are defined, then all must match
for inheritance to occur. If no conditions are defined, then tasks will
be inherited by all projects. InheritedClauseConfig A condition that utilizes a combination of logical operators
to match against. When matching, all clauses must be satisfied. InheritedTasks InheritedTasksConfig Configures tasks and task related settings that’ll be inherited by all
matching projects.
Docs: https://moonrepo.dev/docs/config/tasks InheritedTasksEntry InheritedTasksManager ManifestDepsInput A manifest file’s dependencies input. MoonConfig Configures how and where moon updates will be received. NotifierConfig Configures how and where notifications are sent. OwnersConfig Defines ownership of source code within the current project, by mapping
file paths and glob patterns to owners. An owner is either a user, team, or group. PartialBinConfig Configures to a tool-specific global binary to install. PartialCodeownersConfig Configures code ownership rules for generating a CODEOWNERS file. PartialConstraintsConfig Configures boundaries and constraints between projects. PartialDockerConfig Configures our Docker integration. PartialDockerFileConfig Configures Dockerfile generation. When configured at the workspace-level,
applies to all projects, but can be overridden at the project-level. PartialDockerPruneConfig Configures aspects of the Docker pruning process. PartialDockerScaffoldConfig Configures aspects of the Docker scaffolding process.
When configured at the workspace-level, applies to all projects,
but can be overridden at the project-level. PartialExperimentsConfig Configures experiments across the entire moon workspace. PartialExtensionPluginConfig Configures an individual extension. PartialExtensionsConfig Configures all extensions. PartialFileGroupInput A file group input. PartialFileInput A file path input. PartialFileOutput A file path output. PartialGeneratorConfig Configures the generator for scaffolding from templates. PartialGlobInput A glob pattern input. PartialGlobOutput A glob pattern output. PartialHasherConfig Configures aspects of the content hashing engine. PartialInheritedByConfig Configures conditions that must match against a project for tasks
to be inherited. If multiple conditions are defined, then all must match
for inheritance to occur. If no conditions are defined, then tasks will
be inherited by all projects. PartialInheritedClauseConfig A condition that utilizes a combination of logical operators
to match against. When matching, all clauses must be satisfied. PartialInheritedTasksConfig Configures tasks and task related settings that’ll be inherited by all
matching projects.
Docs: https://moonrepo.dev/docs/config/tasks PartialManifestDepsInput A manifest file’s dependencies input. PartialMoonConfig Configures how and where moon updates will be received. PartialNotifierConfig Configures how and where notifications are sent. PartialOwnersConfig Defines ownership of source code within the current project, by mapping
file paths and glob patterns to owners. An owner is either a user, team, or group. PartialPipelineConfig Configures aspects of the action pipeline. PartialProjectConfig Configures information and tasks for a project.
Docs: https://moonrepo.dev/docs/config/project PartialProjectDependencyConfig Expanded information about a project dependency. PartialProjectDockerConfig Configures our Docker integration.
@since 1.27.0 PartialProjectInput An external project input. PartialProjectMetadataConfig Expanded information about the project. PartialProjectToolchainsConfig Overrides top-level toolchain settings, scoped to this project. PartialProjectWorkspaceConfig Overrides workspace settings, scoped to this project. PartialProjectWorkspaceInheritedTasksConfig Controls how workspace-level tasks are inherited. PartialProtoConfig Configures how moon integrates with proto. PartialRemoteAuthConfig Configures basic HTTP authentication.
@since 1.32.0 PartialRemoteCacheConfig Configures the action cache (AC) and content addressable cache (CAS).
@since 1.30.0 PartialRemoteConfig Configures the remote service, powered by the Bazel Remote Execution API.
@since 1.30.0 PartialRemoteMtlsConfig Configures for both server and client authentication with mTLS.
@since 1.30.0 PartialRemoteTlsConfig Configures for server-only authentication with TLS.
@since 1.30.0 PartialTaskConfig Configures a task to be ran within the action pipeline. PartialTaskDependencyConfig Expanded information about a task dependency. PartialTaskOptionAffectedFilesConfig Expanded information about affected files handling. PartialTaskOptionsConfig Options to control task inheritance, execution, and more. PartialTemplateConfig Configures a template and its files to be scaffolded.
Docs: https://moonrepo.dev/docs/config/template PartialTemplateFrontmatterConfig Configures the leading frontmatter within a template file.
Docs: https://moonrepo.dev/docs/config/template#frontmatter PartialTemplateVariableArraySetting Configuration for a template variable. PartialTemplateVariableBoolSetting Configuration for a template variable. PartialTemplateVariableEnumSetting PartialTemplateVariableEnumValueConfig PartialTemplateVariableNumberSetting Configuration for a template variable. PartialTemplateVariableObjectSetting Configuration for a template variable. PartialTemplateVariableStringSetting Configuration for a template variable. PartialToolchainPluginConfig Configures an individual toolchain. PartialToolchainsConfig Configures all toolchains.
Docs: https://moonrepo.dev/docs/config/toolchain PartialVcsConfig Configures the version control system (VCS). PartialWorkspaceConfig Configures all aspects of the moon workspace.
Docs: https://moonrepo.dev/docs/config/workspace PartialWorkspaceProjectsConfig Configures projects in the workspace, using both globs and explicit source paths. PipelineConfig Configures aspects of the action pipeline. ProjectConfig Configures information and tasks for a project.
Docs: https://moonrepo.dev/docs/config/project ProjectDependencyConfig Expanded information about a project dependency. ProjectDockerConfig Configures our Docker integration.
@since 1.27.0 ProjectInput An external project input. ProjectMetadataConfig Expanded information about the project. ProjectToolchainsConfig Overrides top-level toolchain settings, scoped to this project. ProjectWorkspaceConfig Overrides workspace settings, scoped to this project. ProjectWorkspaceInheritedTasksConfig Controls how workspace-level tasks are inherited. ProtoConfig Configures how moon integrates with proto. RemoteAuthConfig Configures basic HTTP authentication.
@since 1.32.0 RemoteCacheConfig Configures the action cache (AC) and content addressable cache (CAS).
@since 1.30.0 RemoteConfig Configures the remote service, powered by the Bazel Remote Execution API.
@since 1.30.0 RemoteMtlsConfig Configures for both server and client authentication with mTLS.
@since 1.30.0 RemoteTlsConfig Configures for server-only authentication with TLS.
@since 1.30.0 SemVer Container for a semantic version. TaskConfig Configures a task to be ran within the action pipeline. TaskDependencyConfig Expanded information about a task dependency. TaskOptionAffectedFilesConfig Expanded information about affected files handling. TaskOptionsConfig Options to control task inheritance, execution, and more. TemplateConfig Configures a template and its files to be scaffolded.
Docs: https://moonrepo.dev/docs/config/template TemplateFrontmatterConfig Configures the leading frontmatter within a template file.
Docs: https://moonrepo.dev/docs/config/template#frontmatter TemplateVariableArraySetting Configuration for a template variable. TemplateVariableBoolSetting Configuration for a template variable. TemplateVariableEnumSetting TemplateVariableEnumValueConfig TemplateVariableNumberSetting Configuration for a template variable. TemplateVariableObjectSetting Configuration for a template variable. TemplateVariableStringSetting Configuration for a template variable. ToolchainPluginConfig Configures an individual toolchain. ToolchainsConfig Configures all toolchains.
Docs: https://moonrepo.dev/docs/config/toolchain Uri VcsConfig Configures the version control system (VCS). Version SemVer version as defined by https://semver.org .VersionReq SemVer version requirement describing the intersection of some version
comparators, such as >=1.2.3, <1.8.WorkspaceConfig Configures all aspects of the moon workspace.
Docs: https://moonrepo.dev/docs/config/workspace WorkspaceProjectsConfig Configures projects in the workspace, using both globs and explicit source paths. BinEntry Configures to a tool-specific global binary to install. CodeownersOrderBy How to order ownership rules within the generated file. DependencyScope The relationship scope of a dependency. DependencySource The source where the dependency comes from. Either explicitly
defined in configuration, or implicitly derived from source files. FileGroupInputFormat Available formats to resolve the file group into. HasherOptimization The optimization to use when hashing. HasherWalkStrategy The strategy to use when walking the file system. InheritedConditionConfig Patterns in which a condition can be configured as. Input The different patterns a task input can be defined as. LanguageType Supported programming languages that each project can be written in. LayerType The layer within the technology stack, for categorizing. NotifierEventType The types of events in which to send notifications. OneOrMany Represents a single value, or a list of multiple values. Output The different patterns a task output can be defined as. OwnersPaths A mapping of file paths and file globs to owners. PartialBinEntry Configures to a tool-specific global binary to install. PartialInheritedConditionConfig Patterns in which a condition can be configured as. PartialOwnersPaths A mapping of file paths and file globs to owners. PartialPipelineActionSwitch Toggles the state of actions within the pipeline. PartialProjectDependsOn Expanded information about a project dependency. PartialProjectToolchainEntry Variants a project-level toolchain can be configured. PartialTaskArgs Configures a command and its arguments to execute. PartialTaskDependency Configures another task that this task depends on. PartialTaskOptionAffectedFilesEntry PartialTemplateVariable Each type of template variable. PartialTemplateVariableEnumDefault PartialTemplateVariableEnumValue PartialWorkspaceProjects Configures projects in the workspace. PipelineActionSwitch Toggles the state of actions within the pipeline. ProjectDependsOn Expanded information about a project dependency. ProjectToolchainEntry Variants a project-level toolchain can be configured. RemoteApi The API format of the remote service.
@since 1.32.0 RemoteCompression Supported blob compression levels for gRPC APIs.
@since 1.31.0 StackType The technology stack of the project, for categorizing. TaskArgs Configures a command and its arguments to execute. TaskDependency Configures another task that this task depends on. TaskDependencyType The task-to-task relationship of the dependency. TaskMergeStrategy The strategy in which to merge a specific task option. TaskOperatingSystem The operating system in which to only run this task on. TaskOptionAffectedFilesEntry TaskOptionAffectedFilesPattern The pattern in which affected files will be passed to the affected task. TaskOptionCache The environment in which to apply task caching. TaskOptionEnvFile The pattern in which a task is dependent on a .env file. TaskOptionRunInCI The pattern in which to run the task automatically in CI. TaskOutputStyle The style in which task output will be printed to the console. TaskPreset Preset options to inherit. TaskPriority The priority levels a task can be bucketed into when running
in the action pipeline. TaskType The type of task. TaskUnixShell A list of available shells on Unix. TaskWindowsShell A list of available shells on Windows. TemplateLocator TemplateVariable Each type of template variable. TemplateVariableEnumDefault TemplateVariableEnumValue ToolchainPluginVersionFrom The strategy in which to inherit a version from .prototools. UnresolvedVersionSpec Represents an unresolved version or alias that must be resolved
to a fully-qualified version. VcsClient The VCS being utilized by the repository. VcsHookFormat The format to use for generated VCS hook files.
@since 1.29.0 VcsProvider The upstream version control provider, where the repository
source code is stored. VersionSpec Represents a resolved version or alias. WorkspaceProjectGlobFormat The project identifier format for glob located projects. WorkspaceProjects Configures projects in the workspace. PortablePath finalize_config is_false is_glob_like validate_child_relative_path validate_relative_path EnvMap