Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
Processor processes ref value to a string
func NewProcessor ¶
func NewProcessor(wfr *v1alpha1.WorkflowRun, getter SecretGetter) *Processor
NewProcessor creates a processor object
func (*Processor) ResolveRefStringValue ¶
ResolveRefStringValue resolves a ref kind value, if it's not a ref value, return the origin value. Valid ref values supported now include: - '${secrets.<ns>:<secret>/<jsonpath>/...}' to refer value in a secret - '${stages.<stage>.outputs.<key>}' to refer value from a stage output - '${variables.<key>}' to refer value from a global variable defined in wfr
type SecretGetter ¶ added in v1.2.0
SecretGetter is used to get a secret from the cluster. The reason we use SecretGetter here is to decouple from the kubernetes clientset.
type SecretRefValue ¶
type SecretRefValue struct { // Namespace of the secret Namespace string // Name of the secret Secret string // Json path in the secret to refer the value. If more than one // paths provided, value resolved for the previous path would be // regarded as a marshaled json and be used as data source to the // following one. Jsonpaths []string }
SecretRefValue represents a value in a secret. It's defined by a secret and json paths.
func NewSecretRefValue ¶
func NewSecretRefValue() *SecretRefValue
NewSecretRefValue create a secret reference value.
func (*SecretRefValue) Parse ¶
func (r *SecretRefValue) Parse(ref string) error
Parse parses a given ref. The reference value specifies json path in a secret. Format of the reference is: ${secrets.<namespace>:<secret-name>/<jsonpath>/<jsonpath>} For example, in secret (named 'secret' under namespace 'ns'):
{ "apiVersion": "v1", "data": { "key": "KEY", "json": "{\"user\":{\"id\": \"111\"}}" }, "kind": "Secret", "type": "Opaque", "metadata": { ... } }
${secrets.ns:secret/data.key} --> KEY ${secrets.ns:secret/data.json/user.id} --> 111
func (*SecretRefValue) Resolve ¶
func (r *SecretRefValue) Resolve(secretGetter SecretGetter) (string, error)
Resolve resolves the secret ref and get the real value.
type VariableRefValue ¶
type VariableRefValue struct { // Name of the variable Name string // contains filtered or unexported fields }
VariableRefValue represents a global(wfr scope) variable value. It's defined in wfr spec.globalVariables.
func NewVariableRefValue ¶
func NewVariableRefValue(wfr *v1alpha1.WorkflowRun) *VariableRefValue
NewVariableRefValue create a variable reference value.
func (*VariableRefValue) Parse ¶
func (r *VariableRefValue) Parse(ref string) error
Parse parses a given ref. The reference value specifies variable key defined in wfr. Format of the reference is: ${variables.<key>}
For example, in wfr (named 'secret' under namespace 'ns'):
{ "kind": "WorkflowRun", ... "spec": { "globalVariables": [ { "IMAGE": "cyclone" }, { "Registry": "docker.io" } ] } }
${variables.IMAGE} --> cyclone ${variables.Registry} --> docker.io
func (*VariableRefValue) Resolve ¶
func (r *VariableRefValue) Resolve() (string, error)
Resolve resolves the variable ref and get the real value.