Help us shape the future of Go! Take the 2026 Go Developer Survey

workflows

package
v1.321.0 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2026 License: AGPL-3.0 Imports: 28 Imported by: 0

Documentation

Overview

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Package workflows provides implementations of workflows for Credentials Issuers. It includes the CredentialsIssuersWorkflow, which validates and imports credential issuer metadata. The workflow performs various steps including checking the issuer, parsing JSON responses, validating metadata, and storing credentials.

Package workflows provides implementations of workflows for the OpenID certification site. It includes the EudiwWorkflow for conformance checks. for draining logs from the OpenID certification site.

SPDX-FileCopyrightText: 2026 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Package workflows provides the OpenID4VCIIssuerWorkflow for running OID4VCI issuer conformance checks via the OpenID Foundation Certification Suite.

Package workflows provides implementations of workflows for the OpenID certification site. It includes the OpenID4VPWalletWorkflow for conformance checks and the OpenID4VPWalletLogsWorkflow for draining logs from the OpenID certification site.

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Package workflows provides implementations of workflows for Credentials Issuers. It includes the CredentialsIssuersWorkflow, which validates and imports credential issuer metadata. The workflow performs various steps including checking the issuer, parsing JSON responses, storing credentials, and cleaning up invalid credentials.

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Package workflows provides implementations of workflows for Credentials Issuers. It includes the WalletWorkflow, which validates and imports credential issuer metadata. The workflow performs various steps including checking the issuer, parsing JSON responses, storing credentials, and cleaning up invalid credentials.

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Index

Constants

View Source
const (
	OpenIDConformanceSuite    = "openid_conformance_suite"
	EWCSuite                  = "ewc"
	WebuildSuite              = "webuild"
	EudiwSuite                = "eudiw"
	VLEISuite                 = "vlei"
	OpenID4VPWalletStandard   = "openid4vp_wallet"
	OpenID4VCIWalletStandard  = "openid4vci_wallet"
	OpenID4VPVerifierStandard = "openid4vp_verifier"
	OpenID4VCIIssuerStandard  = "openid4vci_issuer"
	ConformanceCheckTaskQueue = "ConformanceCheckTaskQueue"
	PipelineCancelSignal      = "pipeline_cancel_signal"
)
View Source
const (
	CredentialsTaskQueue        = "CredentialsTaskQueue"
	CredentialsIssuerDataUpdate = "getCredentialsIssuerData"
	CredentialIssuerSchemaPath  = "schemas/credentialissuer/openid-credential-issuer.schema.json"
)

CredentialsTaskQueue is the task queue for the credentials workflow.

View Source
const (
	EudiwTaskQueue          = "EUDIWTaskQueue"
	EudiwTemplateFolderPath = "pkg/workflowengine/workflows/eudiw_config"
	EudiwStartCheckSignal   = "start-eudiw-check-signal"
	EudiwStopCheckSignal    = "stop-eudiw-check-signal"
	EudiwSubscription       = "eudiw-logs"
)

EudiwTaskQueue is the task queue for Eudiw workflows.

View Source
const (
	EWCTaskQueue          = "EWCTaskQueue"
	EWCTemplateFolderPath = "pkg/workflowengine/workflows/ewc_config"
	EwcStartCheckSignal   = "start-ewc-check-signal"
	EwcStopCheckSignal    = "stop-ewc-check-signal"
)

EWCTaskQueue is the task queue for EWC workflows.

View Source
const (
	FidesCredentialIssuersTaskQueue    = "FidesCredentialIssuersTaskQueue"
	FidesCredentialIssuersWorkflowName = "Import Fides Credential Issuers"
)
View Source
const (
	MobileDeviceSemaphoreTaskQueue            = mobiledevicesemaphore.TaskQueue
	MobileDeviceSemaphoreWorkflowName         = mobiledevicesemaphore.WorkflowName
	MobileDeviceSemaphoreStateQuery           = mobiledevicesemaphore.StateQuery
	MobileDeviceSemaphoreEnqueueRunUpdate     = mobiledevicesemaphore.EnqueueRunUpdate
	MobileDeviceSemaphoreRunStatusQuery       = mobiledevicesemaphore.RunStatusQuery
	MobileDeviceSemaphoreListQueuedRunsQuery  = mobiledevicesemaphore.ListQueuedRunsQuery
	MobileDeviceSemaphoreRunDoneUpdate        = mobiledevicesemaphore.RunDoneUpdate
	MobileDeviceSemaphoreCancelRunUpdate      = mobiledevicesemaphore.CancelRunUpdate
	MobileDeviceSemaphorePauseDeviceUpdate    = mobiledevicesemaphore.PauseDeviceUpdate
	MobileDeviceSemaphoreResumeDeviceUpdate   = mobiledevicesemaphore.ResumeDeviceUpdate
	MobileDeviceSemaphoreShutdownDeviceUpdate = mobiledevicesemaphore.ShutdownDeviceUpdate
	MobileDeviceSemaphoreRunGrantedSignalName = mobiledevicesemaphore.RunGrantedSignal
	MobileDeviceSemaphoreRunStartedSignalName = mobiledevicesemaphore.RunStartedSignal
	MobileDeviceSemaphoreRunDoneSignalName    = mobiledevicesemaphore.RunDoneSignal

	MobileDeviceSemaphoreErrInvalidRequest     = mobiledevicesemaphore.ErrInvalidRequest
	MobileDeviceSemaphoreErrQueueLimitExceeded = mobiledevicesemaphore.ErrQueueLimitExceeded
)
View Source
const (
	OpenID4VCIIssuerTaskQueue          = "OpenID4VCIIssuerTaskQueue"
	OpenID4VCIIssuerStepCITemplatePath = "pkg/workflowengine/workflows/openid4vci_issuer_config/stepci_issuer_template_v1_0.yaml"
	OpenID4VCIIssuerStartCheckSignal   = "start-openid4vci-issuer-log-update"
	OpenID4VCIIssuerStopCheckSignal    = "stop-openid4vci-issuer-log-update"
)
View Source
const (
	OpenID4VPVerifierTaskQueue          = "OpenID4VPVerifierTaskQueue"
	OpenID4VPVerifierStepCITemplatePath = "pkg/workflowengine/workflows/openid4vp_verifier_config/stepci_verifier_template_v1_0.yaml"
	OpenID4VPVerifierStartCheckSignal   = "start-openid4vp-verifier-log-update"
	OpenID4VPVerifierStopCheckSignal    = "stop-openid4vp-verifier-log-update"
)
View Source
const (
	OpenID4VPWalletTaskQueue              = "OpenID4VPWalletTaskQueue"
	OpenID4VPWalletStepCITemplatePathv1_0 = "pkg/workflowengine/workflows/openid4vp_wallet_config/stepci_wallet_template_v1_0.yaml"
	OpenID4VPWalletStepCITemplatePathDr24 = "pkg/workflowengine/workflows/openid4vp_wallet_config/stepci_wallet_template_draft_24.yaml"
	OpenID4VPWalletSubscription           = "openidnet-logs"
	OpenID4VPWalletStartCheckSignal       = "start-openidnet-check-log-update"
	OpenID4VPWalletStopCheckSignal        = "stop-openidnet-check-log-update"
)

