diff --git a/examples/full-config/wasmcloud-annotated.yaml b/examples/full-config/wasmcloud-annotated.yaml new file mode 100644 index 0000000..f5eacec --- /dev/null +++ b/examples/full-config/wasmcloud-annotated.yaml @@ -0,0 +1,91 @@ +apiVersion: k8s.wasmcloud.dev/v1alpha1 +kind: WasmCloudHostConfig +metadata: + name: my-wasmcloud-cluster + namespace: default +spec: + # Optional: Number of hosts (pods). Defaults to 1. + hostReplicas: 1 + # Required: The lattice to connect the hosts to. + lattice: default + # Optional: Additional labels to apply to the host other than the defaults set in the controller. + hostLabels: + test: value + cluster: kind + # Required: Which wasmCloud version to use. + version: "1.0.2" + # Optional: The image to use for the wasmCloud host. + # If provided, the 'version' field will be ignored. + image: "registry/wasmcloud:tag" + # Optional: The image to use for the NATS leaf that is deployed alongside the wasmCloud host. + # If not provided, the default upstream image will be used. + natsLeafImage: "registry/nats:tag" + # Optional. The name of a secret containing a set of NATS credentials under 'nats.creds' key. + secretName: "wasmcloud-host-nats-secret" + # Optional: Enable structured logging for host logs. Defaults to "false". + enableStructuredLogging: true + # Optional: The name of a secret containing the registry credentials. + # See https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-secret-by-providing-credentials-on-the-command-line + registryCredentialsSecret: "wasmcloud-pull-secret" + # Optional: The control topic prefix to use for the host. Defaults to "wasmbus.ctl" + controlTopicPrefix: "wasmbus.custom-ctl" + # Optional: The leaf node domain to use for the NATS sidecar. Defaults to "leaf". + leafNodeDomain: "custom-leaf" + # Optional: Enable the config service for this host. Defaults to "false". + # Makes wasmCloud host issue requests to a config service on startup. + configServiceEnabled: true + # Optional: The log level to use for the host. Defaults to "INFO". + logLevel: INFO + # Optional: The address of the NATS server to connect to. Defaults to "nats://nats.default.svc.cluster.local". + natsAddress: nats://nats-cluster.default.svc.cluster.local + # Optional: Allow the host to deploy using the latest tag on OCI components or providers. Defaults to "false". + allowLatest: true + # Optional: Allow the host to pull artifacts from OCI registries insecurely. + allowedInsecure: + - "localhost:5001" + - "kind-registry:5000" + # Optional: Policy service configuration. + policyService: + # If provided, enables policy checks on start actions and component invocations. + topic: "wasmcloud.policy" + # If provided, allows the host to subscribe to updates on past policy decisions. Requires 'topic' above to be set. + changesTopic: "bar" + # If provided, allows setting a custom timeout for requesting policy decisions. Defaults to 1000. Requires 'topic' to be set. + timeoutMs: 10000 + # Optional: Observability options for configuring the OpenTelemetry integration. + observability: + enable: true + endpoint: "otel-collector.svc" + # Either 'grpc' or 'http' + protocol: "grpc" + logs: + enable: true + endpoint: "logs-specific-otel-collector.svc" + metrics: + enable: true + endpoint: "metrics-specific-otel-collector.svc" + traces: + enable: true + endpoint: "metrics-specific-otel-collector.svc" + # Optional: Additional options to control how the underlying wasmCloud hosts are scheduled in Kubernetes. + # This includes setting resource requirements for the nats and wasmCloud host + # containers along with any additional pot template settings. + schedulingOptions: + # Optional: Enable the following to run the wasmCloud hosts as a DaemonSet. Defaults to "false". + daemonset: true + # Optional: Set the resource requirements for the nats and wasmCloud host containers. + # See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ for valid values + resources: + nats: + requests: + cpu: 100m + wasmCloudHost: + requests: + cpu: 100m + # Optional: Any additional pod template settings to apply to the wasmCloud host pods. + # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podspec-v1-core for all valid options. + # Note that you *cannot* set the `containers` field here as it is managed by the controller. + podTemplateAdditions: + spec: + nodeSelector: + kubernetes.io/os: linux