Asks the service for a one-time link to the Overlane GitHub App’s install page, prints it and waits until the App reaches the GitHub account or organization that holds this project’s repository. The link opens on any device, a phone included, with no Overlane sign-in there; the install is checked against the GitHub account linked to the Overlane account that asked. An install that waits for an organization’s approval keeps the wait going until it is approved. The link works once and expires after 15 minutes. With –no-wait the command prints the link and stops. Once the App reaches the repository, it is mirrored into Overlane with GitHub as the writable side, unless the project already mirrors it or –no-mirror is given; a refused mirror is reported without failing the install.
Usage
overlane github install [--no-wait] [--no-mirror] [--wait-minutes N] [--dry-run]Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--no-wait |
boolean | no | Print the link and stop instead of waiting for the install | |
--no-mirror |
boolean | no | Skip mirroring the repository into Overlane once the App reaches it | |
--wait-minutes |
string | no | How long to wait for the install, at most the link’s 15 minutes (default 15) | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane github install
overlane github install --no-wait
overlane github install --wait-minutes 5 --jsonBehavior
- Effect:
write(changes local or hosted state). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: yes. Accepts--force: no. - Machine-readable description:
overlane schema github install.
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": {
"repository": {
"type": "string"
},
"installed": {
"type": "boolean"
},
"url": {
"type": [
"string",
"null"
]
},
"expiresAt": {
"type": [
"string",
"null"
]
},
"waitingForOwner": {
"type": "boolean"
},
"mirror": {
"anyOf": [
{
"type": "object",
"properties": {
"repoId": {
"type": "string"
},
"name": {
"type": "string"
},
"imported": {
"type": "boolean"
}
},
"required": [
"repoId",
"name",
"imported"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"mirrorError": {
"type": [
"string",
"null"
]
}
},
"required": [
"repository",
"installed",
"url",
"expiresAt",
"waitingForOwner",
"mirror",
"mirrorError"
],
"additionalProperties": false
},
{
"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.