OpenID4VPWalletTaskQueue is the task queue for OID4VP wallet workflows.

View Source
const (
	ListScoreboardNamespacesActivityName      = "List organization namespaces for the scoreboard"
	GetNamespaceScoreboardActivityName        = "Get the pipeline scoreboard of a namespace"
	GetScoreboardExecutionDetailsActivityName = "Get scoreboard execution details"
	SaveScoreboardResultsActivityName         = "Save aggregated scoreboard results"
)

Activity names of the scoreboard activities. The activities live in the handlers package because they reuse its Temporal listing code.

View Source
const (
	VLEIValidationTaskQueue      = "VLEIValidationTaskQueue"
	VLEIValidationLocalTaskQueue = "VLEIValidationLocalTaskQueue"
)
View Source
const (
	WalletTaskQueue   = "WalletTaskQueue"
	AppleStoreAPIURL  = "https://itunes.apple.com/lookup"
	AppMetadataUpdate = "getAppMetadata"
)

WalletTaskQueue is the task queue for the wallet workflow.

View Source
const AggregateScoreboardTaskQueue = "AggregateScoreboardTaskQueue"
View Source
const CustomCheckTaskQueue = "custom-check-task-queue"
View Source
const (
	EWCSubscription = "ewc-logs"
)
View Source
const MobileAutomationTaskQueue = "MobileAutomationTaskQueue"
View Source
const OpenID4VCIWalletStepCITemplatePath = "pkg/workflowengine/workflows/openid4vci_wallet_config/stepci_wallet_template_v1_0.yaml"
View Source
const PipelineRetentionDefaultBatchSize = 100
View Source
const PipelineRetentionTaskQueue = "PipelineRetentionTaskQueue"
View Source
const ScheduledPipelineEnqueueWorkflowName = "Scheduled Pipeline Enqueue Workflow"

ScheduledPipelineEnqueueWorkflowName identifies the scheduled enqueue workflow.

View Source
const WebuildTemplateFolderPath = "pkg/workflowengine/workflows/webuild_config"
View Source
const WorkerManagerTaskQueue = "worker-manager-task-queue"

Variables

View Source
var DefaultActivityOptions = workflow.ActivityOptions{
	ScheduleToCloseTimeout: time.Minute * 10,
	StartToCloseTimeout:    time.Minute * 5,
	RetryPolicy:            retryPolicy,
}

DefaultActivityOptions defines the configuration options for a workflow activity. It includes timeouts and retry policies to control the execution behavior of activities.

Fields: - ScheduleToCloseTimeout: The maximum time allowed from scheduling to the completion of the activity. - StartToCloseTimeout: The maximum time allowed from the start to the completion of the activity. - RetryPolicy: The policy that defines how retries should be handled in case of activity failures.

View Source
var DefaultNamespace = "default"

Functions

func BuildQRDeepLink(
	clientID, requestURI string,
) (string, error)

func ConformanceSuiteHasLogs

func ConformanceSuiteHasLogs(suite string) bool

ConformanceSuiteHasLogs reports whether a conformance suite exposes UI logs.

func MobileDeviceSemaphoreWorkflowID

func MobileDeviceSemaphoreWorkflowID(deviceID string) string

func ResolveEWCLikeCheckEndpoint

func ResolveEWCLikeCheckEndpoint(suite string, standard string) (string, error)

func ResolveEWCLikeLogsEndpoint

func ResolveEWCLikeLogsEndpoint(suite string, standard string) (string, error)

Types

type AggregateScoreboardWorkflow

type AggregateScoreboardWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewAggregateScoreboardWorkflow

func NewAggregateScoreboardWorkflow() *AggregateScoreboardWorkflow

func (*AggregateScoreboardWorkflow) ExecuteWorkflow

func (*AggregateScoreboardWorkflow) GetOptions

func (*AggregateScoreboardWorkflow) Name

func (*AggregateScoreboardWorkflow) Start

func (*AggregateScoreboardWorkflow) Workflow

type AggregateScoreboardWorkflowOutput

type AggregateScoreboardWorkflowOutput struct {
	AggregatedPipelines []AggregatedPipelineStats `json:"aggregated_pipelines"`
	NamespacesProcessed int                       `json:"namespaces_processed"`
	NamespacesFailed    int                       `json:"namespaces_failed"`
	FailedNamespaces    []string                  `json:"failed_namespaces,omitempty"`
}

type AggregatedPipelineStats

type AggregatedPipelineStats struct {
	PipelineID              string                  `json:"pipeline_id"`
	PipelineName            string                  `json:"pipeline_name"`
	DeviceTypes             []string                `json:"device_types"`
	DeviceIDs               []string                `json:"device_ids"`
	TotalRuns               int                     `json:"total_runs"`
	TotalSuccesses          int                     `json:"total_successes"`
	SuccessRate             float64                 `json:"success_rate"`
	ManualExecutions        int                     `json:"manual_executions"`
	ScheduledExecutions     int                     `json:"scheduled_executions"`
	CIExecutions            int                     `json:"ci_executions"`
	MinExecutionTime        string                  `json:"min_execution_time"`
	MinExecutionTimeSeconds int                     `json:"min_execution_time_seconds"`
	FirstExecutionDate      string                  `json:"first_execution_date"`
	LastExecutionDate       string                  `json:"last_execution_date"`
	LastExecution           *LatestExecutionDetails `json:"last_execution,omitempty"`
}

type CredentialsIssuersWorkflow

type CredentialsIssuersWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

CredentialsIssuersWorkflow is a workflow that validates and imports credential issuer metadata.

func NewCredentialsIssuersWorkflow

func NewCredentialsIssuersWorkflow() *CredentialsIssuersWorkflow

