state

Apply states to the targeted repository.

Added in version 1.1.0.

Salt’s per-resource execution loader is deny-by-default, so a resource type must provide the state slot itself for state.apply and friends to be dispatchable to its resources. This module re-exports the stock state execution module into the per-type loader via namespaced_function (the pattern recommended in Salt’s resource state-authoring docs). The state engine then compiles and runs on the managing minion while every module call inside the rendered states dispatches through the per-resource loader — and thus through this extension’s resources/github/states/ overrides.

Unlike the ssh resource type, no custom transport is needed: the GitHub API is reachable from the managing minion, so the stock implementations work unchanged. Only a few helpers that assume managing-minion dunders (__pillar__, grains-backed state disabling) are overridden below.