> For the complete CircleCI developer hub index, see [llms.txt](https://circleci.com/developer/llms.txt)

# bufferings/split-config

You can merge split files when CircleCI starts. This Orb uses CUE https://cuelang.org/ to merge the configuration files.


## Commands

### append-find-result

Find configs by regex and append the result to the config list.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `config-list-path` | string | /tmp/config-list | A file path to append config paths. Each path in this file should be relative to the working directory.
 |
| `find-config-regex` | string |  | Regex to find configs from the working directory.
 |

### append-fixed-paths

Append fixed config paths to the config list.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `config-list-path` | string | /tmp/config-list | A file path to append config paths. Each path in this file should be relative to the working directory.
 |
| `fixed-config-paths` | string |  | Multiline string of fixed config paths to append. One path for each line. Each path should be relative to the working directory.
 |

### generate-config

Generate config file from the config list.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `config-list-path` | string | /tmp/config-list | A file path to append config paths. Each path in this file should be relative to the working directory.
 |
| `generated-config-path` | string | /tmp/generated-config.yml | A file path for the generated config file.
 |

## Jobs

### generate-config

Merge split files and generate configuration


| Parameter | Type | Default | Description |
|---|---|---|---|
| `config-list-path` | string | /tmp/config-list | A file path to append config paths. Each path in this file should be relative to the working directory.
 |
| `continuation` | boolean | true | Whether to continue the execution with the generated config or not.
 |
| `continuation-circleci_domain` | string | circleci.com | The domain of the CircleCI installation - defaults to circleci.com. (Only necessary for CircleCI Server users)
 |
| `continuation-parameters` | string | {} | The parameters used for the pipeline. This can either be a JSON object containing parameters or a path to a file containing a JSON object with parameters
 |
| `find-config-regex` | string |  | Regex to find configs from the working directory.
 |
| `fixed-config-paths` | string |  | Multiline string of fixed config paths to append. One path for each line. Each path should be relative to the working directory.
 |
| `generated-config-path` | string | /tmp/generated-config.yml | A file path for the generated config file.
 |

## Executors

### default

cimg/go image with CUE


| Parameter | Type | Default | Description |
|---|---|---|---|
| `tag` | string | latest | Pick a specific bufferings/cimg-cue image variant: https://hub.docker.com/r/bufferings/cimg-cue/tags
 |

## Examples

### config-list-path

You can write the split config paths in a file and set it to the config-list-path parameter.
Please check README in the GitHub repository for more details: https://github.com/bufferings/orb-split-config


```yaml
version: '2.1'
orbs:
  split-config: bufferings/split-config@1.2.3
workflows:
  generate-config:
    jobs:
      - split-config/generate-config:
          config-list-path: .circleci/config-list
```

### find-config-regex

You can use regex to specify the split configs.
Please check README in the GitHub repository for more details: https://github.com/bufferings/orb-split-config


```yaml
version: '2.1'
orbs:
  split-config: bufferings/split-config@1.2.3
workflows:
  generate-config:
    jobs:
      - split-config/generate-config:
          find-config-regex: .*/\.circleci/config\.yml
```

### fixed-config-paths

You can use fixed-config-paths parameter to specify the split configs.
Please check README in the GitHub repository for more details: https://github.com/bufferings/orb-split-config


```yaml
version: '2.1'
orbs:
  split-config: bufferings/split-config@1.2.3
workflows:
  generate-config:
    jobs:
      - split-config/generate-config:
          fixed-config-paths: |
            ./common/.circleci/config.yml
            ./service1/.circleci/config.yml
            ./service2/.circleci/config.yml
            ./service3/.circleci/config.yml
```