routing

package
v0.22.1 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package routing wires the routing domain — repository→channel resolution across tiers and monorepo path rules — into an fx module. This file is the only fx-aware part of the domain; the domain, application, and infrastructure layers stay framework-free.

Index

Constants

This section is empty.

Variables

Module binds the routing ports to their use cases. It expects the composition root to supply the external inputs it cannot build itself: a domain.ChangedFilesReader (the GitHub client), a *slog.Logger, and a Config.

Functions

This section is empty.

Types

type Config

type Config struct {
	Defaults domain.Defaults
	Mappings map[string]domain.Org
	Digest   *domain.DigestConfig
}

Config carries the routing module's runtime configuration — the parsed mappings sections from config.yaml — supplied as a single value by the composition root (or a test).

Directories

Path Synopsis
Package application holds the routing use cases: the provider (tier resolution and defaults merge) and the per-PR router (layering monorepo path rules over the base repo/org tier).
Package application holds the routing use cases: the provider (tier resolution and defaults merge) and the per-PR router (layering monorepo path rules over the base repo/org tier).
Package domain holds the routing domain's contracts: the ports, DTOs, enums, constants, and pure validation for resolving a repository (and a PR's changed files) to the Slack channel(s) and behavioural config that apply, across the global/org/repo tiers and monorepo path rules.
Package domain holds the routing domain's contracts: the ports, DTOs, enums, constants, and pure validation for resolving a repository (and a PR's changed files) to the Slack channel(s) and behavioural config that apply, across the global/org/repo tiers and monorepo path rules.
Package infrastructure holds the routing adapters: the YAML loader for the mappings section of config.yaml, the config.lock read/write/diff/merge store, and the GitHub changed-files reader.
Package infrastructure holds the routing adapters: the YAML loader for the mappings section of config.yaml, the config.lock read/write/diff/merge store, and the GitHub changed-files reader.

Jump to

Keyboard shortcuts

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