Skip to content

API Reference

Packages

solar.opendefense.cloud/v1alpha1

Package v1alpha1 is the v1alpha1 version of the API.

BootstrapConfig

BootstrapConfig defines the render config for a bootstrap.

Appears in: - RenderTaskSpec - RendererConfig

Field Description Default Validation
chart ChartConfig Chart is the ChartConfig for the rendered chart.
input BootstrapInput Input is the input of the bootstrap.

BootstrapInput

BootstrapInput defines the inputs to render a bootstrap.

Appears in: - BootstrapConfig

Field Description Default Validation
releases object (keys:string, values:ResourceAccess)
userdata RawExtension Userdata is additional data to be rendered into the bootstrap chart values.

ChartConfig

ChartConfig defines parameters for the rendered chart.

Appears in: - BootstrapConfig - ReleaseConfig

Field Description Default Validation
name string Name is the name of the chart.
description string Description is the description of the chart.
version string Version is the version of the chart.
appVersion string AppVersion is the version of the app.

Component

Component represents an OCM component available in the solution catalog.

Appears in: - ComponentList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ComponentSpec
status ComponentStatus

ComponentSpec

ComponentSpec defines the desired state of a Component. It contains metadata about an OCM component's repository location

Appears in: - Component

Field Description Default Validation
scheme string Scheme is the scheme to access the component.
registry string Registry is the registry where the component is stored.
repository string Repository is the repository where the component is stored.

ComponentStatus

ComponentStatus defines the observed state of a Component.

Appears in: - Component

ComponentVersion

ComponentVersion represents an OCM component available in the solution catalog.

Appears in: - ComponentVersionList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ComponentVersionSpec
status ComponentVersionStatus

ComponentVersionSpec

ComponentVersionSpec defines the desired state of a ComponentVersion.

Appears in: - ComponentVersion

Field Description Default Validation
componentRef LocalObjectReference ComponentRef is a reference to the parent Component.
tag string Tag is a version of the component.
resources object (keys:string, values:ResourceAccess) Resources are Resources that are within the ComponentVersion.
entrypoint Entrypoint Entrypoint is the entrypoint for deploying a ComponentVersion.

ComponentVersionStatus

ComponentVersionStatus defines the observed state of a ComponentVersion.

Appears in: - ComponentVersion

Entrypoint

Entrypoint defines the entrypoint for deploying a ComponentVersion.

Appears in: - ComponentVersionSpec - ReleaseInput

Field Description Default Validation
resourceName string ResourceName is the Name of the Resource to use as the entrypoint.
type EntrypointType Type of entrypoint.

EntrypointType

Underlying type: string

EntrypointType is the Type of Entrypoint.

Appears in: - Entrypoint

Field Description
kro
helm

Profile

Profile represents the link between a Release and a set of matching Targets the Release is intended to be deployed to.

Appears in: - ProfileList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ProfileSpec
status ProfileStatus

ProfileSpec

ProfileSpec defines the desired state of a Profile. It points to a Release and defines target selection criteria for Targets this Release is intended to be deployed to.

Appears in: - Profile

Field Description Default Validation
releaseRef LocalObjectReference ReleaseRef is a reference to a Release.
It points to the Release that is intended to be deployed to all Targets identified
by the TargetSelector.
Required: {}
targetSelector LabelSelector TargetSelector is a label-based filter to identify the Targets this Release is
intended to be deployed to.
userdata RawExtension Userdata contains arbitrary custom data or configuration which is passed to all
Targets associated with this Profile.

ProfileStatus

ProfileStatus defines the observed state of a Profile.

Appears in: - Profile

Field Description Default Validation
matchedTargets integer MatchedTargets is the total number of Targets matching the target selection criteria.
conditions Condition array Conditions represent the latest available observations of the Profile's state.

Registry

Registry represents an OCI registry that can be used as a source or destination for artifacts.

Appears in: - RegistryList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec RegistrySpec
status RegistryStatus

RegistryBinding

RegistryBinding declares that a specific Target is allowed to use a specific Registry.

Appears in: - RegistryBindingList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec RegistryBindingSpec
status RegistryBindingStatus

