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" --forceBehavior
- Effect:
destructive(deletes or reverts; needs--forcewithout 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.