Skip to content

Instantly share code, notes, and snippets.

@zheng022
Last active April 23, 2025 14:30
Show Gist options
  • Select an option

  • Save zheng022/1828ae35d1ab1f66a2e0e75a2a9ecd2a to your computer and use it in GitHub Desktop.

Select an option

Save zheng022/1828ae35d1ab1f66a2e0e75a2a9ecd2a to your computer and use it in GitHub Desktop.

What Operators do

  • Operator manage and configure instance with UI
  • Operator builds automation with API
  • Operator does fire fighting with ssh + bash script

What can the purpose of an API/CLI

  • Part of the UI architecture and support a robust UI solution
  • Help operators build an reliable and efficient automation

What is needed for UI support

What is needed for automation:

From Tim:

GHES - Add ability to set/reset management console password via the API

Would like a REST API endpoint which provides the same functionality as ghe-ssl-certificate-setup

Request for API endpoint to get elasticsearch indexing status on GHES ### customer's ansible playbooks

what do customers automate:

query: org:githubcustomers path:/**/*.yml "hosts:" "tasks:"

interesting automation users:

customers that likely used API for automation:

3.14 ha:

  • Saab(3.14 ha) Inc /v1/replication/status: 581

3.15 ha

  • Gap Inc /v1/maintenance: 21

  • College of Engineering Georgia Tech /v1/maintenance: 16

  • Twilio /v1/maintenance: 19

  • General Assembly /v1/maintenance: 13

  • AIG /v1/maintenance: 11

  • Starbucks Coffee Company /v1/maintenance: 12

  • Centers for Medicare u0026 Medicaid Services /v1/maintenance: 8

3.15 standalone

  • Appgate /v1/maintenance: 29
  • George Labs GmbH /v1/maintenance: 29
  • Extreme Networks /v1/maintenance: 24

road blocks to a self-contained API

  • a native way to store and edit github conf files

  • a paved road for long running operations

  • some errors:

500 found in file:  <_io.TextIOWrapper name='/home/esbtools/163446/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to GET : /v1/config/settings
500 found in file: <_io.TextIOWrapper name='/home/esbtools/163131/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to GET : /v1/maintenance
500 found in file: <_io.TextIOWrapper name='/home/esbtools/164052/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to GET : /v1/maintenance
400 found in file: <_io.TextIOWrapper name='/home/esbtools/163210/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to POST : /v1/topologyconfig/verify
400 found in file: <_io.TextIOWrapper name='/home/esbtools/163496/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to POST : /v1/topologyconfig/verify
400 found in file: <_io.TextIOWrapper name='/home/esbtools/163581/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to POST : /v1/topologyconfig/verify
400 found in file: <_io.TextIOWrapper name='/home/esbtools/163581/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to POST : /v1/topologyconfig
500 found in file: <_io.TextIOWrapper name='/home/esbtools/163976/system-logs/systemd/ghes-manage-gateway.log' mode='r' encoding='UTF-8'>, on call to POST : /v1/topologyconfig

Not related:

Display monitoring graphs in same timezone as user

Log Forward Replication Status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment