> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/itential-gateway/5/create-executable-service/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # Create an executable service > Create executable services to run scripts or applications stored in a Git repository using a pre-defined executable object. You can create an executable service to run scripts or applications stored in a Git repository. Executable services use a pre-defined executable object to determine how to run your script. ## Prerequisites * An executable object that defines the command to run your script * A Git repository that contains your script or application * Operator role permissions * Repository authentication configured (if using a private repository) ## Create a basic executable service Use the `iagctl create service` executable command to create a new executable service. **Syntax:** ```bash iagctl create service executable \ --executable-object \ --repository \ --working-dir \ --filename ``` **Parameters:** * ``: A unique name for the executable service * `--executable-object`: The name of the executable object that runs your script * `--repository`: The name of the Git repository that contains your script * `--working-dir`: The path within the repository where your script is located * `--filename`: The name of the script file to execute **Example:** Create an executable service that runs a Bash script: ```bash iagctl create service executable simple-bash \ --executable-object my-obj \ --repository gateway-resources \ --working-dir executable_services/simple-script \ --filename test.sh ``` This example uses the executable object named `my-obj` (which would be configured to use `/usr/bin/bash`) to run the `test.sh` script. ## Create an executable service with argument formatting Add the `--arg-format` parameter to define how Gateway passes arguments to your script at runtime. **Syntax:** ```bash iagctl create service executable \ --executable-object \ --repository \ --working-dir \ --filename \ --arg-format "" ``` **Example:** Create an executable service with custom argument formatting: ```bash iagctl create service executable simple-executable \ --executable-object my-obj \ --arg-format "{{.Key}} {{.Value}}" \ --repository gateway-resources \ --working-dir executable_services/simple-script \ --filename test.sh ``` ## Additional examples ### Create an executable service for a Terraform script ```bash iagctl create service executable terraform-deploy \ --executable-object terraform-latest \ --repository infrastructure-repo \ --working-dir terraform/production \ --filename main.tf \ --description "Deploy production infrastructure" ``` ### Create an executable service for a Python script ```bash iagctl create service executable python-util \ --executable-object python311-standard \ --repository utility-scripts \ --working-dir python \ --filename data-processor.py \ --description "Process daily data files" ``` ### Create an executable service with complex argument formatting ```bash iagctl create service executable advanced-script \ --executable-object bash-standard \ --repository gateway-resources \ --working-dir scripts \ --filename process.sh \ --arg-format "--{{.Key}}={{.Value}}" \ --description "Process data with custom flags" ``` > Create executable services to run scripts or applications stored in a Git repository using a pre-defined executable object.