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. |