新增了包括密钥加解密、配置健康检查、原子写入、审计、解析器以及 scrubber 在内的完整 secrets 模块,实现了明文密钥检测替换、密钥引用解析和配置安全校验能力
118 lines
2.9 KiB
Python
118 lines
2.9 KiB
Python
from yuxi.channel.secrets.atomic import (
|
|
AtomicWritePlan,
|
|
AtomicWriteResult,
|
|
atomic_write_config,
|
|
)
|
|
from yuxi.channel.secrets.crypto import (
|
|
CryptoError,
|
|
decrypt_secret,
|
|
encrypt_secret,
|
|
is_encrypted,
|
|
)
|
|
from yuxi.channel.secrets.audit import (
|
|
SecretsAuditResult,
|
|
run_secrets_audit,
|
|
run_secrets_audit_strict,
|
|
)
|
|
from yuxi.channel.secrets.health import (
|
|
ConfigHealth,
|
|
ConfigHealthStatus,
|
|
track_config_health,
|
|
)
|
|
from yuxi.channel.secrets.models import (
|
|
DEFAULT_SECRET_PROVIDER_ALIAS,
|
|
SINGLE_VALUE_FILE_REF_ID,
|
|
ExecSecretRefIdValidationReason,
|
|
ExecSecretRefIdValidationResult,
|
|
SecretIssue,
|
|
SecretRef,
|
|
SecretResolveResult,
|
|
SecretsAuditFinding,
|
|
SecretsAuditReport,
|
|
SecretSource,
|
|
assert_expected_resolved_secret_value,
|
|
format_exec_secret_ref_id_validation_message,
|
|
has_configured_plaintext_secret_value,
|
|
is_expected_resolved_secret_value,
|
|
is_non_empty_string,
|
|
is_record,
|
|
is_secret_field_name,
|
|
is_secret_ref,
|
|
is_valid_exec_secret_ref_id,
|
|
is_valid_provider_alias,
|
|
parse_secret_ref,
|
|
secret_ref_key,
|
|
validate_exec_secret_ref_id,
|
|
validate_ref_id,
|
|
)
|
|
from yuxi.channel.secrets.providers import (
|
|
EnvProvider,
|
|
ExecProvider,
|
|
FileProvider,
|
|
SecretsProvider,
|
|
)
|
|
from yuxi.channel.secrets.resolver import (
|
|
SecretProviderResolutionError,
|
|
SecretRefResolutionError,
|
|
SecretResolver,
|
|
create_exec_provider,
|
|
create_resolver_with_exec,
|
|
resolve_secrets,
|
|
)
|
|
from yuxi.channel.secrets.scrubber import (
|
|
scrub_env,
|
|
scrub_plaintext_secrets,
|
|
)
|
|
|
|
__all__ = [
|
|
"CryptoError",
|
|
"decrypt_secret",
|
|
"encrypt_secret",
|
|
"is_encrypted",
|
|
"DEFAULT_SECRET_PROVIDER_ALIAS",
|
|
"SINGLE_VALUE_FILE_REF_ID",
|
|
"ExecSecretRefIdValidationReason",
|
|
"ExecSecretRefIdValidationResult",
|
|
"SecretRef",
|
|
"SecretSource",
|
|
"SecretResolveResult",
|
|
"SecretIssue",
|
|
"SecretsAuditFinding",
|
|
"SecretsAuditReport",
|
|
"assert_expected_resolved_secret_value",
|
|
"format_exec_secret_ref_id_validation_message",
|
|
"has_configured_plaintext_secret_value",
|
|
"is_expected_resolved_secret_value",
|
|
"is_non_empty_string",
|
|
"is_record",
|
|
"is_secret_field_name",
|
|
"is_secret_ref",
|
|
"is_valid_exec_secret_ref_id",
|
|
"is_valid_provider_alias",
|
|
"parse_secret_ref",
|
|
"secret_ref_key",
|
|
"validate_exec_secret_ref_id",
|
|
"validate_ref_id",
|
|
"SecretsProvider",
|
|
"EnvProvider",
|
|
"FileProvider",
|
|
"ExecProvider",
|
|
"SecretResolver",
|
|
"SecretProviderResolutionError",
|
|
"SecretRefResolutionError",
|
|
"resolve_secrets",
|
|
"create_exec_provider",
|
|
"create_resolver_with_exec",
|
|
"AtomicWritePlan",
|
|
"AtomicWriteResult",
|
|
"atomic_write_config",
|
|
"ConfigHealth",
|
|
"ConfigHealthStatus",
|
|
"track_config_health",
|
|
"scrub_env",
|
|
"scrub_plaintext_secrets",
|
|
"run_secrets_audit",
|
|
"run_secrets_audit_strict",
|
|
"SecretsAuditResult",
|
|
]
|