Skip to main content

SigningSecretNames

Struct SigningSecretNames 

Source
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

Source

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.

Source

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.

Source

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.

Source

pub fn certificate_p12(&self) -> &SecretName

GitHub secret containing the encoded PKCS#12 certificate.

Source

pub fn certificate_password(&self) -> &SecretName

GitHub secret containing the PKCS#12 password.

Source

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.

Source

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.

Source

pub fn profile_names(&self) -> impl ExactSizeIterator<Item = &SecretName>

Deterministically ordered provisioning-profile secret names.

Source

pub fn all_names(&self) -> impl Iterator<Item = &SecretName>

Exact certificate, password, and provisioning-profile secret set.

Source

pub fn target_graph_sha256(&self) -> Option<&str>

Canonical full signing-target graph policy digest for modern workflows.

Legacy target-independent configurations return None.

Source

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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SigningSecretNames

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for SigningSecretNames

Source§

impl PartialEq for SigningSecretNames

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for SigningSecretNames

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.