files

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HasPrivateFileWriteCommitOutcome added in v0.4.0

func HasPrivateFileWriteCommitOutcome(err error) bool

HasPrivateFileWriteCommitOutcome 报告错误是否由 private writer 标注 outcome。

func MustPreserveReplacementSource added in v0.4.0

func MustPreserveReplacementSource(err error) bool

MustPreserveReplacementSource 报告 wrapped/joined error 是否要求调用方保留 source。

func ReplaceFile

func ReplaceFile(sourcePath, targetPath string) error

ReplaceFile 用源文件替换目标路径;调用方应确保源文件已完整写入并关闭。

func ReplaceFileWithBackup

func ReplaceFileWithBackup(sourcePath, targetPath, _ string) error

ReplaceFileWithBackup 与 Windows 的 API 形状一致;非 Windows 的 rename 已原子替换目标, 不会产生旧文件备份。

func UserConfigFile

func UserConfigFile(appName, filename string) (string, error)

func UserConfigSubdir

func UserConfigSubdir(appName string) (string, error)

func WritePrivateFile

func WritePrivateFile(path string, body []byte, mode os.FileMode) error

func WritePrivateFileWithSyncParentForTest added in v0.4.0

func WritePrivateFileWithSyncParentForTest(path string, body []byte, mode os.FileMode, syncParent func(string) error) error

WritePrivateFileWithSyncParentForTest 使用真实 private writer,仅替换目录同步边界。 它用于稳定复现 replacement 已提交后的 durability failure;生产代码不得调用。

func WritePrivateFileWithUnresolvedReplacementForTest added in v0.4.0

func WritePrivateFileWithUnresolvedReplacementForTest(path string, body []byte, mode os.FileMode, cause error) error

WritePrivateFileWithUnresolvedReplacementForTest 使用真实 staging,并模拟旧目标已 移入 recovery backup、目标恢复未决的 replacement outcome。新旧 recovery artifacts 都必须保留,生产代码不得调用。

func WriteSecretFile added in v0.4.0

func WriteSecretFile(path string, body []byte, force bool) (resultErr error)

WriteSecretFile 把 secret 写到任意目标;已有 parent 的权限与 ownership 保持不变。 force=false 直接排他创建,因此写入期间目标可见,不承诺 atomic visibility。

Types

type ReplacementSourcePreservationError added in v0.4.0

type ReplacementSourcePreservationError interface {
	error
	PreserveReplacementSource()
}

ReplacementSourcePreservationError 标记一次替换错误后的 source 仍是恢复材料。 调用方必须保留 source,直至人工或后续恢复流程完成。

type SecretFileWriteError added in v0.4.0

type SecretFileWriteError struct {
	// contains filtered or unexported fields
}

SecretFileWriteError 隐藏任意目标路径及底层可能携带的路径,同时保留 errors.Is/As。

func (*SecretFileWriteError) CommitOutcome added in v0.4.0

func (e *SecretFileWriteError) CommitOutcome() WriteCommitOutcome

func (*SecretFileWriteError) Error added in v0.4.0

func (e *SecretFileWriteError) Error() string

func (*SecretFileWriteError) Unwrap added in v0.4.0

func (e *SecretFileWriteError) Unwrap() error

type WriteCommitOutcome added in v0.4.0

type WriteCommitOutcome string

WriteCommitOutcome 标识 private-file replacement 是否已经提交到目标路径。

const (
	WriteCommitOutcomeUnknown      WriteCommitOutcome = "unknown"
	WriteCommitOutcomeNotCommitted WriteCommitOutcome = "not_committed"
	WriteCommitOutcomeCommitted    WriteCommitOutcome = "committed"
)

func PrivateFileWriteCommitOutcome added in v0.4.0

func PrivateFileWriteCommitOutcome(err error) WriteCommitOutcome

PrivateFileWriteCommitOutcome 返回 private writer 错误的稳定 commit outcome。 非本 writer 产生的错误返回 unknown。

func SecretFileWriteCommitOutcome added in v0.4.0

func SecretFileWriteCommitOutcome(err error) WriteCommitOutcome

SecretFileWriteCommitOutcome 返回 export writer 对目标路径提交状态的判断。

Jump to

Keyboard shortcuts

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