| title | kosli create flow |
|---|---|
| description | Create or update a Kosli flow. |
kosli create flow FLOW-NAME [flags]Create or update a Kosli flow. You can specify flow parameters in flags.
FLOW-NAMEs must start with a letter or number, and only contain letters, numbers, ., -, _, and ~.
| Flag | Description |
|---|---|
--description string |
[optional] The Kosli flow description. |
-D, --dry-run |
[optional] Run in dry-run mode. When enabled, no data is sent to Kosli and the CLI exits with 0 exit code regardless of any errors. |
-h, --help |
help for flow |
-t, --template strings |
[defaulted] The comma-separated list of required compliance controls names. |
-f, --template-file string |
[optional] The path to a yaml template file. Cannot be used together with --use-empty-template |
--use-empty-template |
Use an empty template for the flow creation without specifying a file. Cannot be used together with --template or --template-file |
| Flag | Description |
|---|---|
-a, --api-token string |
The Kosli API token. |
-c, --config-file string |
[optional] The Kosli config file path. (default "kosli") |
--debug |
[optional] Print debug logs to stdout. |
-H, --host string |
[defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
--http-proxy string |
[optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
-r, --max-api-retries int |
[defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
--org string |
The Kosli organization. |
-q, --quiet |
[optional] Suppress non-critical warning messages. Errors and normal output are not affected. If both --quiet and --debug are set, --debug wins. |
In [this YAML file](https://github.com/cyber-dojo/runner/blob/05fa6c14db21fa6a6f61c0e8ce08e929a28d13cd/.github/workflows/main.yml#L62)
</Tab>
<Tab title="GitLab">
View an example of the `kosli create flow` command in GitLab.
In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L53)
</Tab>
These examples all assume that the flags --api-token, --org, --host, (and --flow, --trail when required), are set/provided.
</Accordion>
<Accordion title="create/update a Kosli flow (with template file)">
```shell
kosli create flow yourFlowName
--description yourFlowDescription
--template-file /path/to/your/template/file.yml