Skip to content

overlane channel rollback

Put a channel back on the build it ran before

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Returns the channel to its previous build and records who did it and why. Destructive: users on the channel move back. Without a terminal it needs –force.

Usage

overlane channel rollback [channel] [--reason TEXT] [--dry-run] [--force]

Arguments

Argument Required Description
channel no internal, nightly, beta, stable or lts (required)

Flags

Flag Type Required Default Description
--reason string no Why; kept in the promotion history (required)
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.
--force boolean no Confirm a destructive action when there is no terminal to ask on. Without it, exit 2.

Examples

overlane channel rollback stable --reason "sign-in is failing" --force

Behavior

  • Effect: destructive (deletes or reverts; needs --force without a terminal).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: yes. Accepts --force: yes.
  • Machine-readable description: overlane schema channel rollback.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "tenantId": {
          "type": "string"
        },
        "projectId": {
          "type": "string"
        },
        "channel": {
          "type": "object",
          "properties": {
            "channel": {
              "type": "string",
              "enum": [
                "internal",
                "nightly",
                "beta",
                "stable",
                "lts"
              ]
            },
            "build": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "commitSha": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "enteredAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "commitSha",
                    "version",
                    "enteredAt"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "held": {
              "type": "boolean"
            },
            "holdReason": {
              "type": [
                "string",
                "null"
              ]
            },
            "heldBy": {
              "type": [
                "string",
                "null"
              ]
            },
            "updatedAt": {
              "type": "string"
            }
          },
          "required": [
            "channel",
            "build",
            "held",
            "holdReason",
            "heldBy",
            "updatedAt"
          ],
          "additionalProperties": {}
        },
        "promotion": {
          "type": "object",
          "properties": {
            "promotionId": {
              "type": "string"
            },
            "from": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "internal",
                    "nightly",
                    "beta",
                    "stable",
                    "lts"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "to": {
              "type": "string",
              "enum": [
                "internal",
                "nightly",
                "beta",
                "stable",
                "lts"
              ]
            },
            "version": {
              "type": [
                "string",
                "null"
              ]
            },
            "commitSha": {
              "type": [
                "string",
                "null"
              ]
            },
            "at": {
              "type": "string"
            },
            "actor": {
              "type": "string"
            },
            "outcome": {
              "type": "string",
              "enum": [
                "promoted",
                "refused",
                "rolled_back"
              ]
            },
            "gates": {
              "type": "object",
              "properties": {
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "gate": {
                        "type": "string"
                      },
                      "reason": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "gate",
                      "reason"
                    ],
                    "additionalProperties": {}
                  }
                }
              },
              "required": [
                "failed"
              ],
              "additionalProperties": {}
            }
          },
          "required": [
            "promotionId",
            "from",
            "to",
            "version",
            "commitSha",
            "at",
            "actor",
            "outcome",
            "gates"
          ],
          "additionalProperties": {}
        }
      },
      "required": [
        "tenantId",
        "projectId"
      ],
      "additionalProperties": {}
    },
    {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "const": true
        },
        "service": {
          "type": "string"
        },
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "body": {},
              "note": {
                "type": "string"
              }
            },
            "required": [
              "method",
              "path"
            ],
            "additionalProperties": false
          }
        },
        "commands": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "writes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "action": {
                "type": "string",
                "enum": [
                  "write",
                  "append",
                  "delete"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "action",
              "description"
            ],
            "additionalProperties": false
          }
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "dryRun",
        "requests",
        "commands",
        "writes",
        "notes"
      ],
      "additionalProperties": false
    }
  ]
}

See exit codes for the status the process returns.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.