1head:
2    prefix: certpublish
3    label: I18N_OPENXPKI_UI_WORKFLOW_TYPE_CERT_PUBLISH_LABEL
4    description: I18N_OPENXPKI_UI_WORKFLOW_TYPE_CERT_PUBLISH_DESC
5
6state:
7    INITIAL:
8        label: I18N_OPENXPKI_UI_WORKFLOW_STATE_CERT_PUBLISH_INITIAL_LABEL
9        description: I18N_OPENXPKI_UI_WORKFLOW_STATE_CERT_PUBLISH_INITIAL_DESC
10        action:
11          - initialize > WAITING_FOR_START
12
13    PUBLISH:
14        autorun: 1
15        action:
16          - publish_target > SUCCESS ? has_target
17          - publish_prefix > SUCCESS ? has_prefix !has_target
18          - publish_profile > SUCCESS ? !has_prefix !has_target
19
20    SUCCESS:
21        label: I18N_OPENXPKI_UI_WORKFLOW_STATE_SUCCESS_LABEL
22        description: I18N_OPENXPKI_UI_WORKFLOW_STATE_SUCCESS_DESC
23
24    WAITING_FOR_START:
25        autorun: 1
26        action:
27          - global_disconnect > PUBLISH ? !run_sync
28          - global_noop > PUBLISH ? run_sync
29
30
31action:
32    initialize:
33        class: Workflow::Action::Null
34        label: I18N_OPENXPKI_UI_WORKFLOW_ACTION_CERTIFICATE_PUBLISHING_INITIALIZE_LABEL
35        description: I18N_OPENXPKI_UI_WORKFLOW_ACTION_CERTIFICATE_PUBLISHING_INITIALIZE_DESC
36        input:
37          - cert_identifier
38          - prefix
39          - target
40          - sync
41          - publish_key
42        validator:
43          - global_cert_identifier_exists
44
45    publish_target:
46        class: OpenXPKI::Server::Workflow::Activity::Tools::PublishCertificate
47        input:
48          - cert_identifier
49        param:
50            _map_target: $target
51            export_context: 1
52            retry_count: 3
53            retry_interval: +000000000015
54            on_error: queue
55
56    publish_prefix:
57        class: OpenXPKI::Server::Workflow::Activity::Tools::PublishCertificate
58        input:
59          - cert_identifier
60        param:
61            _map_prefix: $prefix
62            export_context: 1
63            retry_count: 3
64            retry_interval: +000000000015
65            on_error: queue
66
67
68    publish_profile:
69        class: OpenXPKI::Server::Workflow::Activity::Tools::PublishCertificate
70        input:
71          - cert_identifier
72        param:
73            export_context: 1
74            _map_publish_key: $publish_key
75            retry_count: 3
76            retry_interval: +000000000015
77            on_error: queue
78
79condition:
80    has_prefix:
81        class: Workflow::Condition::Evaluate
82        param:
83            test: $context->{prefix};
84
85    has_target:
86        class: Workflow::Condition::Evaluate
87        param:
88            test: $context->{target};
89
90    run_sync:
91        class: Workflow::Condition::Evaluate
92        param:
93            test: $context->{sync} != 0;
94
95field:
96    sync:
97        name: sync
98        type: server
99        required: 0
100
101    target:
102        name: target
103        type: server
104        required: 0
105
106    prefix:
107        name: prefix
108        type: server
109        required: 0
110
111    publish_key:
112        name: publish_key
113        type: server
114        required: 0
115
116acl:
117
118    CA Operator:
119        creator: any
120
121    RA Operator:
122        creator: any
123        fail: 1
124        resume: 1
125        wakeup: 1
126        history: 1
127        techlog: 1
128        attribute: 1
129        context: 1
130
131    System:
132        creator: any
133        fail: 1
134        resume: 1
135        wakeup: 1