RegistryBindingSpec

RegistryBindingSpec defines the desired state of a RegistryBinding.

Appears in: - RegistryBinding

Field Description Default Validation
targetRef LocalObjectReference TargetRef references the Target this binding applies to.
registryRef LocalObjectReference RegistryRef references the Registry being bound.

RegistryBindingStatus

RegistryBindingStatus defines the observed state of a RegistryBinding.

Appears in: - RegistryBinding

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of a RegistryBinding's state.

RegistrySpec

RegistrySpec defines the desired state of a Registry.

Appears in: - Registry

Field Description Default Validation
hostname string Hostname is the registry endpoint (e.g. "registry.example.com:5000").
plainHTTP boolean PlainHTTP uses HTTP instead of HTTPS for connections to this registry.
solarSecretRef LocalObjectReference SolarSecretRef references a Secret in the same namespace with credentials
to access this registry from the SolAr cluster. Required if this registry
is used as a render target.
targetSecretRef TargetSecretReference TargetSecretRef describes where the credentials secret lives in the target cluster.
Used by the target agent for pull access.

RegistryStatus

RegistryStatus defines the observed state of a Registry.

Appears in: - Registry

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of a Registry's state.

Release

Release represents a specific deployment instance of a component. It combines a component version with deployment values and configuration for a particular use case.

Appears in: - ReleaseList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ReleaseSpec
status ReleaseStatus

ReleaseBinding

ReleaseBinding declares that a Release should be deployed to a Target.

Appears in: - ReleaseBindingList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ReleaseBindingSpec
status ReleaseBindingStatus

ReleaseBindingSpec

ReleaseBindingSpec defines the desired state of a ReleaseBinding.

Appears in: - ReleaseBinding

Field Description Default Validation
targetRef LocalObjectReference TargetRef references the Target this release is bound to.
releaseRef LocalObjectReference ReleaseRef references the Release to deploy.

ReleaseBindingStatus

ReleaseBindingStatus defines the observed state of a ReleaseBinding.

Appears in: - ReleaseBinding

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of a ReleaseBinding's state.

ReleaseComponent

ReleaseComponent is a reference to a component.

Appears in: - ReleaseInput

Field Description Default Validation
name string Name is the name of the component.

ReleaseConfig

ReleaseConfig defines the render config for a release.

Appears in: - RenderTaskSpec - RendererConfig

Field Description Default Validation
chart ChartConfig Chart is the ChartConfig for the rendered chart.
input ReleaseInput Input is the input of the release.
targetNamespace string TargetNamespace is the namespace the Component gets deployed to.
values RawExtension Values are additional values to be rendered into the release chart.

ReleaseInput

ReleaseInput defines the inputs to render a release.

Appears in: - ReleaseConfig

Field Description Default Validation
component ReleaseComponent Component is a reference to the component.
resources object (keys:string, values:ResourceAccess) Resources is the map of resources in the component.
entrypoint Entrypoint Entrypoint is the resource to be used as an entrypoint for deployment.

ReleaseSpec

ReleaseSpec defines the desired state of a Release. It specifies which component version to release and its deployment configuration.

Appears in: - Release

Field Description Default Validation
componentVersionRef LocalObjectReference ComponentVersionRef is a reference to the ComponentVersion to be released.
It points to the specific version of a component that this release is based on.
targetNamespace string TargetNamespace is the namespace the ComponentVersion gets deployed to.
values RawExtension Values contains deployment-specific values or configuration for the release.
These values override defaults from the component version and are used during deployment.
failedJobTTL integer failedJobTTL is the TTL in seconds after which a failed render job and its secrets are cleaned up.
After this duration, the Kubernetes TTL controller will delete the Job and the controller will delete
the Secrets (ConfigSecret, AuthSecret). On success, Job and Secrets are deleted immediately.
If not set, defaults to 3600 (1 hour).

ReleaseStatus

ReleaseStatus defines the observed state of a Release.

Appears in: - Release

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of a Release's state.
renderTaskRef ObjectReference RenderTaskRef is a reference to the RenderTask responsible for this Release.
chartURL string ChartURL represents the URL of where the rendered chart was pushed to.