func (*CredentialsIssuersWorkflow) ExecuteWorkflow

Workflow is the main workflow function for the CredentialsIssuersWorkflow. It performs the following steps:

  1. Executes the CheckCredentialsIssuerActivity to validate the credentials issuer.
  2. Parses the raw JSON response from the issuer using the JSONActivity.
  3. Iterates through the credential configurations supported by the issuer and: - Stores each credential with the StoreIssuerCredential activity. - Logs the stored credentials.
  4. Returns a WorkflowResult containing a success message and logs.

Parameters: - ctx: The workflow context. - input: The input for the workflow, containing configuration and payload data.

Returns: - workflowengine.WorkflowResult: The result of the workflow execution, including logs. - error: An error if any step in the workflow fails.

func (*CredentialsIssuersWorkflow) GetOptions

GetOptions returns the activity options for the workflow.

func (*CredentialsIssuersWorkflow) Name

Name returns the name of the workflow.

func (*CredentialsIssuersWorkflow) Start

Start initializes and starts the CredentialsIssuersWorkflow execution. It loads environment variables, configures the Temporal client with the specified namespace, and sets up workflow options including a unique workflow ID and optional memo. The workflow is then executed with the provided input.

Parameters:

  • input: A WorkflowInput object containing configuration and input data for the workflow.

Returns:

  • result: A WorkflowResult object (empty in this implementation).
  • err: An error if the workflow fails to start or if there is an issue with the Temporal client.

Errors:

  • Returns an error if the Temporal client cannot be created or if the workflow execution fails.

func (*CredentialsIssuersWorkflow) Workflow

type CredentialsIssuersWorkflowPayload

type CredentialsIssuersWorkflowPayload struct {
	BaseURL  string `json:"base_url"  yaml:"base_url"  validate:"required"`
	IssuerID string `json:"issuer_id" yaml:"issuer_id" validate:"required"`
}

CredentialsIssuersWorkflowPayload is the payload for the CredentialsIssuersWorkflow.

type CustomCheckWorkflow

type CustomCheckWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

CustomCheckWorkflow is a workflow that performs a custom check.

func NewCustomCheckWorkflow

func NewCustomCheckWorkflow() *CustomCheckWorkflow

func (*CustomCheckWorkflow) ExecuteWorkflow

func (CustomCheckWorkflow) GetOptions

func (CustomCheckWorkflow) Name

func (CustomCheckWorkflow) Name() string

func (*CustomCheckWorkflow) Start

func (*CustomCheckWorkflow) Workflow

type CustomCheckWorkflowPayload

type CustomCheckWorkflowPayload struct {
	Yaml       string         `json:"yaml,omitempty"       xoneof:"custom_check"`
	CheckID    string         `json:"check_id,omitempty"   xoneof:"custom_check"`
	Parameters map[string]any `json:"parameters,omitempty"                       yaml:"parameters,omitempty"`
}

type EWCResponseBody

type EWCResponseBody struct {
	Status    string         `json:"status"`
	Error     string         `json:"error,omitempty"`
	Result    map[string]any `json:"result,omitempty"`
	UpdatedAt time.Time      `json:"updatedAt,omitempty"`
	Reason    string         `json:"reason,omitempty"`
	SessionID string         `json:"sessionId"`
	Claims    map[string]any `json:"claims,omitempty"`
}

type EWCStatusWorkflow

type EWCStatusWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

EWCStatusWorkflow is a workflow that checks the status of an EWC check.

func NewEWCStatusWorkflow

func NewEWCStatusWorkflow() *EWCStatusWorkflow

func (*EWCStatusWorkflow) ExecuteWorkflow

Workflow continuously polls EWC Status and pushes updates to the backend. It can be paused/resumed by Temporal signals.

func (EWCStatusWorkflow) GetOptions

GetOptions returns the default activity options for this workflow.

func (EWCStatusWorkflow) Name

func (EWCStatusWorkflow) Name() string

Name returns the human-readable name for this workflow.

func (*EWCStatusWorkflow) Workflow

type EWCStatusWorkflowPayload

type EWCStatusWorkflowPayload struct {
	SessionID string `json:"session_id"`
}

EWCStatusWorkflowPayload is the payload for the EWCStatusWorkflow.

type EWCWorkflow

type EWCWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

EWCWorkflow is a workflow that performs conformance checks on the EWC suite.

func NewEWCWorkflow

func NewEWCWorkflow() *EWCWorkflow

func (*EWCWorkflow) ExecuteWorkflow

ExecuteWorkflow is the main workflow function for the EWCWorkflow. It orchestrates the execution of various activities to perform conformance checks and send notifications to the user.

Parameters:

  • ctx: The workflow context used to manage workflow execution.
  • input: The input data for the workflow, including payload and configuration.

Returns:

  • workflowengine.WorkflowResult: The result of the workflow execution, including a message and log data.
  • error: An error if the workflow fails at any step.

Workflow Steps:

  1. Execute the StepCIWorkflowActivity to perform initial checks and gets the QR code deep link.
  2. Generate a URL with query parameters for the user to continue the process.
  3. Configure and execute the SendMailActivity to notify the user via email.
  4. Wait for a signal ("ewc-check-started") to start polling the API to getthe current status of the check.
  5. Wait for either a signal ("ewc-check-stopped") to pause the workflow or the check result from the API
  6. Process the response to determine the success or failure of the workflow.

Notes:

  • The workflow uses a selector to wait for either a signal or the next API call.
  • If the signal data indicates failure, the workflow terminates with a failure message.

func (EWCWorkflow) GetOptions

func (EWCWorkflow) GetOptions() workflow.ActivityOptions

GetOptions Configure sets up the workflow with the necessary options.

func (EWCWorkflow) Name

func (EWCWorkflow) Name() string

Name returns the name of the EWCWorkflow.

func (*EWCWorkflow) Start

Start initializes and starts the EWCWorkflow execution. It loads environment variables, configures the Temporal client with the specified namespace, and sets up workflow options including a unique workflow ID and optional memo. The workflow is then executed with the provided input.

Parameters:

  • input: A WorkflowInput object containing configuration and input data for the workflow.

Returns:

  • result: A WorkflowResult object (currently empty in this implementation).
  • err: An error if the workflow fails to start or if there is an issue with the Temporal client.

Notes:

  • The namespace defaults to "default" if not provided in the input configuration.
  • The workflow ID is generated using a UUID to ensure uniqueness.
  • The Temporal client is closed after the workflow execution is initiated.

