@@ -13,14 +13,14 @@ Examples, where flows are especially useful:
1313 servers in a web farm. Especially, this is helpful if such units are made of several Kubernetes resources.
1414 Encapsulating such deployment blocks in a flow allows to build multi-node systems by repeating (replicating)
1515 flow.
16- * Moreover, flows can represent an operation that can be performed with application: scale, migrate, heal, backup
16+ * Moreover, flows can represent an operation that can be performed with application: scale, migrate, heal, backup
1717 and so on, if such operations can be expressed by Kubernetes resources. Considering that number of then can
1818 contain arbitrary bash scripts, this is often the case.
1919
2020Most important properties of flows are:
21211 . ** Name** . Since flow is named part of dependency graph, it has a name. When one wants to use the flow in another
2222 graph part, he just makes a dependency on the flow vertex.
23- 2 . ** Scope** . This is a label selector than can be applied to dependencies. All graph vertexes, reachable from the
23+ 2 . ** Scope** . This is a label selector than can be applied to dependencies. All graph vertexes, reachable from the
2424 flow vertex using only edges (dependencies) that match the selector are said to belong to the flow. There can
2525 be one or two scopes for a flow: construction scope and (optional) destruction scope. Construction scope defines,
2626 what is going to be deployed for each flow replica. Destruction scope defines what needs to be performed before
@@ -34,12 +34,12 @@ Most important properties of flows are:
3434 Kubernetes. But with parametrization, parameter value may be used as part of resource names. So with different
3535 arguments the same flow can produce different resources. Replication creates specified number of flow copies, each
3636 of them gets unique name which can be used like if it was a parameter.
37-
37+
3838## Flow definition
3939
4040In AppController dependency graph there are resource definitions and dependencies between them. Flows do not bring
4141new entities into this picture. Instead, flow is implemented as a yet another resource type that can be used as a graph
42- vertex. Flow resource is where all flow properties can be specified.
42+ vertex. Flow resource is where all flow properties can be specified.
4343
4444To use flow, i.e. deploy resources that make the flow, one just need to place it in dependency graph, and the flow
4545vertex creation will trigger creation of the subgraph.
@@ -79,15 +79,15 @@ are represented. However, for other resource types it is still possible to creat
7979
8080Sections below explain each of the flow properties and how they affect graph deployment.
8181
82- Note : Since it is possible to run `kubeac` both inside and outside of the cluster, here and below I refer to
82+ Note : Since it is possible to run `kubeac` both inside and outside of the cluster, here and below I refer to
8383` kubeac` binary by its simple name. However, in most cases this is going to be something like
8484` kubectl exec k8s-appcontroller kubeac` to run the binary remotely, in AppController pod.
8585
8686# ## Flow name
8787
8888Each flow must have a `name` in its `metadata`. This name is used to refer to the flow in order to run it.
8989There are two method to run a flow :
90- 1) Call it from withing a dependency graph. This is done by placing dependency on the `flow/flowName` resource,
90+ 1) Call it from within a dependency graph. This is done by placing dependency on the `flow/flowName` resource,
9191 where `flowName` is the name of the flow.
92922) Explicitly call the flow from command line : ` kubeac run flowName` .
9393
@@ -139,7 +139,7 @@ The advantages of declared parameters are:
139139 parameter can be accompanied with description text.
140140* Declaration may have default value for the parameter. If there is a default value, the parameter becomes optional.
141141 Values for parameter that do not have default must be provided by the flow consumer.
142-
142+
143143Parameters are declared in the `parameters` section of the `Flow` resource. It is a dictionary where keys are
144144parameter names and values are structures with two optional fields : ` description` and `default`. If none of them
145145present, then the value may just remain empty, as shown for `parameterName2` in example above. Parameter names
@@ -186,7 +186,7 @@ created as many resources as the number of passed values for the parameter.
186186For example, the graph
187187```
188188 {arg=a}
189- ---------
189+ ---------
190190[ parent] / \ [ child]
191191my-flow -> -> pod/pod-$arg
192192 \ /
@@ -227,7 +227,7 @@ Replication works as following:
227227
228228The replica count is specified using `-n` (or longer `--replicas`) commandline switch:
229229
230- `kubec run my-flow -n3` creates deploys 3 replicas of `my-flow`. If there were 1, 2 replicas would be created.
230+ `kubec run my-flow -n3` creates deploys 3 replicas of `my-flow`. If there were 1, 2 replicas would be created.
231231If there were 7 of them, 4 replicas would be deleted.\
232232`kubeac run my-flow -n+1` increments replica count by 1\
233233`kubeac run my-flow -n-2` decreases replica count by 2\
0 commit comments