Getting Started
Special
SINGLE SIGN-ON
Teams
Users
Escalation Policies
Service
Incident
On-Call Shift
Schedules
Schedule Override
API Token
Logs
Webhook
Slack
Reports
Preference
Profile
Automation
FAQ
CG Automation Runner
A cg-automation-runner is a jar application deployed on the client-side behind the firewall to securely execute automation tasks in the customer environment. It connects with the Callgoose SQIBS platform to fetch automation job details and execute in the client’s infrastructure.
What is cg-automation-runner?
- The cg-automation-runner is deployed within the customer’s environment, ensuring that sensitive automation tasks are performed securely behind the firewall.
- When an automation request is initiated on the Callgoose SQIBS platform, the cg-automation-runner securely connects to the platform, fetches the necessary job details, and executes the task in the local environment.
- All actions in workflows are executed by the cg-automation-runner within the customer infrastructure.
Configuring the cg-automation-runner
To set up the cg-automation-runner and link it to the Callgoose SQIBS platform, follow these steps:
1. Create 'runner' Profile and download Configuration File
Create an Automation Profile with type 'runner'. When creating the 'runner' profile, you can download a configuration file (File name will be cg-automation-runner-creds.yaml). This file contains the necessary token and secret for the runner to authenticate and securely connect to the Callgoose SQIBS platform. Keep the file in a safe place.
2. Download the JAR
Go to the Callgoose SQIBS dashboard and navigate to 'Profiles' under the Automation category. From there, click the download icon next to the 'Download Runner JAR' title at the top to download the JAR(File name will be cg-automation-runner.jar).
3. Install Java 17 on the host machine
To run the cg-automation-runner.jar, the host machine need to have Java 17 JRE. Make sure the java 17 is installed.
4. Place the JAR and Configuration file.
a) Create a user - example here is cgautouser
useradd cgautouser
b) Create a directory named 'cg-automation-runner' under the home directory.
su - cgautouser mkdir /home/cgautouser/cg-automation-runner
b) Move the downloaded JAR from step 2 into the 'cg-automation-runner' directory.
ls -ltr /home/cgautouser/cg-automation-runner/cg-automation-runner.jar
c) Create a directory named '.conf' under the 'cg-automation-runner' directory.
mkdir /home/cgautouser/cg-automation-runner/.conf
d) Move the configuration file from step 1 into the '.conf' directory and rename the configuration file inside the '.conf' directory to '.cg-automation-runner-creds.yaml' (we added a '.' at the beginning of the file name)
ls -ltr /home/cgautouser/cg-automation-runner/.conf/.cg-automation-runner-creds.yaml
5. Run the cg-automation-runner JAR manually
After placing all the files in correct place, you can run the JAR.
In Linux:
Open terminal, navigate to the cg-automation-runner directory and run,
java -jar /home/cgautouser/cg-automation-runner/cg-automation-runner.jar
In Windows
Open the command prompt, navigate to the cg-automation-runner directory and run,
java -jar cg-automation-runner.jar
The runner will start and securely connect to the Callgoose SQIBS platform using the provided token and secret.
Once connected, it will be ready to execute automation jobs based on the assigned workflows.
5. Run the cg-automation-runner JAR as a systemd service in Linux
Create a cg-automation-runner.service file using any editor.
sudo vim /usr/lib/systemd/system/cg-automation-runner.service
[Unit] Description= Start the cg-automation-runner service After=syslog.target systemd-user-sessions.service network.target [Service] Type=simple User=cgautouser Group=cgautouser LimitNOFILE=64000 LimitNPROC=64000 ExecStart=java -jar /home/cgautouser/cg-automation-runner/cg-automation-runner.jar [Install] WantedBy=multi-user.target
sudo systemctl enable cg-automation-runner.service sudo systemctl start cg-automation-runner.service sudo systemctl status cg-automation-runner.service
6. Check Log
Check the log generated by cg-automation-runner.jar to ensure everything is correct.
The log file (cg-automation-runner.log) will be saved inside the 'log' directory, which is located under the 'cg-automation-runner' directory.
A successful run will generate a log similar to the one below:
# tail -f /home/cgautouser/cg-automation-runner/log/cg-automation-runner.log 2024-09-06 13:29:59 [ INFO ] Starting cg-automation-runner <VERSION> 2024-09-06 13:29:59 [ INFO ] Database initialized successfully. 2024-09-06 13:29:59 [ INFO ] Syncing profile details 2024-09-06 13:30:00 [ INFO ] Internal profile details updated successfully. 2024-09-06 13:30:00 [ INFO ] Profile details syncing completed 2024-09-06 13:30:01 [ INFO ] The Runner JAR is running smoothly.
Run Actions
To use the cg-automation-runner for running actions, follow the process outlined below:
Create Internal Profiles
- Create internal profiles inside the 'runner' Profile. Internal Profiles are Profiles. We use the name Internal Profile to distinguish these from regular Out of the box Profiles
- These internal profiles represent different environments or configurations within the customer’s infrastructure.
- For more details on how to create internal profiles, refer to the Profile Documentation.
- You can create various type of Profiles under one Runner.
Assign Runner and Internal Profiles in Workflow
- When creating a workflow, select the created 'runner' profile as the profile.
- Choose the appropriate internal profile that represents the specific environment where the action will run.
Run Workflow
Run the created workflow. You can refer here for more information.
The specific actions assigned to this runner will be processed, and you can view the results on the Callgoose SQIBS dashboard. Open the incident that triggered the workflow and click on the button labeled "Show Workflow Log". You can find more information from here.