RenderTask

RenderTask manages a rendering job

Appears in: - RenderTaskList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec RenderTaskSpec
status RenderTaskStatus

RenderTaskSpec

RenderTaskSpec holds the specification for a RenderTask

Appears in: - RenderTask

Field Description Default Validation
type RendererConfigType Type defines the output type of the renderer.
release ReleaseConfig ReleaseConfig is a config for a release.
bootstrap BootstrapConfig BootstrapConfig is a config for a bootstrap.
repository string Repository is the Repository where the chart will be pushed to (e.g. charts/mychart)
tag string Tag is the Tag of the helm chart to be pushed.
Make sure that the tag matches the version in Chart.yaml, otherwise helm
will error before pushing.
baseURL string BaseURL is the registry URL to push the rendered chart to (e.g. "registry.example.com:5000").
pushSecretRef LocalObjectReference PushSecretRef references a Secret in the same namespace with registry credentials
for pushing the rendered chart.
failedJobTTL integer failedJobTTL is the TTL in seconds after which a failed render job and its secrets are cleaned up.
After this duration, the Kubernetes TTL controller will delete the Job and the controller will delete
the Secrets (ConfigSecret, AuthSecret). On success, Job and Secrets are deleted immediately.
If not set, defaults to 3600 (1 hour).
ownerName string OwnerName is the name of the resource that created this RenderTask. MinLength: 1
ownerNamespace string OwnerNamespace is the namespace of the resource that created this RenderTask. MinLength: 1
ownerKind string OwnerKind is the kind of the resource that created this RenderTask (e.g. Release, Target). MinLength: 1

RenderTaskStatus

RenderTaskStatus holds the status of the rendering process

Appears in: - RenderTask

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of a RenderTask's state.
jobRef ObjectReference JobRef is a reference to the Job that is executing the rendering.
configSecretRef ObjectReference ConfigSecretRef is a reference to the Secret containing the renderer configuration.
chartURL string ChartURL represents the URL of where the rendered chart was pushed to.

RendererConfig

RendererConfig defines the configuration for the renderer.

Appears in: - RenderTaskSpec

Field Description Default Validation
type RendererConfigType Type defines the output type of the renderer.
release ReleaseConfig ReleaseConfig is a config for a release.
bootstrap BootstrapConfig BootstrapConfig is a config for a bootstrap.

RendererConfigType

Underlying type: string

RendererConfigType is the output type of the renderer.

Appears in: - RenderTaskSpec - RendererConfig

Field Description
bootstrap
release
profile

ResourceAccess

ResourceAccess defines how a Resource can be accessed.

Appears in: - BootstrapInput - ComponentVersionSpec - ReleaseInput

Field Description Default Validation
repository string Repository of the Resource.
insecure boolean Insecure switches TLS/HTTPS off if true
tag string Tag of the Resource.

Target

Target represents a deployment target environment. It defines the intended state of releases and configuration for a specific deployment target, such as a cluster or environment.

Appears in: - TargetList

Field Description Default Validation
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec TargetSpec
status TargetStatus

TargetSecretReference

TargetSecretReference is a reference to a Secret in a target cluster.

Appears in: - RegistrySpec

Field Description Default Validation
name string Name is the name of the Secret.
namespace string Namespace is the namespace of the Secret.

TargetSpec

TargetSpec defines the desired state of a Target. It specifies the render registry and configuration for this deployment target.

Appears in: - Target

Field Description Default Validation
renderRegistryRef LocalObjectReference RenderRegistryRef references the Registry to push rendered desired state to.
The referenced Registry must have SolarSecretRef set for rendering to succeed.
userdata RawExtension Userdata contains arbitrary custom data or configuration specific to this target.
This enables target-specific customization and deployment parameters.

TargetStatus

TargetStatus defines the observed state of a Target.

Appears in: - Target

Field Description Default Validation
bootstrapVersion integer BootstrapVersion is a monotonically increasing counter used as the bootstrap
chart version. It is incremented each time the bootstrap chart is re-rendered,
e.g. when the set of bound releases changes.
conditions Condition array Conditions represent the latest available observations of a Target's state.