Stub in framework for new .net Open Jibo cloud

This commit is contained in:
Jacob Dubin
2026-04-11 07:12:57 -05:00
parent 0c040d1348
commit 8f838787a0
54 changed files with 1933 additions and 897 deletions

View File

@@ -0,0 +1,34 @@
param(
[string]$LogDirectory = ".",
[string[]]$KnownHosts = @(
"api.jibo.com",
"api-socket.jibo.com",
"neo-hub.jibo.com",
"neohub.jibo.com"
)
)
$resolved = foreach ($host in $KnownHosts) {
try {
$dns = Resolve-DnsName -Name $host -ErrorAction Stop
[pscustomobject]@{
Host = $host
Addresses = ($dns | Where-Object { $_.IPAddress } | Select-Object -ExpandProperty IPAddress) -join ", "
ObservedUtc = [DateTime]::UtcNow.ToString("o")
}
}
catch {
[pscustomobject]@{
Host = $host
Addresses = "<unresolved>"
ObservedUtc = [DateTime]::UtcNow.ToString("o")
}
}
}
$resolved | Tee-Object -Variable rows | Format-Table -AutoSize
$outputPath = Join-Path $LogDirectory "jibo-host-discovery.json"
$rows | ConvertTo-Json -Depth 4 | Set-Content -Path $outputPath
Write-Host "Saved discovery report to $outputPath"

View File

@@ -0,0 +1,23 @@
param(
[string]$TargetIp,
[string[]]$HostNames = @(
"api.jibo.com",
"api-socket.jibo.com",
"neo-hub.jibo.com",
"neohub.jibo.com"
)
)
if ([string]::IsNullOrWhiteSpace($TargetIp)) {
throw "TargetIp is required."
}
$entries = foreach ($host in $HostNames) {
[pscustomobject]@{
Host = $host
TargetIp = $TargetIp
HostsFileLine = "$TargetIp`t$host"
}
}
$entries | Format-Table -AutoSize

View File

@@ -0,0 +1,9 @@
# Bootstrap Scripts
These scripts support the first OpenJibo recovery path:
- discover which hosts the robot is trying to reach
- generate DNS override records for a controlled environment
- verify that the robot-facing domains resolve and answer as expected
They are intentionally non-destructive.

View File

@@ -0,0 +1,30 @@
param(
[string[]]$Hosts = @(
"https://api.jibo.com/health",
"https://api-socket.jibo.com/",
"https://neo-hub.jibo.com/v1/proactive"
)
)
foreach ($url in $Hosts) {
try {
$response = Invoke-WebRequest -Uri $url -Method Get -SkipCertificateCheck -ErrorAction Stop
[pscustomobject]@{
Url = $url
StatusCode = $response.StatusCode
Success = $true
}
}
catch {
$statusCode = $null
if ($_.Exception.Response -and $_.Exception.Response.StatusCode) {
$statusCode = [int]$_.Exception.Response.StatusCode
}
[pscustomobject]@{
Url = $url
StatusCode = $statusCode
Success = $false
}
}
}