<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CrewForge on Kubemoot</title><link>https://kubemoot.org/docs/ecosystem/crewforge/</link><description>Recent content in CrewForge on Kubemoot</description><generator>Hugo</generator><language>en</language><atom:link href="https://kubemoot.org/docs/ecosystem/crewforge/index.xml" rel="self" type="application/rss+xml"/><item><title>Install and connect</title><link>https://kubemoot.org/docs/ecosystem/crewforge/install-and-connect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubemoot.org/docs/ecosystem/crewforge/install-and-connect/</guid><description>&lt;p&gt;CrewForge installs from a &lt;code&gt;.vsix&lt;/code&gt; file and connects through the kubeconfig you already
use. This page covers the prerequisites, the install, how CrewForge chooses a cluster,
and what it tells you when it cannot reach one.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;You need&lt;/th&gt;
 &lt;th&gt;For&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;VS Code 1.95 or later&lt;/td&gt;
 &lt;td&gt;Running the extension.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;A kubeconfig with access to a cluster that runs the &lt;a href="../../../introduction/installation/"&gt;Kubemoot operator&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Everything. CrewForge lists the crews your account can read.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kubectl&lt;/code&gt; on your PATH&lt;/td&gt;
 &lt;td&gt;Deploying a bundle of plain manifests (&lt;code&gt;kubectl apply --server-side&lt;/code&gt;).&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;helm&lt;/code&gt; on your PATH&lt;/td&gt;
 &lt;td&gt;Deploying a crew chart, and Lint. Without it, Lint says where to get it.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="../../../user-guides/kmctl/#install"&gt;&lt;code&gt;kmctl&lt;/code&gt;&lt;/a&gt; on your PATH, a current release (its &lt;code&gt;kmctl create&lt;/code&gt; takes &lt;code&gt;--display-name&lt;/code&gt;)&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;New Kubemoot Crew Here&lt;/strong&gt; and &lt;strong&gt;Create Crew&lt;/strong&gt;, which run &lt;code&gt;kmctl create --chart&lt;/code&gt; to scaffold the starter crew. CrewForge checks kmctl before it asks you anything and names the minimum it needs.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;git&lt;/code&gt; on your PATH (optional)&lt;/td&gt;
 &lt;td&gt;Recording the revision a crew was deployed from, and deploying an earlier commit.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Browsing crews and chatting need only the kubeconfig. Developing a crew needs the rest.