func (*EWCWorkflow) Workflow

type EWCWorkflowPayload

type EWCWorkflowPayload struct {
	Parameters map[string]any `json:"parameters,omitempty" yaml:"parameters,omitempty"`
	UserMail   string         `json:"user_mail"            yaml:"user_mail"            validate:"required"`
}

type EudiwResponseBody

type EudiwResponseBody struct {
	Status    string   `json:"status"`
	Reason    string   `json:"reason"`
	SessionID string   `json:"sessionId"`
	Claims    []string `json:"claims,omitempty"`
}

type EudiwWorkflow

type EudiwWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

EudiwWorkflow is a workflow that performs conformance checks on the EUDIW suite.

func NewEudiwWorkflow

func NewEudiwWorkflow() *EudiwWorkflow

func (*EudiwWorkflow) ExecuteWorkflow

ExecuteWorkflow is the main workflow function for the EudiwWorkflow. It orchestrates the execution of various activities to perform conformance checks and send notifications to the user.

Parameters:

  • ctx: The workflow context used to manage workflow execution.
  • input: The input data for the workflow, including payload and configuration.

Returns:

  • workflowengine.WorkflowResult: The result of the workflow execution, including a message and log data.
  • error: An error if the workflow fails at any step.

Workflow Steps:

  1. Execute the StepCIWorkflowActivity to perform initial checks and gets the QR code deep link.
  2. Generate a URL with query parameters for the user to continue the process.
  3. Configure and execute the SendMailActivity to notify the user via email.
  4. Wait for a signal to start polling the API to get the current status of the check.
  5. Wait for either a signal to pause the workflow or the check result from the API
  6. Process the response to determine the success or failure of the workflow.

Notes:

  • The workflow uses a selector to wait for either a signal or the next API call.
  • If the signal data indicates failure, the workflow terminates with a failure message.

func (EudiwWorkflow) GetOptions

func (EudiwWorkflow) GetOptions() workflow.ActivityOptions

GetOptions Configure sets up the workflow with the necessary options.

func (EudiwWorkflow) Name

func (EudiwWorkflow) Name() string

Name returns the name of the EudiwWorkflow.

func (*EudiwWorkflow) Start

Start initializes and starts the EudiwWorkflow execution. It loads environment variables, configures the Temporal client with the specified namespace, and sets up workflow options including a unique workflow ID and optional memo. The workflow is then executed with the provided input.

Parameters:

  • input: A WorkflowInput object containing configuration and input data for the workflow.

Returns:

  • result: A WorkflowResult object (currently empty in this implementation).
  • err: An error if the workflow fails to start or if there is an issue with the Temporal client.

Notes:

  • The namespace defaults to "default" if not provided in the input configuration.
  • The workflow ID is generated using a UUID to ensure uniqueness.
  • The Temporal client is closed after the workflow execution is initiated.

func (*EudiwWorkflow) Workflow

type EudiwWorkflowPayload

type EudiwWorkflowPayload struct {
	ID       string `json:"id"        yaml:"id"        validate:"required"`
	Nonce    string `json:"nonce"     yaml:"nonce"     validate:"required"`
	UserMail string `json:"user_mail" yaml:"user_mail" validate:"required"`
}

type FidesCredentialIssuersWorkflow

type FidesCredentialIssuersWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewFidesCredentialIssuersWorkflow

func NewFidesCredentialIssuersWorkflow() *FidesCredentialIssuersWorkflow

func (*FidesCredentialIssuersWorkflow) ExecuteWorkflow

func (*FidesCredentialIssuersWorkflow) GetOptions

func (*FidesCredentialIssuersWorkflow) Name

func (*FidesCredentialIssuersWorkflow) Start

func (*FidesCredentialIssuersWorkflow) Workflow

type Form

type Form struct {
	Alias       string `json:"alias"       yaml:"alias"       validate:"required"`
	Description string `json:"description" yaml:"description"`
	Client      struct {
		PresentationDefinition string `json:"presentation_definition,omitempty" yaml:"presentation_definition,omitempty"`
		JWKS                   struct {
			Keys []map[string]any `json:"keys" yaml:"keys"`
		} `json:"jwks" yaml:"jwks"`
		DCQL struct {
			Credentials []map[string]any `json:"credentials" yaml:"credentials"`
		} `json:"dcql,omitempty" yaml:"dcql,omitempty"`
		ClientID                          string `json:"client_id,omitempty" yaml:"client_id,omitempty"`
		AuthorizationEncryptedResponseEnc string `json:"authorization_encrypted_response_enc,omitempty" yaml:"authorization_encrypted_response_enc,omitempty"` //nolint:lll
		AuthorizationEncryptedResponseAlg string `json:"authorization_encrypted_response_alg,omitempty" yaml:"authorization_encrypted_response_alg,omitempty"` //nolint:lll
	} `json:"client"      yaml:"client"      validate:"required"`
	Server struct {
		AuthorizationEndpoint string `json:"authorization_endpoint" yaml:"authorization_endpoint"`
	} `json:"server"      yaml:"server"`
}

type GetCredentialOfferWorkflow

type GetCredentialOfferWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

GetCredentialOfferWorkflow is a workflow that gets a credential offer from a stored credential.

func NewGetCredentialOfferWorkflow

func NewGetCredentialOfferWorkflow() *GetCredentialOfferWorkflow

func (*GetCredentialOfferWorkflow) ExecuteWorkflow

func (*GetCredentialOfferWorkflow) GetOptions

GetOptions returns the activity options for the workflow.

func (*GetCredentialOfferWorkflow) Name

func (*GetCredentialOfferWorkflow) Workflow

ExecuteWorkflow retrieves a credential offer for a stored credential. Static offers are returned directly; dynamic offers execute the stored StepCI workflow and return its deeplink.

Parameters: - ctx: The workflow context. - input: The input for the workflow, containing configuration and payload data.

Returns: - workflowengine.WorkflowResult: The result of the workflow execution, including logs. - error: An error if any step in the workflow fails.

type GetCredentialOfferWorkflowPayload

type GetCredentialOfferWorkflowPayload struct {
	CredentialID string `json:"credential_id" yaml:"credential_id" validate:"required"`
}

type GetUseCaseVerificationDeeplinkWorkflow

type GetUseCaseVerificationDeeplinkWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

GetUseCaseVerificationDeeplinkWorkflow is a workflow that get the deeplink for a use case verification.

func NewGetUseCaseVerificationDeeplinkWorkflow

