CT-Ops
CT-Automation Jobs
CT-Ops workspace for CT-Automation repositories, credentials, templates, launches, live events, and repository authoring.
The CT-Automation Jobs workspace is the CT-Ops browser UI for a connected
CT-Automation service. Open it from Tooling -> CT-Automation Jobs after
favouriting it from the Tools page, or open /automation/jobs directly.
CT-Ops provides the workspace and delegated user context. CT-Automation remains the system of record for automation projects, Git repository state, credentials, inventories, job templates, runs, events, and reports.
Access and prerequisites
Engineers and administrators can use the workspace after an administrator enables the Automation Integration Settings CT-Automation service connection.
The workspace shows a permission or connection warning instead of the job UI when the current user cannot create automation jobs, the CT-Automation connection is disabled, or CT-Automation is unavailable.
Workspace tabs
| Tab | What it manages |
|---|---|
| Repositories | CT-Automation repository projects, repository test/sync, playbook discovery, repository file editing, uploads, folders, and starter Ansible scaffolds. |
| Credentials | CT-Automation machine credentials for job execution. Secret values are submitted to CT-Automation and are not returned to browser code after save. |
| Templates | Reusable CT-Automation job templates built from a repository project, playbook, CT-Ops host group, credential, and runtime options. |
| Runs | Launch history, live event polling, final per-host summaries, and mirrored CT-Ops run status. |
Repositories tab
Use Repositories to register a Git repository as a CT-Automation project. The create dialog stores the repository URL, default ref, playbook folder, and optional SCM credential details in CT-Automation.
| Field or control | What it does |
|---|---|
| Repository name | Operator-facing project name. |
| Repository URL | Git URL CT-Automation uses for sync, playbook discovery, and repository authoring. |
| Default ref | Branch, tag, or SHA used when the workspace does not override the ref. |
| Playbook folder | Repository-relative folder CT-Automation scans for .yml and .yaml playbooks. Use the folder picker to browse repository folders and populate the path, or type a relative path such as local_apt_repos/playbooks; leading ./ and single leading / are normalised to the repository root. |
| SCM private key / token fields | Optional credential material for private repositories. CT-Ops sends it to CT-Automation and does not store the decrypted value. |
| Known hosts | Optional SSH host-key trust data for private SSH repositories. |
| Test connection | Checks the repository details before save. |
| Sync / discover playbooks | Refreshes CT-Automation project sync state and the playbook list for template creation. |
| Open file workspace | Opens the repository file browser and editor in a modal workspace. |
| Delete repository | Hard-deletes the CT-Automation project when CT-Automation allows deletion. Projects referenced by templates are rejected. |
Repository authoring
Repository authoring opens from the Open file workspace row action on the Repositories tab. The tab itself stays focused on saved repository projects; file browsing, editing, uploads, folder creation, and starter scaffolding happen inside the modal workspace.
| Control | What it does |
|---|---|
| Repository selector | Chooses the CT-Automation project to browse and edit. Opening a repository from the row action loads its files automatically. |
| Git ref | Branch, tag, or SHA used for the repository tree and commits. For writable work, choose a branch that CT-Automation can save against and push to. |
| Refresh files | Reloads the selected repository tree from CT-Automation after changing the Git ref or after external repository changes. |
| File tree | Shows expandable folders first in alphabetical order, then files in alphabetical order. Selecting a text file opens it in the browser editor. The editor is not displayed until a file is selected. |
| File workspace toolbar | Groups repository mutations as icon actions so browsing and editing stay separate from create/upload/scaffold workflows. |
| Create file toolbar icon | Opens a modal for the new relative file path, then saves an empty file into the repository workspace without committing. |
| Create folder toolbar icon | Opens a modal for the folder path, then saves a .gitkeep marker for that folder structure without committing. |
| Upload file toolbar icon | Opens a modal for the local file and target path, then saves the upload into the repository workspace without committing. |
| Scaffold starter project toolbar icon | Opens a modal for the starter project root path, then adds the Ansible starter layout and commits it. |
| Commit selected files toolbar icon | Opens the commit modal when saved workspace changes exist. Engineers choose the files to include, enter a commit message, and push one commit to the selected Git ref. |
| YAML editor | Edits the selected file with line numbers and YAML syntax highlighting. |
| Save file | Saves the current editor contents into CT-Automation’s repository workspace without committing or pushing. |
After a save, the workspace shows a saved-files banner. The commit modal lists
each changed path with its status (added, modified, or deleted) and
preselects the available changes. Clearing a checkbox leaves that file saved in
the workspace for a later commit. CT-Automation requires a commit message before
it stages the selected paths, creates the commit, and pushes it to the Git ref.
The starter scaffold creates a usable Ansible layout containing a README,
ansible.cfg, playbooks/site.yml, roles/common/tasks/main.yml,
inventories/README.md, group_vars/all.yml, and requirements.yml.
CT-Automation validates repository paths before writing. Absolute paths,
parent-directory traversal, and .git paths are rejected. CT-Automation also
enforces payload limits and uses the project’s stored SCM credential for Git
operations so secret material does not reach the browser.
Template creation flow
A normal job setup uses this sequence:
- Register or select a repository project.
- Sync the repository and confirm the playbook appears.
- Create or select a machine credential.
- Select a CT-Ops host group inventory target.
- Save a reusable job template.
- Launch the template or run a check-mode trial.
Template options include tags, skip tags, check mode, diff mode, forks, timeout, Ansible limit, extra variables schema, and launch prompts. CT-Ops stores only the CT-Automation object IDs and any mirrored run summaries needed for CT-Ops task history.
Runs and summaries
After launch, the Runs tab shows current run status, live event updates, host counters, and final per-host summaries returned by CT-Automation. CT-Ops can mirror the safe CT-Ops summary into local task history, but raw event streams, report artifacts, credentials, and repository snapshots remain owned by CT-Automation.