website

Website CRD, GVK: demo.inrun.dev/v1alpha1, Kind=Website

healthy website-with-serviceaccount 0.1.0 uptime 3h24m52s

Overview

website is a custom resource managed by the website-with-serviceaccount operator running on Inrun. Resources of this type are namespace-scoped.

FieldValue
API Versiondemo.inrun.dev/v1alpha1
KindWebsite
GVR (plural)demo.inrun.dev/v1alpha1, Resource=websites
ScopeNamespaced
Cross-read access ✓ allowed — sibling operators may read this CRD's CR state via cross:

Reconcile Mode

This CRD runs in dynamic mode: Inrun works with the unstructured object, and no Go types are compiled in.

It is reconciled declaratively: the Blueprint's onCreate and onReconcile templates, with expressions like {{ .spec.field }}, become the CR's children and status.

Whatever the reconciler, the runtime owns the lifecycle: Inrun's finalizer, managed labels, applying and pruning children, events, metrics, health, and holding a deleted CR until its finalizing reconcile is done.


Configuration

The operator maintains 3 worker goroutines to process reconcile events concurrently. Each worker dequeues one CR key at a time, reconciles it, and returns. The queue has a maximum depth of 500 events.

Inrun resyncs all managed resources every 15s by re-enqueueing every CR key. This ensures drift caused by external changes is corrected even without a Kubernetes watch event.


Child Resources

When the operator reconciles a website instance it creates and manages the following Kubernetes resources on its behalf. These are owned by the CR via owner references and are deleted automatically when the CR is deleted (unless deletion protection is active).

Resources listed under onCreate are created on the first reconcile. Resources listed under onReconcile are re-applied on every reconcile cycle. A resource appearing in both phases is created once and kept in sync thereafter.

Kind Count Lifecycle phases
Deployment 1 onCreate
Service 1 onCreate
ServiceAccount 1 onCreate

To see the actual child resources created for a running instance, navigate to the instance's detail page from the website-with-serviceaccount control panel.


operatorBox

Summary of the reconciler configuration declared in the Blueprint for this CRD.

FeatureConfiguredDetail
Hooks — No reconcile hooks
Constructor — None
Finalizers 1 inrun.dev/cleanup

kubectl Reference

Use the commands below to interact with website resources from the command line.

List resources

kubectl get website -n <namespace>

Describe a resource

kubectl describe website <name> -n <namespace>

Get YAML

kubectl get website <name> -n <namespace> -o yaml

Watch for changes

kubectl get website -n <namespace> -w

Delete a resource

kubectl delete website <name> -n <namespace>

Filter by Inrun managed label

kubectl get website -l inrun.dev/managed=true -n <namespace>

Access Control

The operator holds the following RBAC permissions to manage website resources. 1 deployments, 1 serviceaccounts, 1 services, 1 websites, 1 websites/status

API GroupsResourcesVerbs
demo.inrun.dev websites get list watch create update patch delete
demo.inrun.dev websites/status get update patch
core serviceaccounts get list watch create update patch delete
apps deployments get list watch create update patch delete
core services get list watch create update patch delete

Endpoints

Inrun exposes per-CRD HTTP endpoints for health reporting and runtime introspection. Endpoints can be selectively disabled in the Blueprint via endpoints:.

EndpointPathStatus
Health /blueprint/website/health ✓ enabled
Info /blueprint/website ✓ enabled
CR List /blueprint/website/cr ✓ enabled