func NewGetUseCaseVerificationDeeplinkWorkflow() *GetUseCaseVerificationDeeplinkWorkflow

func (*GetUseCaseVerificationDeeplinkWorkflow) ExecuteWorkflow

func (*GetUseCaseVerificationDeeplinkWorkflow) GetOptions

GetOptions returns the activity options for the workflow.

func (*GetUseCaseVerificationDeeplinkWorkflow) Name

Name returns the name of the workflow.

func (*GetUseCaseVerificationDeeplinkWorkflow) Workflow

type GetUseCaseVerificationDeeplinkWorkflowPayload

type GetUseCaseVerificationDeeplinkWorkflowPayload struct {
	UseCaseIdentifier string `json:"use_case_id" yaml:"use_case_id" validate:"required"`
}

GetUseCaseVerificationDeeplinkWorkflowPayload is the payload for the GetUseCaseVerificationDeeplinkWorkflow.

type GitHubPRCommentWorkflow

type GitHubPRCommentWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewGitHubPRCommentWorkflow

func NewGitHubPRCommentWorkflow() *GitHubPRCommentWorkflow

func (*GitHubPRCommentWorkflow) ExecuteWorkflow

func (GitHubPRCommentWorkflow) GetOptions

func (GitHubPRCommentWorkflow) Name

func (*GitHubPRCommentWorkflow) Workflow

type LatestExecutionDetails

type LatestExecutionDetails struct {
	WorkflowID           string   `json:"workflow_id,omitempty"`
	RunID                string   `json:"run_id,omitempty"`
	WalletUsed           []string `json:"wallet_used,omitempty"`
	WalletVersionUsed    []string `json:"wallet_version_used,omitempty"`
	MaestroScripts       []string `json:"maestro_scripts,omitempty"`
	Credentials          []string `json:"credentials,omitempty"`
	Issuers              []string `json:"issuers,omitempty"`
	UseCaseVerifications []string `json:"use_case_verifications,omitempty"`
	Verifiers            []string `json:"verifiers,omitempty"`
	ConformanceTests     []string `json:"conformance_tests,omitempty"`
	CustomChecks         []string `json:"custom_checks,omitempty"`
}

type MobileAutomationAction

type MobileAutomationAction struct {
	ID         string            `json:"id,omitempty"         yaml:"id,omitempty"`
	Code       string            `json:"code,omitempty"       yaml:"code,omitempty"`
	Parameters map[string]string `json:"parameters,omitempty" yaml:"parameters,omitempty"`
}

MobileAutomationAction is one wallet action of a step that runs several in one Maestro flow: a stored action (`id`) or inline Maestro code (`code`).

type MobileAutomationWorkflow

type MobileAutomationWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

MobileAutomationWorkflow is a workflow that runs a mobile automation flow.

func NewMobileAutomationWorkflow

func NewMobileAutomationWorkflow() *MobileAutomationWorkflow

func (*MobileAutomationWorkflow) ExecuteWorkflow

ExecuteWorkflow returns an error when the mobile automation module is disabled.

func (MobileAutomationWorkflow) GetOptions

func (MobileAutomationWorkflow) Name

func (*MobileAutomationWorkflow) Workflow

type MobileAutomationWorkflowPayload

type MobileAutomationWorkflowPayload struct {
	ActionID         string            `json:"action_id,omitempty"          yaml:"action_id,omitempty"`
	VersionID        string            `json:"version_id,omitempty"         yaml:"version_id,omitempty"`
	ActionCode       string            `json:"action_code,omitempty"        yaml:"action_code,omitempty"`
	StoredActionCode bool              `json:"stored_action_code,omitempty" yaml:"stored_action_code,omitempty"`
	Serial           string            `json:"serial,omitempty"             yaml:"serial,omitempty"`
	Type             string            `json:"type,omitempty"               yaml:"type,omitempty"`
	DeviceID         string            `json:"device_id,omitempty"          yaml:"device_id,omitempty"`
	Parameters       map[string]string `json:"parameters,omitempty"         yaml:"parameters,omitempty"`
}

MobileAutomationWorkflowPayload is the payload for the mobile automation workflow.

type MobileAutomationWorkflowPipelinePayload

type MobileAutomationWorkflowPipelinePayload struct {
	ActionID   string                   `json:"action_id,omitempty"   yaml:"action_id,omitempty"`
	VersionID  string                   `json:"version_id,omitempty"  yaml:"version_id,omitempty"`
	ActionCode string                   `json:"action_code,omitempty" yaml:"action_code,omitempty"`
	Parameters map[string]string        `json:"parameters,omitempty"  yaml:"parameters,omitempty"`
	DeviceID   string                   `json:"device_id,omitempty"   yaml:"device_id,omitempty"`
	Actions    []MobileAutomationAction `json:"actions,omitempty"     yaml:"actions,omitempty"`
}

type MobileDeviceSemaphoreWorkflow

type MobileDeviceSemaphoreWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewMobileDeviceSemaphoreWorkflow

func NewMobileDeviceSemaphoreWorkflow() *MobileDeviceSemaphoreWorkflow

func (*MobileDeviceSemaphoreWorkflow) ExecuteWorkflow

func (MobileDeviceSemaphoreWorkflow) GetOptions

func (MobileDeviceSemaphoreWorkflow) Name

func (*MobileDeviceSemaphoreWorkflow) Workflow

type MobileWorkflowOutput

type MobileWorkflowOutput struct {
	TestRunURL     string `json:"test_run_url"`
	ResultVideoURL string `json:"result_video_url,omitempty"`
	FlowOutput     any    `json:"flow_output,omitempty"`
}

type OpenID4VCIIssuerWorkflow

type OpenID4VCIIssuerWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

OpenID4VCIIssuerWorkflow runs a fully automated OID4VCI issuer conformance check against the OpenID Foundation Certification Suite. Unlike the wallet workflow it requires no user interaction: StepCI handles plan creation, runner start, and log polling end-to-end. The user supplies StepCI parameters, including the credential-offer deeplink.

func NewOpenID4VCIIssuerWorkflow

func NewOpenID4VCIIssuerWorkflow() *OpenID4VCIIssuerWorkflow

func (*OpenID4VCIIssuerWorkflow) ExecuteWorkflow

ExecuteWorkflow is the main workflow function. It:

  1. Decodes the payload (parameters + test name).
  2. Runs StepCIWorkflowActivity using the issuer StepCI Go template to resolve the credential issuer, create the test plan, and start the runner.
  3. Polls the OpenID certification logs directly from Temporal until the runner reaches a terminal state.
  4. Returns a WorkflowResult with the full final logs.

