pub struct SigningSecretNames { /* private fields */ }Expand description
Opaque GitHub secret references needed for manual development signing.
Legacy configurations retain one target-independent application profile. New configurations bind one deterministic static secret name to each application or extension target before the workflow is installed.
Implementations§
Source§impl SigningSecretNames
impl SigningSecretNames
Sourcepub fn new(
certificate_p12: SecretName,
certificate_password: SecretName,
provisioning_profile: SecretName,
) -> Result<Self, WorkflowConfigError>
pub fn new( certificate_p12: SecretName, certificate_password: SecretName, provisioning_profile: SecretName, ) -> Result<Self, WorkflowConfigError>
Bind distinct certificate, password, and provisioning-profile names.
§Errors
Returns WorkflowConfigError::DuplicateSecretName when one secret is
reused for multiple roles.
Sourcepub fn for_targets(
targets: &[SigningTarget],
) -> Result<Self, WorkflowConfigError>
pub fn for_targets( targets: &[SigningTarget], ) -> Result<Self, WorkflowConfigError>
Derive the exact static profile-secret map for one target graph.
The application retains the legacy Goal 3 profile name. Extension names contain the first 128 bits of SHA-256 over the target name, a NUL separator, and its bundle identifier. Frameworks and dynamic libraries do not receive provisioning profiles.
§Errors
Rejects target graphs without exactly one application, duplicate target
names or bundle identifiers, or more than MAX_SIGNING_PROFILES
application and extension targets.
§Panics
This cannot panic because the fixed certificate and password names
satisfy SecretName invariants.
Sourcepub fn goal3_defaults() -> Self
pub fn goal3_defaults() -> Self
Goal 3 development secret namespace from the project specification.
§Panics
This cannot panic because all three constant names satisfy the constructor invariants and are distinct.
Sourcepub fn certificate_p12(&self) -> &SecretName
pub fn certificate_p12(&self) -> &SecretName
GitHub secret containing the encoded PKCS#12 certificate.
Sourcepub fn certificate_password(&self) -> &SecretName
pub fn certificate_password(&self) -> &SecretName
GitHub secret containing the PKCS#12 password.
Sourcepub fn provisioning_profile(&self) -> &SecretName
pub fn provisioning_profile(&self) -> &SecretName
GitHub secret containing the encoded application provisioning profile.
§Panics
This cannot panic because every constructor retains at least one application profile name.
Sourcepub fn profile_for_target(&self, target: &str) -> Option<&SecretName>
pub fn profile_for_target(&self, target: &str) -> Option<&SecretName>
Static provisioning-profile secret bound to target.
A legacy one-profile configuration returns its sole profile for any target. The provider permits that fallback only for one-profile plans.
Sourcepub fn profile_names(&self) -> impl ExactSizeIterator<Item = &SecretName>
pub fn profile_names(&self) -> impl ExactSizeIterator<Item = &SecretName>
Deterministically ordered provisioning-profile secret names.
Sourcepub fn all_names(&self) -> impl Iterator<Item = &SecretName>
pub fn all_names(&self) -> impl Iterator<Item = &SecretName>
Exact certificate, password, and provisioning-profile secret set.
Sourcepub fn target_graph_sha256(&self) -> Option<&str>
pub fn target_graph_sha256(&self) -> Option<&str>
Canonical full signing-target graph policy digest for modern workflows.
Legacy target-independent configurations return None.
Sourcepub fn matches_target_graph(&self, targets: &[SigningTarget]) -> bool
pub fn matches_target_graph(&self, targets: &[SigningTarget]) -> bool
Whether targets exactly matches the graph bound during workflow setup.
Ordering is ignored. Target names, bundle identifiers, and kinds are compared for every application, extension, framework, and dynamic library. Legacy target-independent configurations never match a target graph.
Trait Implementations§
Source§impl Clone for SigningSecretNames
impl Clone for SigningSecretNames
Source§impl Debug for SigningSecretNames
impl Debug for SigningSecretNames
impl Eq for SigningSecretNames
Source§impl PartialEq for SigningSecretNames
impl PartialEq for SigningSecretNames
impl StructuralPartialEq for SigningSecretNames
Auto Trait Implementations§
impl Freeze for SigningSecretNames
impl RefUnwindSafe for SigningSecretNames
impl Send for SigningSecretNames
impl Sync for SigningSecretNames
impl Unpin for SigningSecretNames
impl UnsafeUnpin for SigningSecretNames
impl UnwindSafe for SigningSecretNames
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.