# Pre-Requisites

The first step is to download the Lineaje CLI from the Lineaje portal, register the CLI and store it in a s3 (or an equivalent storage based on the cloud provider) location that will be accessible for the CICD pipeline

* Create a s3 folder under a bucker that is accessible for the CICD pipeline (s3:\<bucketname>/lineaje-cli)
* Follow the [CLI installation](https://docs.veedna.com/sca360-secure-deployment-for-restricted-environments/sca360-installation) guide
* Copy the veecli executable to the s3 location (s3:\<bucketname>/lineaje-cli/veecli). On a regular interval, update the veecli with newer version by downloading the copy from Lineaje application. A new version does NOT require a re-registration.
* Locate the config.json, present in the same directory as that of veecli, and copy it to s3 location (s3:\<bucketname>/lineaje-cli/config.json). config.json has the tenant, token and other information that is necessary to connect to Lineaje backend
* Create a new json file, name it as input-src.json with the below content. This serves as a template for input that should be passed to Lineaje CLI. Store the file in s3 (s3:\<bucketname>/lineaje-cli/input-src.json)

```json
{
  "project": "",
  "schema": "1.0",
  "version": "",
  "excludeTestDependency": true,
  "excludeOptionalDependency": true,
  "use_native_tools": true,
  "inputs": [
    {
      "SrcInfo": {
        "srcurl": "",
        "type": "",
        "matchingref": ""
      }
    }
  ],
  "repository_access_configs": [
    {
      "path": "",
      "type": "",
      "user_name": "",
      "token": ""
    }
  ]
}
```

* To summarize, the s3 folder should have the below files
  * s3:\<bucketname>/lineaje-cli/veecli
  * s3:\<bucketname>/lineaje-cli/config.json
  * s3:\<bucketname>/lineaje-cli/input-src.json