The OPENIDNET_TOKEN environment variable must be set with a valid bearer token for the OpenID Foundation Certification Suite API.

func (OpenID4VCIIssuerWorkflow) GetOptions

GetOptions returns activity options with extended timeouts for the StepCI polling run.

func (OpenID4VCIIssuerWorkflow) Name

Name returns the human-readable name of the workflow.

func (*OpenID4VCIIssuerWorkflow) Start

Start enqueues the workflow on the OpenID4VCIIssuerTaskQueue.

func (*OpenID4VCIIssuerWorkflow) Workflow

type OpenID4VCIIssuerWorkflowPayload

type OpenID4VCIIssuerWorkflowPayload = OpenIDConformanceWorkflowPayload

OpenID4VCIIssuerWorkflowPayload is the input payload for OpenID4VCIIssuerWorkflow.

type OpenID4VPVerifierWorkflow

type OpenID4VPVerifierWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

OpenID4VPVerifierWorkflow runs a fully automated OID4VP verifier conformance check against the OpenID Foundation Certification Suite.

func NewOpenID4VPVerifierWorkflow

func NewOpenID4VPVerifierWorkflow() *OpenID4VPVerifierWorkflow

func (*OpenID4VPVerifierWorkflow) ExecuteWorkflow

func (OpenID4VPVerifierWorkflow) GetOptions

func (OpenID4VPVerifierWorkflow) Name

func (*OpenID4VPVerifierWorkflow) Start

func (*OpenID4VPVerifierWorkflow) Workflow

type OpenID4VPVerifierWorkflowPayload

type OpenID4VPVerifierWorkflowPayload = OpenIDConformanceWorkflowPayload

OpenID4VPVerifierWorkflowPayload is the input payload for OpenID4VPVerifierWorkflow.

type OpenID4VPWalletLogsWorkflow

type OpenID4VPWalletLogsWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

OpenID4VPWalletLogsWorkflow is a workflow that drains logs from the OpenID certification site.

func NewOpenID4VPWalletLogsWorkflow

func NewOpenID4VPWalletLogsWorkflow() *OpenID4VPWalletLogsWorkflow

func (*OpenID4VPWalletLogsWorkflow) Configure

Configure sets up the OpenID4VPWalletLogsWorkflow with specific child workflow options. It configures the child workflow to have a unique WorkflowID by appending "-log" to the parent workflow's ID and sets the ParentClosePolicy to terminate the child workflow when the parent workflow is closed.

Parameters:

  • ctx: The workflow.Context for the current workflow execution.

Returns:

  • A new workflow.Context configured with the specified child workflow options.

func (*OpenID4VPWalletLogsWorkflow) ExecuteWorkflow

ExecuteWorkflow is the main workflow function for the OpenID4VPWalletLogsWorkflow. It periodically fetches logs from a specified URL and processes them based on the provided input configuration. The workflow listens for signals to trigger additional activities and terminates when a specific condition in the logs is met.

Parameters:

  • ctx: The workflow context used to manage workflow execution.
  • input: The input configuration and payload for the workflow.

Returns:

  • workflowengine.WorkflowResult: Contains the collected logs upon successful completion of the workflow.
  • error: An error if the workflow fails during execution.

Behavior:

  • Fetches logs from a remote API using the provided input configuration.
  • Listens for a signal ("wallet-test-start-log-update") to trigger additional activities.
  • Uses a timer to periodically fetch logs at intervals specified in the input configuration.
  • Terminates when the logs reach a terminal result.
  • Sends logs to a specified endpoint when triggered by a signal.

func (OpenID4VPWalletLogsWorkflow) GetOptions

GetOptions returns the activity options for the OpenID4VPWalletLogsWorkflow.

func (OpenID4VPWalletLogsWorkflow) Name

Name returns the name of the OpenID4VPWalletLogsWorkflow.

func (*OpenID4VPWalletLogsWorkflow) Workflow

type OpenID4VPWalletLogsWorkflowPayload

type OpenID4VPWalletLogsWorkflowPayload struct {
	Rid string `json:"rid" yaml:"rid" validate:"required"`
	// Token is only read by runs recorded before the logs activity fetched the
	// token on the worker; new runs leave it empty.
	Token string `json:"token" yaml:"token"`
}

type OpenID4VPWalletWorkflow

type OpenID4VPWalletWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

OpenID4VPWalletWorkflow is a workflow that start a conformance checks on the OpenID certification site.

func NewOpenID4VPWalletWorkflow

func NewOpenID4VPWalletWorkflow() *OpenID4VPWalletWorkflow

func (*OpenID4VPWalletWorkflow) ExecuteWorkflow

ExecuteWorkflow is the main workflow function for the OpenID4VPWalletWorkflow. It orchestrates the execution of various activities and child workflows to perform conformance checks and send notifications to the user.

Parameters:

  • ctx: The workflow context used to manage workflow execution.
  • input: The input data for the workflow, including payload and configuration.

Returns:

  • workflowengine.WorkflowResult: The result of the workflow execution, including a message and log data.
  • error: An error if the workflow fails at any step.

Workflow Steps:

  1. Configure and execute the StepCIWorkflowActivity to perform initial checks.
  2. Generate a URL with query parameters for the user to continue the process.
  3. Configure and execute the SendMailActivity to notify the user via email.
  4. Execute a child workflow (OpenID4VPWalletLogsWorkflow) asynchronously to monitor logs.
  5. Wait for either a log-start signal or the completion of the child workflow.
  6. Process the signal data to determine the success or failure of the workflow.

Notes:

  • The workflow uses a selector to wait for either a signal or the child workflow's completion.
  • If the signal data indicates failure, the workflow terminates with a failure message.
  • The workflow relies on environment variables (e.g., OPENIDNET_TOKEN) for configuration.

func (OpenID4VPWalletWorkflow) GetOptions

GetOptions Configure sets up the workflow with the necessary options.

func (OpenID4VPWalletWorkflow) Name

Name returns the name of the OpenID4VPWalletWorkflow.

func (*OpenID4VPWalletWorkflow) Start

Start initializes and starts the OpenID4VPWalletWorkflow execution. It loads environment variables, configures the Temporal client with the specified namespace, and sets up workflow options including a unique workflow ID and optional memo. The workflow is then executed with the provided input.

Parameters:

  • input: A WorkflowInput object containing configuration and input data for the workflow.

