<workflowRun _class='org.jenkinsci.plugins.workflow.job.WorkflowRun'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</SHA1><branch><SHA1>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</SHA1><branch><SHA1>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</SHA1><branch><SHA1>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/deploy-younex-web.git</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'><environment><COMMIT>870ef35</COMMIT><COMMIT_MSG>golden template r27 (VMID 9031): port conflict detection baked in; r26 destroyed</COMMIT_MSG></environment></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://jenkins.younex.de/job/paas-platform/9/artifact</artifactsUrl><changesUrl>https://jenkins.younex.de/job/paas-platform/changes</changesUrl><displayUrl>https://jenkins.younex.de/job/paas-platform/9/</displayUrl><testsUrl>https://jenkins.younex.de/job/paas-platform/9/testReport</testsUrl></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'><restartEnabled>false</restartEnabled><restartableStage>Checkout</restartableStage><restartableStage>Lint</restartableStage><restartableStage>Deploy</restartableStage></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'><node _class='org.jenkinsci.plugins.workflow.graph.FlowStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.graph.FlowEndNode'></node></action><action></action><action></action><action></action><building>false</building><description>870ef35 golden template r27 (VMID 9031): port conflict detection baked in; r26 d</description><displayName>#9</displayName><duration>12848</duration><estimatedDuration>12371</estimatedDuration><fullDisplayName>paas-platform #9</fullDisplayName><id>9</id><keepLog>false</keepLog><number>9</number><queueId>5821</queueId><result>SUCCESS</result><timestamp>1791496387824</timestamp><url>https://jenkins.younex.de/job/paas-platform/9/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>infra/golden-template.md</affectedPath><commitId>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</commitId><timestamp>1791496292000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@logyou.de</authorEmail><comment>golden template r27 (VMID 9031): port conflict detection baked in; r26 destroyed

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</comment><date>2026-10-08 23:51:32 +0200</date><id>870ef35315f9a5500dd2ce6fbb5b8e1002c3b116</id><msg>golden template r27 (VMID 9031): port conflict detection baked in; r26 destroyed</msg><path><editType>edit</editType><file>infra/golden-template.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName><id>info</id></culprit><inProgress>false</inProgress><nextBuild><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>10</buildNumber><marked><SHA1>d0460cf8b806fe5466b38eb73b0b0a4907627e31</SHA1><branch><SHA1>d0460cf8b806fe5466b38eb73b0b0a4907627e31</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>d0460cf8b806fe5466b38eb73b0b0a4907627e31</SHA1><branch><SHA1>d0460cf8b806fe5466b38eb73b0b0a4907627e31</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>d0460cf8b806fe5466b38eb73b0b0a4907627e31</SHA1><branch><SHA1>d0460cf8b806fe5466b38eb73b0b0a4907627e31</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/deploy-younex-web.git</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><action></action><building>false</building><description>d0460cf bootstrap: search.younex.de Caddy host for the Meilisearch site search (</description><displayName>#10</displayName><duration>6978</duration><estimatedDuration>12371</estimatedDuration><fullDisplayName>paas-platform #10</fullDisplayName><id>10</id><keepLog>false</keepLog><number>10</number><queueId>5825</queueId><result>FAILURE</result><timestamp>1791626349698</timestamp><url>https://jenkins.younex.de/job/paas-platform/10/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>bootstrap.sh</affectedPath><commitId>d0460cf8b806fe5466b38eb73b0b0a4907627e31</commitId><timestamp>1791625695000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>bootstrap: search.younex.de Caddy host for the Meilisearch site search (VM 111)

Hand-written host next to panel.caddy so a golden-template refresh keeps it:
browsers reach only /multi-search, /indexes/*/search and /health; the admin
API is limited to the LAN and the cms.dotnews.media egress IP. Straight to
the VM, never through Varnish. Already live on VM 101 (2026-10-10).

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</comment><date>2026-10-10 11:48:15 +0200</date><id>d0460cf8b806fe5466b38eb73b0b0a4907627e31</id><msg>bootstrap: search.younex.de Caddy host for the Meilisearch site search (VM 111)</msg><path><editType>edit</editType><file>bootstrap.sh</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit><inProgress>false</inProgress><previousBuild><number>9</number><url>https://jenkins.younex.de/job/paas-platform/9/</url></previousBuild></nextBuild><previousBuild><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>8</buildNumber><marked><SHA1>b3eac39728b98ecd0a24508a1d160383aec84a2f</SHA1><branch><SHA1>b3eac39728b98ecd0a24508a1d160383aec84a2f</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>b3eac39728b98ecd0a24508a1d160383aec84a2f</SHA1><branch><SHA1>b3eac39728b98ecd0a24508a1d160383aec84a2f</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>b3eac39728b98ecd0a24508a1d160383aec84a2f</SHA1><branch><SHA1>b3eac39728b98ecd0a24508a1d160383aec84a2f</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/deploy-younex-web.git</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><action></action><building>false</building><description>b3eac39 paas: port conflict detection for create/auto-assign + health-gate port </description><displayName>#8</displayName><duration>13444</duration><estimatedDuration>12371</estimatedDuration><fullDisplayName>paas-platform #8</fullDisplayName><id>8</id><keepLog>false</keepLog><number>8</number><queueId>5819</queueId><result>SUCCESS</result><timestamp>1791496147812</timestamp><url>https://jenkins.younex.de/job/paas-platform/8/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>bin/paas</affectedPath><commitId>b3eac39728b98ecd0a24508a1d160383aec84a2f</commitId><timestamp>1791496068000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@logyou.de</authorEmail><comment>paas: port conflict detection for create/auto-assign + health-gate port guard on deploy

Every app owns PORT and PORT+1000 (health gate). 'paas create --port' now refuses a port
that another app uses as PORT or gate port, the panel port, or anything already bound on
the host, and auto-assignment skips those too; 'paas deploy' refuses to gate on a port
another process answers on. Found when kredible-sw was created on logship-landing's port
and the gate health-checked the wrong app.

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</comment><date>2026-10-08 23:47:48 +0200</date><id>b3eac39728b98ecd0a24508a1d160383aec84a2f</id><msg>paas: port conflict detection for create/auto-assign + health-gate port guard on deploy</msg><path><editType>edit</editType><file>bin/paas</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit><inProgress>false</inProgress><nextBuild><number>9</number><url>https://jenkins.younex.de/job/paas-platform/9/</url></nextBuild><previousBuild><number>7</number><url>https://jenkins.younex.de/job/paas-platform/7/</url></previousBuild></previousBuild></workflowRun>