Skip to content

GitHub Models

Configure HolmesGPT to use GitHub Models.

Setup

Create a GitHub Personal Access Token (fine-grained) with the Models permission:

GitHub PAT Models Permission

Browse the full list of available models at github.com/marketplace/models.

Verify model availability before configuring

Some models are listed in the GitHub Models catalog but are not actually available for your account. Before configuring a model in HolmesGPT, open the model's page in the GitHub Models playground, send it any message (e.g. "hello"), and verify you get a response. If the model doesn't respond, it won't work with HolmesGPT either.

Configuration

Using Environment Variables:

export GITHUB_API_KEY="your-github-token"
holmes ask "what pods are failing?" --model="github/gpt-4.1"

Using Command Line Parameters:

holmes ask "what pods are failing?" --model="github/gpt-4.1" --api-key="your-github-token"

Model Naming

Use github/ prefix followed by the model name, dropping the company prefix. For example, openai/gpt-4.1 in the catalog becomes github/gpt-4.1.

Create a Kubernetes secret in the namespace Holmes runs in:

kubectl create secret generic holmes-github \
  --from-literal=GITHUB_API_KEY="your-github-token" \
  -n <namespace>

When using the standalone Holmes Helm Chart, update your values.yaml:

extraEnvVarsSecrets:
  - holmes-github

additionalEnvVars:
  - name: MODEL
    value: "gpt-4-1"

modelList:
  gpt-4-1:
    api_key: "{{ env.GITHUB_API_KEY }}"
    model: github/gpt-4.1
    temperature: 0

Apply the configuration:

helm upgrade holmes robusta/holmes -f values.yaml

Create a Kubernetes secret in the namespace Holmes runs in:

kubectl create secret generic holmes-github \
  --from-literal=GITHUB_API_KEY="your-github-token" \
  -n <namespace>

When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml:

holmes:
  extraEnvVarsSecrets:
    - holmes-github

  additionalEnvVars:
    - name: MODEL
      value: "gpt-4-1"

  modelList:
    gpt-4-1:
      api_key: "{{ env.GITHUB_API_KEY }}"
      model: github/gpt-4.1
      temperature: 0

Apply the configuration:

helm upgrade robusta robusta/robusta -f generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

Additional Resources