Files
f0d695ec97
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
QRun-IO/ci-policy: ci / original-cli (push) Skipped
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Failing after 7s
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: ci / ci-result (push) Failing after 6s
QRun-IO/ci-policy: native / native-result (push) Successful in 6s
chore: preserve paused QBit work and document remaining issues
Save the current implementation and README, status, and known-issue documentation at the user-requested stop. No completed release or deployment is claimed.

Co-Authored-By: Claude <noreply@anthropic.com>

Co-Authored-By: GPT-6 Codex <noreply@openai.com>
2026-11-04 10:45:28 -06:00

50 lines
3.1 KiB
Plaintext

// Documentation example only: not a new configuration loader or application entrypoint.
// The host supplies a verified SSLContext, secret-backed stable coordinator key,
// reviewed deployment evidence, existing backend, and declared least-authority identity.
import javax.net.ssl.SSLContext;
import java.time.Duration;
import java.util.Set;
import com.kingsrook.qbits.scripting.ScriptingQBitConfig;
import com.kingsrook.qbits.scripting.build.BuildCoordinator;
import com.kingsrook.qbits.scripting.rdbms.RdbmsScriptingTransactionPolicy;
import com.kingsrook.qbits.scripting.service.ScriptingRuntime;
import com.kingsrook.qbits.scripting.service.WarmReconciliationConfig;
import com.kingsrook.qbits.scripting.worker.PersistentWorkerProvider;
import com.kingsrook.qbits.scripting.worker.WorkerMessages.ExecutionLimits;
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
import com.kingsrook.qqq.backend.core.serviceidentity.QServicePrincipalMetaData;
import com.kingsrook.qqq.backend.core.serviceidentity.ServiceIdentitiesMetaData;
final class ApplicationConnection
{
static ScriptingQBitConfig configure(QInstance instance, String backendName,
SSLContext applicationMtls, byte[] coordinatorKey, String coordinatorId,
String reviewedEvidenceId, QServicePrincipalMetaData warmPrincipal)
{
String toolchain = "typescript-6.0.3-node-24";
// These are example operator DNS names, not automatic Kubernetes discovery.
// Server certificate SANs must match the exact names passed here.
var transport = new PersistentWorkerProvider.Configuration(applicationMtls,
new PersistentWorkerProvider.Endpoint("scripting-execution.workers.svc.cluster.local", 18443),
new PersistentWorkerProvider.Endpoint("scripting-compiler.workers.svc.cluster.local", 18444),
"application-v1", "wasm-64m-v1", toolchain, reviewedEvidenceId, reviewedEvidenceId,
Duration.ofSeconds(30), 4, 2, 64, 8L * 1024 * 1024);
var worker = new PersistentWorkerProvider(transport, 2);
// Host must grant this declared principal scripting.warm, scripting.view and
// current project/source-metadata visibility under its tenant/credential policy.
// It must not inherit an initiating user's session or source-record privileges.
ServiceIdentitiesMetaData.ofOrWithNew(instance).withPrincipal(warmPrincipal);
var runtime = new ScriptingRuntime().withWorker(worker)
.withCoordinator(new BuildCoordinator(coordinatorId, coordinatorKey, toolchain))
.withRequiredQualificationId(reviewedEvidenceId)
.withTransactionPolicy(new RdbmsScriptingTransactionPolicy())
.withLimits(ExecutionLimits.hookDefaults())
.withWarmReconciliation(new WarmReconciliationConfig(warmPrincipal.getName(),
Set.of("purchaseOrder"), 100, 8L * 1024 * 1024,
Duration.ofSeconds(10), Duration.ofSeconds(20), Duration.ofSeconds(60)));
// Existing producer/native application lifecycle owns registration/start/stop.
// Do not connect/prepare from record execution or start a separate timer.
return (new ScriptingQBitConfig().withBackendName(backendName).withRuntime(runtime));
}
}