UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

45 lines 2.02 kB
import { GraphClientListener } from "@atomist/automation-client/lib/graph/ApolloGraphClient"; import { HandlerContext } from "@atomist/automation-client/lib/HandlerContext"; import { MutationOptions } from "@atomist/automation-client/src/lib/spi/graph/GraphClient"; import { DeepPartial } from "ts-essentials"; import { SdmGoalEvent } from "../../api/goal/SdmGoalEvent"; import { SdmGoalMessage } from "../../api/goal/SdmGoalMessage"; import { GoalSigningAlgorithm, GoalSigningConfiguration } from "../../api/machine/SigningKeys"; export interface SignatureMixin { signature: string; } export declare const DefaultGoalSigningAlgorithm: GoalSigningAlgorithm<string>; /** * AutomationEventListener that verifies incoming SDM goals against a set of configurable * verification public keys. * * Optionally a private key can be specified to sign outgoing goals. Setting this is strongly * recommended to prevent executing untrusted and/or tampered SDM goals. */ export declare class GoalSigningAutomationEventListener implements GraphClientListener<{ goal: SdmGoalMessage; }> { private readonly gsc; constructor(gsc: GoalSigningConfiguration); onMutation(options: MutationOptions<{ goal: SdmGoalMessage; }>): Promise<MutationOptions<{ goal: SdmGoalMessage; }>>; private initVerificationKeys; } /** * Verify a goal signature against the public keys configured in provided Configuration. * If signature can't be verified, the goal will be marked as failed and an Error will be thrown. * @param goal goal to verify * @param gsc signing configuration * @param ctx */ export declare function verifyGoal(goal: SdmGoalEvent & DeepPartial<SignatureMixin>, gsc: GoalSigningConfiguration, ctx: HandlerContext): Promise<SdmGoalEvent>; /** * Add a signature to a goal * @param goal * @param gsc */ export declare function signGoal(goal: SdmGoalMessage, gsc: GoalSigningConfiguration): Promise<SdmGoalMessage & SignatureMixin>; //# sourceMappingURL=goalSigning.d.ts.map