Improve failover controls and preserve manual switching state
Build and Deploy Gateway / build-and-push (push) Failing after 1s
Build and Deploy Gateway / deploy (push) Has been skipped

This commit is contained in:
2026-08-28 19:40:53 +03:00
parent 8f2f418569
commit a84cca0668
30 changed files with 547 additions and 112 deletions
@@ -0,0 +1 @@
{"gateway":"192.168.50.111","interface":"en0","mac":"","observedAt":"2026-08-28T08:14:27.401Z"}
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -0,0 +1 @@
{"schemaVersion":6,"revision":4,"profiles":[{"id":"profile-a","label":"Основной","subscriptionUrl":"https://provider.example/0123456789abcdef0123456789abcdef","subscriptionConfig":{"outbounds":[{"type":"vless","tag":"srv_56f1cee6a72c8e7c","server":"boot.example","server_port":443,"uuid":"00000000-0000-4000-8000-000000000000"}]},"servers":[{"id":"srv_56f1cee6a72c8e7c","label":"Boot VPN","host":"boot.example","port":443,"protocol":"vless","tag":"Boot VPN","server":"boot.example","server_port":443,"type":"vless"}],"userInfo":{},"fetchedAt":null,"desiredServerId":"srv_56f1cee6a72c8e7c","lastRefreshAttemptAt":null,"lastRefreshErrorCode":null}],"desiredProfileId":"profile-a","appliedProfileId":"profile-a","appliedServerId":"srv_56f1cee6a72c8e7c","appliedServerSnapshot":{"id":"srv_56f1cee6a72c8e7c","label":"Boot VPN","host":"boot.example","port":443,"protocol":"vless","tag":"Boot VPN","server":"boot.example","server_port":443,"type":"vless"},"routeRules":[{"type":"domain","value":"api.example.com","enabled":true,"outbound":"vpn"},{"type":"domain_suffix","value":"example.com","enabled":true,"outbound":"direct"}],"appliedRouteRules":[],"routeRulesRevision":0,"connectionDesired":"running"}
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -0,0 +1 @@
{"outbounds":[{"type":"vless","tag":"server-a","server":"a.example","server_port":443},{"type":"direct","tag":"direct"}],"route":{"final":"direct"}}
@@ -0,0 +1 @@
{"schemaVersion":6,"revision":4,"profiles":[{"id":"profile-a","label":"Основной","subscriptionUrl":"https://provider.example/subscription-a","subscriptionConfig":null,"servers":[{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"}],"userInfo":{},"fetchedAt":null,"desiredServerId":"server-a","lastRefreshAttemptAt":null,"lastRefreshErrorCode":null}],"desiredProfileId":"profile-a","appliedProfileId":"profile-a","appliedServerId":"server-a","appliedServerSnapshot":{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"},"routeRules":[],"appliedRouteRules":[],"routeRulesRevision":0,"connectionDesired":"running"}
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -0,0 +1 @@
{"outbounds":[{"type":"vless","tag":"server-b","server":"b.example","server_port":8443},{"type":"direct","tag":"direct"}],"route":{"final":"server-b"}}
@@ -0,0 +1 @@
{"schemaVersion":6,"revision":4,"profiles":[{"id":"profile-a","label":"Основной","subscriptionUrl":"https://provider.example/subscription-a","subscriptionConfig":null,"servers":[{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"}],"userInfo":{},"fetchedAt":null,"desiredServerId":"server-a","lastRefreshAttemptAt":null,"lastRefreshErrorCode":null}],"desiredProfileId":"profile-a","appliedProfileId":"profile-a","appliedServerId":"server-a","appliedServerSnapshot":{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"},"routeRules":[],"appliedRouteRules":[],"routeRulesRevision":0,"connectionDesired":"running"}
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -0,0 +1 @@
{"outbounds":[{"type":"vless","tag":"stale-server","server":"stale.example","server_port":443},{"type":"direct","tag":"direct"}],"route":{"final":"stale-server"}}
@@ -0,0 +1 @@
{"schemaVersion":4,"revision":2,"connectionDesired":"running"}
@@ -0,0 +1 @@
{broken
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -0,0 +1 @@
{"outbounds":[{"type":"vless","tag":"server-a","server":"state.example","server_port":443},{"type":"direct","tag":"direct"}],"route":{"final":"server-a"}}
@@ -0,0 +1 @@
{"schemaVersion":4,"revision":2,"subscriptionUrl":"https://state.example/subscription-a","servers":[{"id":"server-a","label":"State server","host":"state.example","port":443,"protocol":"vless"}],"selectedServerId":"server-a","appliedServerId":"server-a","connectionDesired":"running"}
@@ -0,0 +1 @@
{"url":"https://cache.example/subscription-b","config":{"outbounds":[{"id":"server-b","label":"Cache server","host":"cache.example","port":8443,"protocol":"vless","type":"vless","tag":"Cache server","server":"cache.example","server_port":8443}]},"servers":[{"id":"server-b","label":"Cache server","host":"cache.example","port":8443,"protocol":"vless","type":"vless","tag":"Cache server","server":"cache.example","server_port":8443}]}
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env node
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.12.13');
process.exit(0);
}
process.on('SIGTERM', () => process.exit(0));
setInterval(() => {}, 60_000);