Skip to content
Open console

Enter a topic to search documentation.

    Resource schemas

    Generated fields and validation rules for code workspace resources.

    Compatibility and access

    Generated from product commit 6f341b4e6d35 . This is a source snapshot, not a guarantee that your deployment runs this version.

    These resource schemas describe provider configuration. Check your deployed API discovery for the schema installed in your hub. Use the intended workspace context and an identity permitted to read or change the resource. Required fields below are required within their containing object; optional parent objects may be omitted.

    Download complete schemas , including nested validation rules and status definitions. This page covers Kubernetes-style resources; provider HTTP actions and runtime behavior are separate contracts. Return to API reference for those interfaces and related guides.

    Collaborator (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: collaborators · Scope: Cluster

    Source schema

    Terminal
    kubectl explain collaborators.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesCollaboratorSpec is the desired state.
    spec.permissionstringNoPermission defaults to pull when empty. enum: [“pull”, “push”, “admin”]
    spec.repositoryRefstringYesRepositoryRef names the Repository (same workspace) this grant is on. minLength: 1; maxLength: 253
    spec.usernamestringYesUsername is the host login to grant access to. minLength: 1; maxLength: 100
    statusobjectNoCollaboratorStatus is the observed state.
    status.conditionsarray[object]NoConditions follows the standard Kubernetes conditions pattern. The InvitationPending condition is True while the host reports the user has been invited but not yet accepted.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.invitationIDstringNoInvitationID is the host-side id of a pending invitation, set while an outside collaborator has not yet accepted. maxLength: 64
    status.observedGenerationintegerNoObservedGeneration mirrors metadata.generation last reconciled.

    Connection (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: connections · Scope: Cluster

    Source schema

    Terminal
    kubectl explain connections.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesConnectionSpec is the desired state.
    spec.baseURLstringNoBaseURL overrides the default git host endpoint for self-hosted installs (GitHub Enterprise Server, self-managed GitLab). Empty targets the provider’s public SaaS endpoint. maxLength: 2048
    spec.ownerstringYesOwner is the org or user under which repositories created via this Connection land. Must be an account the credential can write to. minLength: 1; maxLength: 100
    spec.providerstringYesProvider names the git hosting sub-provider. v1: github. enum: [“github”]
    spec.secretRefobjectYesSecretRef points at the Secret in the tenant workspace holding the credential. For type=pat the default key is “token”.
    spec.secretRef.keystringNoKey is the entry within the Secret’s data holding the value. For a Connection PAT this defaults to “token”; for a DeployKey private key the controller writes “ssh-privatekey”. maxLength: 253
    spec.secretRef.namestringYesName of the Secret. minLength: 1; maxLength: 253
    spec.secretRef.namespacestringNoNamespace of the Secret. Empty resolves to the provider’s convention namespace (“default”). maxLength: 253
    spec.typestringYesType selects the credential model. v1: pat. enum: [“pat”, “github-app”, “oauth”]
    statusobjectNoConnectionStatus is the observed state.
    status.conditionsarray[object]NoConditions follows the standard Kubernetes conditions pattern. The Validated condition is True once the credential authenticates.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.loginstringNoLogin is the authenticated account the credential resolved to (e.g. the GitHub login). Empty until first successful validation. maxLength: 100
    status.observedGenerationintegerNoObservedGeneration mirrors metadata.generation last reconciled.
    status.scopesarray[string]NoScopes lists the granted token scopes the git host reported, when discoverable (GitHub returns them on the X-OAuth-Scopes header).

    DeployKey (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: deploykeys · Scope: Cluster

    Source schema

    Terminal
    kubectl explain deploykeys.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesDeployKeySpec is the desired state.
    spec.publicKeystringNoPublicKey is an OpenSSH-format public key to register (bring your own). When empty the controller generates an ed25519 keypair and writes the private half to status.secretRef. maxLength: 8192
    spec.readOnlybooleanNoReadOnly registers the key without write (push) access.
    spec.repositoryRefstringYesRepositoryRef names the Repository (same workspace) this key is installed on. minLength: 1; maxLength: 253
    spec.titlestringNoTitle is the human-readable label shown on the host. Empty uses metadata.name. maxLength: 255
    statusobjectNoDeployKeyStatus is the observed state.
    status.conditionsarray[object]NoConditions follows the standard Kubernetes conditions pattern.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.keyIDstringNoKeyID is the host-side id of the registered key. maxLength: 64
    status.observedGenerationintegerNoObservedGeneration mirrors metadata.generation last reconciled.
    status.secretRefobjectNoSecretRef points at the Secret holding the generated private key (key “ssh-privatekey”). Only set when the controller generated the keypair (spec.publicKey was empty). The Secret is owned by this CR.
    status.secretRef.keystringNoKey is the entry within the Secret’s data holding the value. For a Connection PAT this defaults to “token”; for a DeployKey private key the controller writes “ssh-privatekey”. maxLength: 253
    status.secretRef.namestringYesName of the Secret. minLength: 1; maxLength: 253
    status.secretRef.namespacestringNoNamespace of the Secret. Empty resolves to the provider’s convention namespace (“default”). maxLength: 253

    Package (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: packages · Scope: Cluster

    Source schema

    Terminal
    kubectl explain packages.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesPackageSpec links the Package back to its owning Repository. Authored by the PackageController on create and immutable thereafter — everything observed is in status.
    spec.repositoryRefstringYesRepositoryRef names the Repository (same workspace) this package is published under. Also mirrored onto the LabelRepository label so the portal can list a repository’s packages with a label selector. minLength: 1; maxLength: 253
    statusobjectNoPackageStatus is the observed package metadata as last crawled from the host.
    status.conditionsarray[object]NoConditions follows the standard Kubernetes conditions pattern.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.htmlURLstringNoHTMLURL links to the package’s browser page. maxLength: 2048
    status.imageRepositorystringNoImageRepository is the pullable registry path (no tag/digest) for image packages, e.g. “ghcr.io/owner/repo/component”. Combine with a version’s digest to form a deployable reference. Empty for non-image packages. maxLength: 512
    status.lastSyncTimestringNoLastSyncTime is when the crawler last refreshed this package from the host.
    status.observedGenerationintegerNoObservedGeneration mirrors metadata.generation last reconciled.
    status.packageNamestringNoPackageName is the package’s name on the host (the artifact name, which may differ from the Kubernetes object name). maxLength: 255
    status.typestringNoType is the package ecosystem: container | docker | npm | maven | rubygems | nuget. maxLength: 32
    status.updatedAtstringNoUpdatedAt is the host’s last-updated time in RFC3339, or "" when unknown. maxLength: 64
    status.versionCountintegerNoVersionCount is how many versions the host reports (0 when unknown).
    status.versionsarray[object]NoVersions is a bounded, most-recent-first list of the package’s published versions with their tags and digest (populated for container/docker packages). It lets consumers resolve a build tag such as “sha-<commit>” to an immutable image digest. maxItems: 100
    status.versions[].createdAtstringNoCreatedAt is the version’s creation time in RFC3339, or "" when unknown. maxLength: 64
    status.versions[].digeststringNoDigest is the version’s immutable content digest, e.g. “sha256:…”. maxLength: 256
    status.versions[].tagsarray[string]NoTags are the tags pointing at this digest (e.g. “sha-<commit>”, “latest”). maxItems: 64
    status.visibilitystringNoVisibility is “public”, “internal”, or “private” (host-reported; may be empty). maxLength: 32

    Repository (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: repositories · Scope: Cluster

    Source schema

    Terminal
    kubectl explain repositories.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesRepositorySpec is the desired state.
    spec.autoInitbooleanNoAutoInit creates an initial commit (README) so the repository has a default branch immediately. Required if DeployKeys/clones must succeed right after creation.
    spec.connectionRefstringYesConnectionRef names the Connection (same workspace) whose credential minLength: 1; maxLength: 253
    spec.defaultBranchstringNoDefaultBranch names the initial default branch. Empty uses the host default (e.g. “main”). maxLength: 255
    spec.descriptionstringNoDescription is set as the repository description on the host. maxLength: 2048
    spec.namestringYesName is the repository name on the git host (the path segment after the owner). DNS-ish; the host enforces its own rules. minLength: 1; maxLength: 100
    spec.ownerstringNoOwner overrides the Connection’s owner for this single repository (e.g. to create under a different org the same credential controls). Empty inherits Connection.spec.owner. maxLength: 100
    spec.visibilitystringNoVisibility defaults to private when empty. enum: [“private”, “public”, “internal”]
    statusobjectNoRepositoryStatus is the observed state.
    status.cloneURLstringNoCloneURL is the HTTPS clone URL. maxLength: 2048
    status.conditionsarray[object]NoConditions follows the standard Kubernetes conditions pattern.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.htmlURLstringNoHTMLURL is the browser URL of the repository. maxLength: 2048
    status.observedGenerationintegerNoObservedGeneration mirrors metadata.generation last reconciled.
    status.repoIDstringNoRepoID is the host-side numeric/opaque id of the repository. maxLength: 64
    status.sshURLstringNoSSHURL is the SSH clone URL (used together with a DeployKey). maxLength: 2048

    RepositoryBuildStatus (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: repositorybuildstatuses · Scope: Cluster

    Source schema

    Terminal
    kubectl explain repositorybuildstatuses.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesRepositoryBuildStatusSpec is the desired inspection/re-run request.
    spec.actionstringNoAction selects status (default) or rerun. enum: [“status”, “rerun”]
    spec.maxLogLinesintegerNoMaxLogLines caps the failure-log tail per failed job (status action). minimum: 1; maximum: 1000
    spec.refstringNoRef is the commit SHA to inspect (status) or the branch to re-run on (rerun). Empty inspects the most recent run / re-runs the default branch. maxLength: 255
    spec.repositoryRefstringYesRepositoryRef names the Repository (same workspace) whose build to inspect. minLength: 1; maxLength: 253
    spec.workflowFileNamestringYesWorkflowFileName is the workflow file to inspect or dispatch (e.g. “faros-app-studio-build.yml”). minLength: 1; maxLength: 255
    statusobjectNoRepositoryBuildStatusStatus is the observed result.
    status.completedAtstringNoNo description supplied by the source schema.
    status.conditionsarray[object]NoNo description supplied by the source schema.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.dispatchedbooleanNoDispatched is true when a rerun action successfully fired.
    status.observedGenerationintegerNoNo description supplied by the source schema.
    status.phasestringNoPhase is the coarse status for clients that do not parse conditions.
    status.runobjectNoRun is the inspected run (status action).
    status.run.conclusionstringNoNo description supplied by the source schema.
    status.run.foundbooleanYesFound is false when no run exists for the request.
    status.run.headSHAstringNoNo description supplied by the source schema.
    status.run.htmlURLstringNoNo description supplied by the source schema.
    status.run.jobsarray[object]NoNo description supplied by the source schema.
    status.run.jobs[].conclusionstringNoConclusion is success | failure | cancelled | … | "" while running.
    status.run.jobs[].failureLogstringNoFailureLog is a bounded tail of the job’s logs, set only for a failed job.
    status.run.jobs[].namestringNoNo description supplied by the source schema.
    status.run.jobs[].statusstringNoStatus is queued | in_progress | completed.
    status.run.runIDintegerNoNo description supplied by the source schema.
    status.run.statusstringNoNo description supplied by the source schema.

    RepositoryCheckout (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: repositorycheckouts · Scope: Cluster

    Source schema

    Terminal
    kubectl explain repositorycheckouts.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesRepositoryCheckoutSpec is the desired checkout operation.
    spec.refstringNoRef is the branch, tag, or commit SHA to read. Empty uses the Repository’s defaultBranch, then the host default. maxLength: 255
    spec.repositoryRefstringYesRepositoryRef names the Repository (same workspace) to read. minLength: 1; maxLength: 253
    statusobjectNoRepositoryCheckoutStatus is the observed result of the checkout operation.
    status.bundleRefobjectNoBundleRef names the provider-owned bundle holding the checked-out files, scoped to this CR’s cluster.
    status.bundleRef.digeststringNoDigest is the expected bundle digest, usually sha256:<hex>. maxLength: 96
    status.bundleRef.namestringYesName is the bundle object’s provider-local name. minLength: 1; maxLength: 253
    status.commitSHAstringNoCommitSHA is the commit the tree was read at. maxLength: 128
    status.completedAtstringNoCompletedAt is when the controller reached a terminal phase.
    status.conditionsarray[object]NoConditions follows the standard Kubernetes conditions pattern.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.observedGenerationintegerNoObservedGeneration mirrors metadata.generation last reconciled.
    status.phasestringNoPhase is the coarse status for clients that do not parse conditions. enum: [“Pending”, “Running”, “Succeeded”, “Failed”]
    status.refstringNoRef is the branch/tag the backend resolved. maxLength: 255
    status.skippedarray[string]NoSkipped lists repository paths the checkout left out (binary content, oversized files, tree/file-count caps), so consumers know the bundle is not the complete tree. maxItems: 100
    status.sourceobjectNoSource records where the checked-out bundle landed, without contents. The bundle is deleted once its consumer reads it, so this reference is short-lived by design.
    status.source.digeststringNoDigest is the bundle digest committed by the controller. maxLength: 96
    status.source.fileCountintegerNoFileCount is the number of files in the bundle.
    status.source.sizeintegerNoSize is the total bundle size in bytes.
    status.startedAtstringNoStartedAt is when the controller first picked up the request.

    RepositoryCommit (v1alpha1)

    API: code.faros.sh/v1alpha1 · Resource: repositorycommits · Scope: Cluster

    Source schema

    Terminal
    kubectl explain repositorycommits.code.faros.sh --api-version=code.faros.sh/v1alpha1 --recursive

    FieldTypeRequired in parentDescription and constraints
    specobjectYesRepositoryCommitSpec is the desired commit operation.
    spec.branchstringNoBranch overrides the repository default branch. Empty uses the Repository’s defaultBranch, then the host/provider default. maxLength: 255
    spec.messagestringNoMessage is the commit message. Empty lets the backend choose a default. maxLength: 512
    spec.repositoryRefstringYesRepositoryRef names the Repository (same workspace) to commit into. minLength: 1; maxLength: 253
    spec.sourceobjectYesSource identifies the provider-owned bundle to commit. File contents are intentionally not stored in this CR.
    spec.source.bundleRefobjectYesBundleRef points at a provider-owned, immutable bundle object.
    spec.source.bundleRef.digeststringNoDigest is the expected bundle digest, usually sha256:<hex>. maxLength: 96
    spec.source.bundleRef.namestringYesName is the bundle object’s provider-local name. minLength: 1; maxLength: 253
    statusobjectNoRepositoryCommitStatus is the observed result of the commit operation.
    status.branchstringNoBranch is the branch the backend committed to. maxLength: 255
    status.commitSHAstringNoCommitSHA is the resulting commit SHA. maxLength: 128
    status.commitURLstringNoCommitURL is the browser URL for the resulting commit. maxLength: 2048
    status.completedAtstringNoCompletedAt is when the controller reached a terminal phase.
    status.conditionsarray[object]NoConditions follows the standard Kubernetes conditions pattern.
    status.conditions[].lastTransitionTimestringYeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
    status.conditions[].messagestringYesmessage is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
    status.conditions[].observedGenerationintegerNoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. minimum: 0
    status.conditions[].reasonstringYesreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. minLength: 1; maxLength: 1024; pattern: “^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$”
    status.conditions[].statusstringYesstatus of the condition, one of True, False, Unknown. enum: [“True”, “False”, “Unknown”]
    status.conditions[].typestringYestype of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316; pattern: “^([a-z0-9]([-a-z0-9][a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$”
    status.filesarray[object]NoFiles records per-file metadata for visibility and debugging. Contents stay in the bundle store. maxItems: 500
    status.files[].deletebooleanNoDelete reports that this path was removed by the commit.
    status.files[].digeststringNoDigest is the file content digest, usually sha256:<hex>. maxLength: 96
    status.files[].pathstringYesPath is the repository-relative file path. minLength: 1; maxLength: 1024
    status.files[].sizeintegerNoSize is the UTF-8 content size in bytes.
    status.observedGenerationintegerNoObservedGeneration mirrors metadata.generation last reconciled.
    status.phasestringNoPhase is the coarse status for clients that do not parse conditions. enum: [“Pending”, “Running”, “Succeeded”, “Failed”]
    status.sourceobjectNoSource records the observed bundle metadata, without file contents.
    status.source.digeststringNoDigest is the bundle digest committed by the controller. maxLength: 96
    status.source.fileCountintegerNoFileCount is the number of files in the bundle.
    status.source.sizeintegerNoSize is the total bundle size in bytes.
    status.startedAtstringNoStartedAt is when the controller first picked up the request.