Returns:

  • result: A WorkflowResult object (currently empty in this implementation).
  • err: An error if the workflow fails to start or if there is an issue with the Temporal client.

Notes:

  • The namespace defaults to "default" if not provided in the input configuration.
  • The workflow ID is generated using a UUID to ensure uniqueness.
  • The Temporal client is closed after the workflow execution is initiated.

func (*OpenID4VPWalletWorkflow) Workflow

type OpenID4VPWalletWorkflowPayload

type OpenID4VPWalletWorkflowPayload struct {
	Variant  string `json:"variant"   yaml:"variant"   validate:"required"`
	Form     Form   `json:"form"      yaml:"form"      validate:"required"`
	UserMail string `json:"user_mail" yaml:"user_mail" validate:"required"`
	TestName string `json:"test"      yaml:"test"      validate:"required"`
}

OpenID4VPWalletWorkflowPayload represents the payload for the OpenID4VPWalletWorkflow.

type OpenIDConformanceWorkflowPayload

type OpenIDConformanceWorkflowPayload struct {
	Parameters map[string]any `json:"parameters,omitempty" yaml:"parameters,omitempty"`
	UserMail   string         `json:"user_mail"            yaml:"user_mail"            validate:"required"`
	TestName   string         `json:"test"                 yaml:"test"                 validate:"required"`
}

OpenIDConformanceWorkflowPayload is the input payload for automated OpenID certification suite workflows.

type PipelineRetentionWorkflow

type PipelineRetentionWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewPipelineRetentionWorkflow

func NewPipelineRetentionWorkflow() *PipelineRetentionWorkflow

func (*PipelineRetentionWorkflow) ExecuteWorkflow

func (*PipelineRetentionWorkflow) GetOptions

func (*PipelineRetentionWorkflow) Name

func (*PipelineRetentionWorkflow) Start

func (*PipelineRetentionWorkflow) Workflow

type PipelineRetentionWorkflowInput

type PipelineRetentionWorkflowInput struct {
	OlderThanDays int  `json:"older_than_days"`
	DryRun        bool `json:"dry_run"`
	BatchSize     int  `json:"batch_size,omitempty"`
}

type ScheduledPipelineEnqueueWorkflow

type ScheduledPipelineEnqueueWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

ScheduledPipelineEnqueueWorkflow enqueues scheduled pipeline runs into the runner queue.

func NewScheduledPipelineEnqueueWorkflow

func NewScheduledPipelineEnqueueWorkflow() *ScheduledPipelineEnqueueWorkflow

NewScheduledPipelineEnqueueWorkflow constructs a scheduled enqueue workflow.

func (*ScheduledPipelineEnqueueWorkflow) ExecuteWorkflow

ExecuteWorkflow validates schedule input, fetches YAML, and enqueues a run ticket.

func (ScheduledPipelineEnqueueWorkflow) GetOptions

GetOptions returns the default activity options for the scheduled enqueue workflow.

func (ScheduledPipelineEnqueueWorkflow) Name

Name returns the workflow name for scheduled enqueues.

func (*ScheduledPipelineEnqueueWorkflow) Workflow

Workflow delegates execution to the configured workflow function.

type ScheduledPipelineEnqueueWorkflowInput

type ScheduledPipelineEnqueueWorkflowInput struct {
	PipelineIdentifier  string         `json:"pipeline_identifier"`
	OwnerNamespace      string         `json:"owner_namespace"`
	PipelineConfig      map[string]any `json:"pipeline_config,omitempty"`
	GlobalDeviceID      string         `json:"global_device_id,omitempty"`
	MaxPipelinesInQueue int            `json:"max_pipelines_in_queue,omitempty"`
}

ScheduledPipelineEnqueueWorkflowInput defines the schedule enqueue payload.

type ScoreboardExecutionInput

type ScoreboardExecutionInput struct {
	Namespace  string `json:"namespace"   validate:"required"`
	WorkflowID string `json:"workflow_id" validate:"required"`
	RunID      string `json:"run_id"      validate:"required"`
}

ScoreboardExecutionInput is the payload of GetScoreboardExecutionDetailsActivityName.

type ScoreboardNamespaceInput

type ScoreboardNamespaceInput struct {
	Namespace string `json:"namespace" validate:"required"`
}

ScoreboardNamespaceInput is the payload of GetNamespaceScoreboardActivityName.

type SignalData

type SignalData struct {
	Success bool
	Reason  string
}

SignalData represents the data structure for signals used in the workflow.

type StartCheckWorkflow

type StartCheckWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewStartCheckWorkflow

func NewStartCheckWorkflow() *StartCheckWorkflow

func (*StartCheckWorkflow) ExecuteWorkflow

executeWorkflow starts the conformance check workflow.

It takes the workflow input and starts the conformance check workflow. The workflow input should contain the suite, standard, check_id, test and parameters. The function first decodes the workflow input and checks if the required fields are present. If not, it returns an error. Then it runs the StepCIAndEmail function with the decoded input and returns the result. If the StepCIAndEmail function returns an error, it logs the error and returns the error. If the StepCIAndEmail function returns a successful result, it runs the child workflow depending on the suite and standard. If the child workflow returns an error, it logs the error and returns the error. If the child workflow returns a successful result, it returns the successful result.

func (StartCheckWorkflow) GetOptions

func (StartCheckWorkflow) Name

func (StartCheckWorkflow) Name() string

func (*StartCheckWorkflow) Start

func (*StartCheckWorkflow) Workflow

Workflow starts the conformance check workflow.

type StartCheckWorkflowPayload

type StartCheckWorkflowPayload struct {
	Suite      string         `json:"suite"                yaml:"suite"`
	Standard   string         `json:"standard,omitempty"   yaml:"standard,omitempty"`
	CheckID    string         `json:"check_id"             yaml:"check_id"             validate:"required"`
	TestName   string         `json:"test,omitempty"       yaml:"test,omitempty"`
	Parameters map[string]any `json:"parameters,omitempty" yaml:"parameters,omitempty"`
	UserMail   string         `json:"user_mail"            yaml:"user_mail"`
	SendMail   bool           `json:"send_mail"            yaml:"send_mail"`
}

type StartCheckWorkflowPipelinePayload

type StartCheckWorkflowPipelinePayload struct {
	CheckID    string         `json:"check_id"             yaml:"check_id"             validate:"required"`
	TestName   string         `json:"test,omitempty"       yaml:"test,omitempty"`
	Parameters map[string]any `json:"parameters,omitempty" yaml:"parameters,omitempty"`
}

