util

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ActionCreate = "create"
	ActionEnsure = "ensure"
	ActionGrant  = "grant"
	ActionUpdate = "update"
	ActionDelete = "delete"
	ActionRemove = "remove"
)

The actions a Change can carry. They are switched on here and in the apply handlers, across packages, so a literal that drifts by a letter routes a change to nothing at all rather than failing to compile.

Variables

View Source
var AuditLog bool

AuditLog controls whether structured audit log entries are emitted to stderr.

Functions

func Audit added in v0.2.3

func Audit(scope, target, action, status string)

Audit emits a structured JSON audit log entry to stderr when AuditLog is enabled.

func Debugf added in v0.2.4

func Debugf(format string, args ...any)

Debugf emits a formatted debug-level log line via slog.

func EnableDebug

func EnableDebug()

EnableDebug switches the package logger to debug level and prefixes records with file:line so operators can trace noisy runs.

func Infof added in v0.2.4

func Infof(format string, args ...any)

Infof emits a formatted info-level log line via slog.

func Logger added in v0.2.4

func Logger() *slog.Logger

Logger returns the package-level structured logger.

func PrintPlan

func PrintPlan(p Plan) error

PrintPlan writes the plan's changes as a short, one-line-per-change list. File contents and other verbose detail fields are omitted; the summary block printed by PrintSummary carries the aggregate stats.

func PrintSummary

func PrintSummary(p Plan)

PrintSummary prints a human-readable summary of the plan

func Warnf

func Warnf(format string, v ...any)

Warnf prints a warning message to stderr.

Types

type Change

type Change struct {
	Scope   string      `json:"scope"`
	Target  string      `json:"target"`
	Action  string      `json:"action"`
	Details interface{} `json:"details"`
}

type Plan

type Plan struct {
	Changes  []Change    `json:"changes"`
	Warnings []string    `json:"warnings"`
	Stats    *StateStats `json:"stats,omitempty"`
}

func (Plan) HasChanges added in v0.4.3

func (p Plan) HasChanges() bool

HasChanges reports whether the plan would change anything.

type StatePair

type StatePair struct {
	Current int `json:"current"`
	Desired int `json:"desired"`
}

type StateStats

type StateStats struct {
	Teams           StatePair `json:"teams"`
	TeamMembers     StatePair `json:"team_members"`
	Repositories    StatePair `json:"repositories"`
	RepoPermissions StatePair `json:"repo_permissions"`
	CustomRoles     StatePair `json:"custom_roles"`
	Rulesets        StatePair `json:"rulesets"`
	Owners          StatePair `json:"owners"`
}

Jump to

Keyboard shortcuts

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