Your account&amp;rsquo;s cluster permissions are listed in
&lt;a href="../settings-and-permissions/#what-your-account-needs"&gt;Settings and permissions&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Develop a crew in VS Code</title><link>https://kubemoot.org/docs/ecosystem/crewforge/develop-a-crew/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubemoot.org/docs/ecosystem/crewforge/develop-a-crew/</guid><description>&lt;p&gt;This guide walks the whole loop on one small example: a &lt;code&gt;helpdesk&lt;/code&gt; crew scaffolded from
the starter crew, a read-only guide to its own Kubernetes namespace. You create it, change
it, deploy it to a namespace, ask it something, and redeploy after an edit. Everything happens in
the editor, without GitOps: CrewForge deploys with Helm straight to a namespace, and
never commits or pushes. Flux rollouts stay the outer loop.&lt;/p&gt;</description></item><item><title>Views and dashboards</title><link>https://kubemoot.org/docs/ecosystem/crewforge/views-and-dashboards/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubemoot.org/docs/ecosystem/crewforge/views-and-dashboards/</guid><description>&lt;p&gt;This page is the reference. For a guided tour, see
&lt;a href="../develop-a-crew/"&gt;Develop a crew in VS Code&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="what-crewforge-changes"&gt;What CrewForge changes&lt;/h2&gt;
&lt;p&gt;CrewForge applies only Kubemoot custom resources and Helm releases of them. It never
deletes a namespace or any other kind of object; the operator owns cleanup through
finalizers and owner references. &lt;strong&gt;Add &lt;Kind&gt;&amp;hellip;&lt;/strong&gt; and &lt;strong&gt;Remove from Source&amp;hellip;&lt;/strong&gt; change
only files of a source. Anything that deletes files, such as &lt;strong&gt;Delete Source&amp;hellip;&lt;/strong&gt;,
moves them to your trash. Actions that only read are marked &amp;ldquo;nothing&amp;rdquo; in the
&lt;a href="https://kubemoot.org/docs/ecosystem/crewforge/views-and-dashboards/#action-reference"&gt;action reference&lt;/a&gt; below.&lt;/p&gt;</description></item><item><title>Fitness from the editor</title><link>https://kubemoot.org/docs/ecosystem/crewforge/fitness/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubemoot.org/docs/ecosystem/crewforge/fitness/</guid><description>&lt;p&gt;&lt;a href="../../../fitness/kubemoot-crew-fitness-functions/"&gt;Fitness functions&lt;/a&gt; measure whether a
crew does its job. CrewForge runs them, shows their results, and lets you hold or end a
run, all against the same Kubemoot resources &lt;code&gt;kubectl&lt;/code&gt; and &lt;code&gt;kmctl&lt;/code&gt; use. Writing the
scenarios themselves is covered in
&lt;a href="../../../user-guides/define-fitness-functions/"&gt;Define Fitness Functions&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="your-scenarios"&gt;Your scenarios&lt;/h2&gt;
&lt;p&gt;A crew source keeps its fitness definitions in a &lt;code&gt;fitness/&lt;/code&gt; folder, inside a chart or
beside a bundle. Expand &lt;strong&gt;Fitness Scenarios&lt;/strong&gt; under a source to list them: the scripts of
each CrewFitnessSuite, each CrewFitness, and loose &lt;code&gt;.adl&lt;/code&gt; (ADL) and &lt;code&gt;.md&lt;/code&gt; (prose) scripts.&lt;/p&gt;</description></item><item><title>Settings and permissions</title><link>https://kubemoot.org/docs/ecosystem/crewforge/settings-and-permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubemoot.org/docs/ecosystem/crewforge/settings-and-permissions/</guid><description>&lt;h2 id="settings"&gt;Settings&lt;/h2&gt;
&lt;p&gt;Open &lt;strong&gt;Settings&lt;/strong&gt; in VS Code and search for &lt;code&gt;crewforge&lt;/code&gt;.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Setting&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crewforge.kubeconfig&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;empty&lt;/td&gt;
 &lt;td&gt;Path to a kubeconfig file. Empty uses &lt;code&gt;KUBECONFIG&lt;/code&gt;, then &lt;code&gt;~/.kube/config&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crewforge.context&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;empty&lt;/td&gt;
 &lt;td&gt;Kubernetes context to use. Empty uses the kubeconfig&amp;rsquo;s current context.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crewforge.namespaces&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Show crews only in these namespaces. Set it when your account may read only some namespaces. Empty shows every namespace you can read.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crewforge.streamTimeoutSeconds&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Longest a single turn may stream before CrewForge gives up on it. The minimum is 60.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crewforge.dashboardService&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;empty&lt;/td&gt;
 &lt;td&gt;The Kubemoot dashboard&amp;rsquo;s Service as &lt;code&gt;namespace/name:port&lt;/code&gt;. CrewForge reads it through the Kubernetes service proxy, read-only, for thread counts, discussion failures, fitness scores, and archived iterations. Empty finds the Service labelled &lt;code&gt;app.kubernetes.io/part-of=kubemoot&lt;/code&gt; whose &lt;code&gt;app.kubernetes.io/name&lt;/code&gt; is &lt;code&gt;dashboard&lt;/code&gt; (the operator chart&amp;rsquo;s subchart) or &lt;code&gt;kubemoot-dashboard&lt;/code&gt; (a standalone install). Add an optional base path, &lt;code&gt;namespace/name:port/base&lt;/code&gt;, when the dashboard serves under a path such as &lt;code&gt;/dashboard&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crewforge.dashboardUrl&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;empty&lt;/td&gt;
 &lt;td&gt;The address of the &lt;a href="../../../operating/dashboard/"&gt;Kubemoot dashboard&lt;/a&gt; for this cluster. &lt;strong&gt;Powered by Kubemoot&lt;/strong&gt; in a chat opens it, and &lt;strong&gt;Open this turn in the Kubemoot dashboard&lt;/strong&gt; appears under an answer only when this is set. Behind a &lt;code&gt;kubectl port-forward&lt;/code&gt;, use the local address. Empty makes &lt;strong&gt;Powered by Kubemoot&lt;/strong&gt; open this setting.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The Kubemoot dashboard is optional. Without it, the parts of the crew and fitness
dashboards that come from it (discussion counts, agent failures, judge scores, and the
results workbook download) say they are not available.&lt;/p&gt;</description></item><item><title>Troubleshooting</title><link>https://kubemoot.org/docs/ecosystem/crewforge/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubemoot.org/docs/ecosystem/crewforge/troubleshooting/</guid><description>&lt;h2 id="where-the-logs-are"&gt;Where the logs are&lt;/h2&gt;
&lt;p&gt;CrewForge writes to its own output channel. Open &lt;strong&gt;View &amp;gt; Output&lt;/strong&gt; and choose
&lt;strong&gt;CrewForge&lt;/strong&gt; from the drop-down. It holds page errors, Lint failures, and the output of
the &lt;code&gt;helm&lt;/code&gt; and &lt;code&gt;kubectl&lt;/code&gt; commands behind a deploy, redeploy, or undeploy. A failed deploy
opens it for you. A failed &lt;code&gt;kmctl create&lt;/code&gt; shows kmctl&amp;rsquo;s own message in a dialog.&lt;/p&gt;
&lt;p&gt;For a bug report, run &lt;strong&gt;CrewForge: Show Connection Info&lt;/strong&gt; and use its &lt;strong&gt;Copy&lt;/strong&gt; button. It
gives CrewForge&amp;rsquo;s version, the Kubemoot operator&amp;rsquo;s version, the Kubernetes server version,
and the context and server address.&lt;/p&gt;</description></item></channel></rss>