...
1
16
17 package release
18
19 import (
20 "helm.sh/helm/v3/pkg/time"
21 )
22
23
24 type HookEvent string
25
26
27 const (
28 HookPreInstall HookEvent = "pre-install"
29 HookPostInstall HookEvent = "post-install"
30 HookPreDelete HookEvent = "pre-delete"
31 HookPostDelete HookEvent = "post-delete"
32 HookPreUpgrade HookEvent = "pre-upgrade"
33 HookPostUpgrade HookEvent = "post-upgrade"
34 HookPreRollback HookEvent = "pre-rollback"
35 HookPostRollback HookEvent = "post-rollback"
36 HookTest HookEvent = "test"
37 )
38
39 func (x HookEvent) String() string { return string(x) }
40
41
42 type HookDeletePolicy string
43
44
45 const (
46 HookSucceeded HookDeletePolicy = "hook-succeeded"
47 HookFailed HookDeletePolicy = "hook-failed"
48 HookBeforeHookCreation HookDeletePolicy = "before-hook-creation"
49 )
50
51 func (x HookDeletePolicy) String() string { return string(x) }
52
53
54 const HookAnnotation = "helm.sh/hook"
55
56
57 const HookWeightAnnotation = "helm.sh/hook-weight"
58
59
60 const HookDeleteAnnotation = "helm.sh/hook-delete-policy"
61
62
63 type Hook struct {
64 Name string `json:"name,omitempty"`
65
66 Kind string `json:"kind,omitempty"`
67
68 Path string `json:"path,omitempty"`
69
70 Manifest string `json:"manifest,omitempty"`
71
72 Events []HookEvent `json:"events,omitempty"`
73
74 LastRun HookExecution `json:"last_run,omitempty"`
75
76 Weight int `json:"weight,omitempty"`
77
78 DeletePolicies []HookDeletePolicy `json:"delete_policies,omitempty"`
79 }
80
81
82 type HookExecution struct {
83
84 StartedAt time.Time `json:"started_at,omitempty"`
85
86 CompletedAt time.Time `json:"completed_at,omitempty"`
87
88 Phase HookPhase `json:"phase"`
89 }
90
91
92 type HookPhase string
93
94 const (
95
96 HookPhaseUnknown HookPhase = "Unknown"
97
98 HookPhaseRunning HookPhase = "Running"
99
100 HookPhaseSucceeded HookPhase = "Succeeded"
101
102 HookPhaseFailed HookPhase = "Failed"
103 )
104
105
106 func (x HookPhase) String() string { return string(x) }
107
View as plain text