type StepCIAndEmailConfig

type StepCIAndEmailConfig struct {
	AppURL        string
	AppName       string
	UserName      string
	UserMail      string
	Namespace     string
	Template      string
	StepCIPayload activities.StepCIWorkflowActivityPayload
	Secrets       map[string]any
	RunMetadata   *workflowengine.WorkflowRunMetadata
	Suite         string
	SendMail      bool
}

type StepCIAndEmailResult

type StepCIAndEmailResult struct {
	Captures map[string]any
}

func RunStepCIAndSendMail

func RunStepCIAndSendMail(
	ctx workflow.Context,
	cfg StepCIAndEmailConfig,
) (StepCIAndEmailResult, error)

type VLEIValidationLocalWorkflow

type VLEIValidationLocalWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

VLEIValidationLocalWorkflow is a workflow that validates a vLEI credential from a local file.

func NewVLEIValidationLocalWorkflow

func NewVLEIValidationLocalWorkflow() *VLEIValidationLocalWorkflow

func (*VLEIValidationLocalWorkflow) ExecuteWorkflow

func (*VLEIValidationLocalWorkflow) GetOptions

func (*VLEIValidationLocalWorkflow) Name

func (*VLEIValidationLocalWorkflow) Start

func (*VLEIValidationLocalWorkflow) Workflow

type VLEIValidationLocalWorkflowPayload

type VLEIValidationLocalWorkflowPayload struct {
	CESR string `json:"cesr" yaml:"cesr" validate:"required"`
}

VLEIValidationLocalWorkflowPayload is the payload for the vLEI validation workflow.

type VLEIValidationWorkflow

type VLEIValidationWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

VLEIValidationWorkflow is a workflow that validates a vLEI credential from a server request.

func NewVLEIValidationWorkflow

func NewVLEIValidationWorkflow() *VLEIValidationWorkflow

func (*VLEIValidationWorkflow) ExecuteWorkflow

func (*VLEIValidationWorkflow) GetOptions

func (*VLEIValidationWorkflow) Name

func (w *VLEIValidationWorkflow) Name() string

func (*VLEIValidationWorkflow) Start

func (*VLEIValidationWorkflow) Workflow

type VLEIValidationWorkflowPayload

type VLEIValidationWorkflowPayload struct {
	CredentialID string `json:"credential_id" yaml:"credential_id" validate:"required"`
}

VLEIValidationWorkflowPayload is the payload for the vLEI validation workflow.

type WalletWorkflow

type WalletWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

Wallet is a workflow that imports wallet metadata from app stores urls.

func NewWalletWorkflow

func NewWalletWorkflow() *WalletWorkflow

func (*WalletWorkflow) ExecuteWorkflow

func (*WalletWorkflow) GetOptions

func (w *WalletWorkflow) GetOptions() workflow.ActivityOptions

GetOptions returns the activity options for the workflow.

func (*WalletWorkflow) Name

func (w *WalletWorkflow) Name() string

Name returns the name of the workflow.

func (*WalletWorkflow) Start

func (w *WalletWorkflow) Start(
	namespace string,
	input workflowengine.WorkflowInput,
) (result workflowengine.WorkflowResult, err error)

Start initializes and starts the WalletWorkflow execution. It loads environment variables, configures the Temporal client with the specified namespace, and sets up workflow options including a unique workflow ID and optional memo. The workflow is then executed with the provided input.

Parameters:

  • input: A WorkflowInput object containing configuration and input data for the workflow.

Returns:

  • result: A WorkflowResult object (empty in this implementation).
  • err: An error if the workflow fails to start or if there is an issue with the Temporal client.

Errors:

  • Returns an error if the Temporal client cannot be created or if the workflow execution fails.

func (*WalletWorkflow) Workflow

type WalletWorkflowPayload

type WalletWorkflowPayload struct {
	URL string `json:"url" yaml:"url" validate:"required"`
}

WalletWorkflowPayload is a struct that represents the input payload for the WalletWorkflow.

type WebuildStatusWorkflow

type WebuildStatusWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewWebuildStatusWorkflow

func NewWebuildStatusWorkflow() *WebuildStatusWorkflow

func (*WebuildStatusWorkflow) ExecuteWorkflow

func (WebuildStatusWorkflow) GetOptions

func (WebuildStatusWorkflow) Name

func (*WebuildStatusWorkflow) Workflow

type WebuildWorkflow

type WebuildWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewWebuildWorkflow

func NewWebuildWorkflow() *WebuildWorkflow

func (*WebuildWorkflow) ExecuteWorkflow

func (WebuildWorkflow) GetOptions

func (WebuildWorkflow) Name

func (WebuildWorkflow) Name() string

func (*WebuildWorkflow) Start

func (*WebuildWorkflow) Workflow

type WorkerManagerRunnerResult

type WorkerManagerRunnerResult struct {
	RunnerID string `json:"runner_id"`
	Success  bool   `json:"success"`
	Error    string `json:"error,omitempty"`
}

type WorkerManagerWorkflow

type WorkerManagerWorkflow struct {
	WorkflowFunc workflowengine.WorkflowFn
}

func NewWorkerManagerWorkflow

func NewWorkerManagerWorkflow() *WorkerManagerWorkflow

func (*WorkerManagerWorkflow) ExecuteWorkflow

func (WorkerManagerWorkflow) GetOptions

func (WorkerManagerWorkflow) Name

func (*WorkerManagerWorkflow) Start

func (*WorkerManagerWorkflow) Workflow

type WorkerManagerWorkflowOutput

type WorkerManagerWorkflowOutput struct {
	Namespace         string                      `json:"namespace"`
	RunnerResults     []WorkerManagerRunnerResult `json:"runner_results"`
	TotalRunners      int                         `json:"total_runners"`
	SuccessfulRunners int                         `json:"successful_runners"`
	FailedRunners     int                         `json:"failed_runners"`
}

type WorkerManagerWorkflowPayload

type WorkerManagerWorkflowPayload struct {
	Namespace    string   `json:"namespace"               yaml:"namespace"               validate:"required"`
	OldNamespace string   `json:"old_namespace,omitempty" yaml:"old_namespace,omitempty"`
	RunnerIDs    []string `json:"runner_ids"              yaml:"runner_ids"`
}

WorkerManagerWorkflowPayload is the payload for the worker manager workflow.

Jump to

Keyboard shortcuts

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