tools:
- name: kubectl_get
description: Get Kubernetes resources
run:
kind: shell
cmd: "kubectl get {{resource}} {{name}} -n {{namespace}} {{output}}"
args:
resource:
type: string
description: "Resource type (pods, services, deployments, nodes, etc.)"
required: true
name:
type: string
description: "Specific resource name (empty for all)"
required: false
default: ""
namespace:
type: string
description: "Kubernetes namespace"
required: false
default: "default"
output:
type: string
description: "Output format flag (-o wide, -o yaml, -o json, etc.)"
required: false
default: ""
- name: terraform_plan
description: Generate Terraform execution plan
run:
kind: shell
cmd: "terraform plan {{options}} {{path}}"
args:
path:
type: string
description: "Path to Terraform configuration directory"
required: false
default: "."
options:
type: string
description: "Additional Terraform options (e.g., -var-file=prod.tfvars)"
required: false
default: ""
- name: ansible_playbook
description: Run Ansible playbook
run:
kind: shell
cmd: "ansible-playbook {{playbook}} -i {{inventory}} {{extra}}"
args:
playbook:
type: string
description: "Path to Ansible playbook YAML file"
required: true
inventory:
type: string
description: "Inventory file or hosts"
required: false
default: "hosts"
extra:
type: string
description: "Extra ansible-playbook options (e.g., --tags deploy, --check)"
required: false
default: ""
- name: helm_install
description: Install or upgrade Helm chart
run:
kind: shell
cmd: "helm {{action}} {{release}} {{chart}} -n {{namespace}} {{values}}"
args:
action:
type: string
description: "Helm action (install or upgrade)"
required: false
default: "install"
release:
type: string
description: "Release name"
required: true
chart:
type: string
description: "Chart name or path"
required: true
namespace:
type: string
description: "Kubernetes namespace"
required: false
default: "default"
values:
type: string
description: "Values file flag (e.g., -f values.yaml)"
required: false
default: ""