Helm chart values see history edit this page

Talks about: , , , , and

The jaas Helm chart lives in the metio/helm-charts monorepo and is published at oci://ghcr.io/metio/helm-charts/jaas. The tables below are generated from each chart’s values.yaml, so they track the chart’s current values rather than a hand-maintained copy.

For how the values map onto the binary’s runtime behaviour, see the Configuration reference — every arguments.* value drives the corresponding --flag.

jaas chart

ValueTypeDefaultDescription
additionalLibrariesobject|null(empty)Additional library OCI volumes to mount. The key is the name of the directory and the value is an OCI volume that will be mounted beneath .Values.paths.libraries, e.g., the commented example below would result in all files from 'ghcr.io/metio/something:latest' to be mounted at '/srv/libraries/something/' (using the default configuration) OCI mounts suit large, independently-released library bundles pinned by digest. For shared libraries you want to manage as ordinary manifests — published and updated via kubectl/GitOps without an operator restart — apply a namespaced JsonnetLibrary instead and reference it from a snippet's spec.libraries.
argumentsobject(empty)CLI flags for the jaas binary. These arguments map directly to their corresponding CLI flag.
arguments.evaluationTimeoutstring5sPer-request go-jsonnet evaluation timeout. 0 disables.
arguments.jsonnetEndpointPathstringjsonnetURL path segment the jsonnet handler is mounted under (GET /<path>/...).
arguments.listenAddressstring::Bind address for the jsonnet HTTP and management servers. `::` listens on every IPv6 interface and — because Go opens IPV6_V6ONLY=0 by default on Linux — also accepts IPv4 connections via v4-mapped addresses. Use `0.0.0.0` to constrain to IPv4 on clusters that don't support dual-stack pods.
arguments.logFormatstringjsonLog output format for the jaas binary (json, text).
arguments.logLevelstringinfoLog verbosity for the jaas binary (debug, info, warn, error).
arguments.managementListenAddressstring::Bind address for the management (probes) HTTP server. Same dual-stack semantics as listenAddress.
arguments.managementReadTimeoutstring10sRead timeout on the management (probes) HTTP server.
arguments.managementWriteTimeoutstring10sWrite timeout on the management (probes) HTTP server.
arguments.maxConcurrentEvalsinteger32Maximum in-flight Jsonnet evaluations across both HTTP and operator paths. Excess requests return 503 (HTTP) or RequeueAfter (operator) with EvalUnavailable backpressure events. Sized to bound worst-case goroutine pile-up when a runaway snippet's synchronous eval outlives every caller's ctx — the cap turns "unbounded leak" into a tunable backpressure boundary. 0 disables the gate; the operator default (process-side) is max(GOMAXPROCS*4, 16).
arguments.maxStackinteger500go-jsonnet stack-depth ceiling. Guards against unbounded recursion.
arguments.readTimeoutstring10sRead timeout on the jsonnet HTTP server.
arguments.shutdownDelaystring5sGrace period readiness stays false before in-flight requests are aborted on SIGTERM, so endpoint controllers can drain the pod first.
arguments.writeTimeoutstring10sWrite timeout on the jsonnet HTTP server.
crdsobject(empty)CRD lifecycle. The chart ships the controller's CRDs under templates/ so a `helm upgrade` applies schema changes automatically. Set create=false to manage them out-of-band — e.g. pre-installed cluster-wide, or in CI where the same chart is installed once per values file and a kept cluster-scoped CRD owned by the first release can't be re-adopted by the next.
crds.createbooleantrue
deploymentobject(empty)Fine tune the Deployment resource.
deployment.additionalLabelsobject(empty)Extra labels merged onto the Deployment metadata.
deployment.revisionHistoryLimitinteger1spec.revisionHistoryLimit on the Deployment.
externalVariablesobject|null(empty)External variables (std.extVar). They will be added as JAAS_EXT_VAR_your_name and are available as your_name in your Jsonnet snippets.
externalVariablesFromobject(empty)External variables loaded from ConfigMaps or Secrets. Each array expects the name of either ConfigMaps or Secrets. Only those values in ConfigMaps and Secrets that start with JAAS_EXT_VAR will be available as external variable in your Jsonnet snippets.
externalVariablesFrom.configMapsarray(empty)ConfigMap names to source JAAS_EXT_VAR_* env vars from.
externalVariablesFrom.secretsarray(empty)Secret names to source JAAS_EXT_VAR_* env vars from.
globalobject(empty)Global values are values that can be accessed from any chart or subchart by exactly the same name.
imageobject(empty)Container image for the jaas workload. Overwrite these in case you want to use an internal registry mirror.
image.pullPolicystringIfNotPresentPull policy for the jaas container. IfNotPresent is the default — safe for tagged release images. Switch to Always when running off a mutable tag (latest, edge, dev) so each restart re-checks the registry. Never is useful when the image is preloaded into the node (kind, k3d).
image.registrystringghcr.io
image.repositorystringmetio/jaas
image.tagstring(empty)Optional explicit tag override. Defaults to .Chart.AppVersion (the chart's released version). Useful when running a custom build: --set-string image.tag=dev-abc123
imagePullSecretsarray(empty)Optional pull secrets in case you use a private mirror/image
librariesobject(empty)Well-known jsonnet libraries. All OFF by default — a default install mounts no OCI volumes. Enable per renderer-mode need (the standalone HTTP renderer imports these from pre-baked image bundles). Each enabled library renders a `-library-path` arg, a read-only volumeMount, and an OCI `image:` volume. Static OCI mounts are mutually exclusive with operator.enabled (Flux mode): in Flux mode libraries come from JsonnetLibrary CRs, not these image bundles.
libraries.docsonnetobject(empty)docsonnet library. Mounts a JOI OCI bundle when enabled.
libraries.docsonnet.enabledbooleanfalse
libraries.docsonnet.registrystringghcr.io
libraries.docsonnet.repositorystringmetio/joi-jsonnet-libs-docsonnet
libraries.docsonnet.versionstringlatest
libraries.grafonnetobject(empty)grafonnet library (Grafana dashboards). Mounts a JOI OCI bundle when enabled.
libraries.grafonnet.enabledbooleanfalse
libraries.grafonnet.registrystringghcr.io
libraries.grafonnet.repositorystringmetio/joi-grafana-grafonnet
libraries.grafonnet.versionstringlatestThe JOI images are calendar-tagged (plus a moving `latest`), not tagged by the upstream grafonnet version — there is no `v11.4.0` tag. Match the other libraries and track `latest`; pin to a dated tag (e.g. 2026.6.14) to freeze.
libraries.xtdobject(empty)xtd library. Mounts a JOI OCI bundle when enabled.
libraries.xtd.enabledbooleanfalse
libraries.xtd.registrystringghcr.io
libraries.xtd.repositorystringmetio/joi-jsonnet-libs-xtd
libraries.xtd.versionstringlatest
namespaceobject(empty)Opt-in install-namespace render with Pod Security Standards labels. Default-off so the chart doesn't claim ownership of a pre-existing namespace operators created via kubectl / Argo. Enable for fresh installs that want the namespace's PSS posture baked into the chart.
namespace.additionalLabelsobject(empty)Extra labels on the rendered Namespace.
namespace.annotationsobject(empty)Extra annotations on the rendered Namespace.
namespace.createbooleanfalseWhether the chart renders (and owns) its install Namespace.
namespace.podSecurityobject(empty)Pod Security Standards admission labels stamped on the namespace.
namespace.podSecurity.auditstringrestrictedPSS audit level.
namespace.podSecurity.auditVersionstringlatest
namespace.podSecurity.enforcestringrestricted`restricted` is the strictest PSS level. Image volumes (used by the chart for snippet/library mounts) are restricted-compliant from Kubernetes 1.33 onward; clusters on 1.32 or older must drop this to `baseline`.
namespace.podSecurity.enforceVersionstringlatest
namespace.podSecurity.warnstringrestrictedPSS warn level.
namespace.podSecurity.warnVersionstringlatest
networkPolicyobject(empty)Opt-in NetworkPolicy for the jaas pod (storage port lockdown + per-port ingress controls).
networkPolicy.additionalIngressarray(empty)Free-form additional ingress rules merged into the policy verbatim.
networkPolicy.calicoobject(empty)Calico engine (engine=calico) raw passthrough. Entries are merged verbatim into the projectcalico.org NetworkPolicy's spec.ingress / spec.egress.
networkPolicy.calico.egressarray(empty)Extra spec.egress rules merged verbatim (Calico NetworkPolicy schema).
networkPolicy.calico.ingressarray(empty)Extra spec.ingress rules merged verbatim (Calico NetworkPolicy schema).
networkPolicy.ciliumobject(empty)Cilium engine (engine=cilium) raw passthrough. Entries are merged verbatim into the CiliumNetworkPolicy's spec.ingress / spec.egress. This is how you tighten the cilium policy — e.g. add fromEndpoints to the ingress rules, or additional toEndpoints / toFQDNs egress.
networkPolicy.cilium.egressarray(empty)Extra spec.egress rules merged verbatim (CiliumNetworkPolicy schema).
networkPolicy.cilium.ingressarray(empty)Extra spec.ingress rules merged verbatim (CiliumNetworkPolicy schema).
networkPolicy.clusterNetworkPolicyobject(empty)ClusterNetworkPolicy engine (engine=clusterNetworkPolicy) raw passthrough. Entries are merged verbatim into the policy.networking.k8s.io ClusterNetworkPolicy's spec.ingress / spec.egress.
networkPolicy.clusterNetworkPolicy.egressarray(empty)Extra spec.egress rules merged verbatim (ClusterNetworkPolicy schema).
networkPolicy.clusterNetworkPolicy.ingressarray(empty)Extra spec.ingress rules merged verbatim (ClusterNetworkPolicy schema).
networkPolicy.clusterNetworkPolicy.priorityinteger1000spec.priority on the ClusterNetworkPolicy (lower wins within the tier).
networkPolicy.defaultDenyobject(empty)Render a namespace-wide default-deny so EVERY pod in the namespace is denied by default and the per-workload allowlists are the only exceptions (zero-trust namespace). OFF by default because it also denies co-located workloads — enable only when JaaS has its own namespace. Off keeps a pod-scoped setup: only JaaS's pods are locked down, neighbours untouched.
networkPolicy.defaultDeny.enabledbooleanfalse
networkPolicy.defaultDeny.orderinteger2000Calico/ClusterNetworkPolicy sort key for the deny-all. It must rank the deny-all AFTER the per-workload allowlists so the allowlists win: Calico evaluates lower order first (the allowlist policies carry no order = lowest precedence, so this defaults high), and ClusterNetworkPolicy gives lower priority numbers higher precedence (the allowlist priority defaults to networkPolicy.clusterNetworkPolicy.priority, so this defaults higher). The kubernetes and cilium engines have no precedence knob — deny + allow simply combine additively, allow wins.
networkPolicy.egressobject(empty)
networkPolicy.egress.dnsbooleantrueWhen egress is enabled, allow DNS (UDP+TCP 53) to the cluster DNS namespace.
networkPolicy.egress.dnsNamespacestringkube-systemNamespace of the cluster DNS service (matched by kubernetes.io/metadata.name).
networkPolicy.egress.enabledbooleanfalseRender egress rules. Adds Egress to policyTypes, so everything not explicitly allowed is denied. Off by default: enable only after allowing everything the pod needs (DNS, the kube-apiserver, source-controller, S3, the OTLP collector) via egress.to — otherwise the operator loses cluster access.
networkPolicy.egress.toarray(empty)Additional egress peers merged verbatim into spec.egress. This is where you allow the kube-apiserver (an ipBlock CIDR), the flux-system namespace (source-controller), and external endpoints (S3, OTLP). NetworkPolicy cannot select the apiserver by label, so it must be an ipBlock here.
networkPolicy.enabledbooleanfalseOpt-in. When enabled, a NetworkPolicy targets the jaas pod and locks the storage HTTP port down to the configured consumer selector (defaults to any pod in flux-system — kustomize-controller / helm-controller). Other ports stay open so kubelet probes, the jsonnet HTTP path, and the webhook traffic from kube-apiserver continue to work. Leave OFF on initial install if the cluster has no NetworkPolicy controller (Calico/Cilium/etc.) — without one, the policy is silently inert; with one, default-deny semantics apply to everything not listed here.
networkPolicy.enginestringkubernetesPolicy engine to render for. kubernetes (default) emits a vanilla networking.k8s.io NetworkPolicy. cilium / calico / clusterNetworkPolicy emit the engine-native equivalent instead (CiliumNetworkPolicy, projectcalico.org NetworkPolicy, or policy.networking.k8s.io ClusterNetworkPolicy). The per-port .from knobs below apply to the kubernetes engine only; alternative engines are pod-scoped allow-all on the required ports and tighten via their native passthrough lists (cilium/calico/clusterNetworkPolicy .ingress / .egress).
networkPolicy.httpobject(empty)Restrict sources allowed to hit the jsonnet HTTP endpoint. Empty list allows everything (typical when an Ingress fronts the service).
networkPolicy.http.fromarray(empty)
networkPolicy.managementobject(empty)Restrict sources allowed to hit the management probes. Empty list allows everything — kubelet probes source from the node IP.
networkPolicy.management.fromarray(empty)
networkPolicy.metricsobject(empty)Sources allowed to scrape the operator metrics port. Empty = all (typically your Prometheus). Only rendered in operator mode with metrics enabled.
networkPolicy.metrics.fromarray(empty)
networkPolicy.storageobject(empty)Sources allowed to read published ExternalArtifact tarballs from the storage HTTP port. The consumers are the Flux controllers that dereference ExternalArtifact.status.artifact.url — kustomize-controller and helm-controller (both in flux-system) — NOT source-controller, which only produces its own typed artifacts. Defaults to any pod in flux-system so the stock Flux consumers work out of the box. Add an entry per extra consumer namespace (e.g. stageset-controller in stageset-system): - namespaceSelector: matchLabels: kubernetes.io/metadata.name: stageset-system
networkPolicy.storage.fromarray(empty)
networkPolicy.webhookobject(empty)Restrict sources allowed to dial the webhook. Empty list allows everything — kube-apiserver cannot be expressed as a podSelector.
networkPolicy.webhook.fromarray(empty)
operatorobject(empty)Operator mode — opt-in. When enabled, jaas runs alongside its HTTP path as a Kubernetes operator that watches JsonnetSnippet / JsonnetLibrary CRs and publishes evaluated results as Flux ExternalArtifact resources.
operator.cleanupOnDeleteobject(empty)On `helm uninstall`, run a pre-delete Job that bulk-deletes every JsonnetSnippet so the operator's finalizer drops the published ExternalArtifact + tarball BEFORE the operator pod itself is removed. Without this, the operator goes away first and downstream Flux consumers are left referencing orphaned ExternalArtifacts. Disable when uninstall is driven by something other than Helm (e.g., ArgoCD with hooks off) — the manual cleanup pattern is: kubectl delete jsonnetsnippet --all -A --wait=true --timeout=2m helm uninstall jaas -n <ns>
operator.cleanupOnDelete.activeDeadlineSecondsinteger600Job-level safety net. activeDeadlineSeconds caps the Job's total runtime; if the operator is wedged, Helm won't be blocked forever.
operator.cleanupOnDelete.backoffLimitinteger2backoffLimit on the pre-delete Job.
operator.cleanupOnDelete.enabledbooleantrue
operator.cleanupOnDelete.imageobject(empty)Image for the pre-delete cleanup Job (a kubectl image).
operator.cleanupOnDelete.image.pullPolicystringIfNotPresent
operator.cleanupOnDelete.image.registrystringregistry.k8s.io
operator.cleanupOnDelete.image.repositorystringkubectl
operator.cleanupOnDelete.image.tagstringv1.34.0
operator.cleanupOnDelete.kubectlTimeoutstring2mMaximum wall-clock time the pre-delete Job waits for snippet finalizers to run before it strips them forcibly and proceeds. Bigger when snippets publish to slow S3 endpoints.
operator.cleanupOnDelete.resourcesobject(empty)Resource requests/limits for the cleanup Job container.
operator.cleanupOnDelete.resources.cpustring100m
operator.cleanupOnDelete.resources.ephemeralStoragestring16MiEphemeral-storage requests/limits. The cleanup Job runs a few `kubectl` calls then exits — disk usage is negligible. Sized small to satisfy kube-score's resource-completeness check without crowding cluster ephemeral-storage budgets.
operator.cleanupOnDelete.resources.memorystring64Mi
operator.defaultServiceAccountstring(empty)The default ServiceAccount the operator impersonates when a snippet does not specify spec.serviceAccountName. Snippets without an effective SA are rejected at reconcile time.
operator.enabledbooleanfalse
operator.extVarsobject(empty)Operator-level external variables. Keys here are non-overridable: a JsonnetSnippet whose spec.externalVariables names any of these keys is rejected at admission (and as a fallback at reconcile time).
operator.labelSelectorstring(empty)Optional label selector that narrows which CRs the operator watches. Leave empty to watch every CR in the cluster.
operator.leaderElectionobject(empty)Leader election guards against two operator replicas double-reconciling the same JsonnetSnippet. With replicas.max: 1 (the chart default) only one replica ever runs, so the lock is just defensive — but operators who scale the Deployment up (rolling restarts, blue-green) MUST keep this on. Off is supported (single replica only) but unsafe to scale.
operator.leaderElection.enabledbooleantrue
operator.leaderElection.idstring(empty)Lease object name. Defaults to "<release name>-operator" so multiple JaaS installs in the same namespace don't fight over a shared lease.
operator.maxWithdrawWaitstring1hBound the time a deleted JsonnetSnippet's finalizer can hold while Publisher.Withdraw keeps failing. Past this, the operator emits a Warning WithdrawForced event, drops the finalizer, and lets the snippet be garbage-collected — possibly leaving an orphan tarball in storage (`<namespace>/<name>/<rev>.tar.gz`). Required so a permanently-broken backend (S3 perma-down, deleted bucket, revoked RBAC) doesn't block namespace teardown. 1h rides out transient apiserver/S3 incidents while bounding the wait.
operator.metricsobject(empty)Controller-runtime exposes a Prometheus metrics endpoint covering workqueue depth, reconcile latencies, the manager's REST client, and whatever custom collectors the reconciler registers. The chart wires the endpoint to a dedicated Service; ServiceMonitor rendering is opt-in for clusters running the Prometheus Operator.
operator.metrics.enabledbooleantrue
operator.metrics.prometheusRuleobject(empty)Opt-in PrometheusRule shipping a starter set of alerts on the operator's custom metrics plus a handful of standard controller-runtime signals. Requires the Prometheus Operator's `monitoring.coreos.com/v1` API to be installed in the cluster. Thresholds default to conservative values — page on sustained failure patterns, not single bad reconciles. Tune per cluster.
operator.metrics.prometheusRule.annotationsobject(empty)Extra annotations on the PrometheusRule.
operator.metrics.prometheusRule.enabledbooleanfalse
operator.metrics.prometheusRule.extraAlertLabelsobject(empty)Labels merged onto EVERY alert this PrometheusRule renders. Useful for routing all jaas alerts through one Alertmanager receiver (e.g., `team: platform`).
operator.metrics.prometheusRule.extraRulesarray(empty)Extra alert rules appended to the rendered PrometheusRule under a separate "jaas-operator-extras" group. Lets operators ship cluster-specific alerts (e.g. custom thresholds on jaas metrics, alerts joined against deployment labels) without forking the chart. The list is rendered verbatim — each entry must be a valid PrometheusRule alert (see Prometheus documentation for the schema). To silence a built-in alert: raise its threshold under the `thresholds` block above to an impossibly high value. There is no per-built-in disable toggle — the threshold pattern is the recommended path because it surfaces "this alert is intentionally inert" in the chart values rather than hiding the configuration behind a flag list. Example: extraRules: - alert: JaaSManySnippetsDown expr: count(jaas_snippet_reconcile_total{status="False"}) > 10 for: 5m labels: { severity: critical, team: platform } annotations: summary: '>10 snippets failing across all namespaces'
operator.metrics.prometheusRule.intervalstring30sEvaluation interval for every group in the rendered rule.
operator.metrics.prometheusRule.labelsobject(empty)Extra labels copied onto the PrometheusRule object itself (typically the labels your Prometheus instance selects on).
operator.metrics.prometheusRule.runbookAnnotationKeystringrunbook_urlAnnotation key the runbook URL lands under on every alert. `runbook_url` is the Prometheus-operator convention (kube-prom, Alertmanager templates, most third-party tooling key off it); `runbook` is common in older internal stacks. Anything goes — the value is just a YAML map key.
operator.metrics.prometheusRule.thresholdsobject(empty)All-numeric/duration thresholds in one place so operators can adjust the noise floor without copy-pasting the rule body.
operator.metrics.prometheusRule.thresholds.artifactSizeBytesinteger16777216JaaSSnippetArtifactGrowing: p99 rendered bytes threshold. Defaults to 16 MiB — well below the 64 MiB MaxArchiveBytes default but enough to catch a runaway snippet early.
operator.metrics.prometheusRule.thresholds.artifactSizeDurationstring30m
operator.metrics.prometheusRule.thresholds.crdWatchEngagementFailuresDurationstring30m
operator.metrics.prometheusRule.thresholds.crdWatchEngagementFailuresPerHourinteger1JaaSCRDWatchEngagementFailing: hourly increase on the CRD watch engagement failure counter. The retry pipeline will eventually re-engage, but a sustained inability to engage means dependent snippets aren't re-rendering on upstream source events.
operator.metrics.prometheusRule.thresholds.evalLeakedDurationstring5m
operator.metrics.prometheusRule.thresholds.evalLeakedFloorinteger0JaaSEvalLeakedGoroutines: floor on the leak gauge before alerting. The gauge counts eval goroutines whose parent ctx already fired — orphans still consuming CPU until their synchronous go-jsonnet call returns naturally. CLAUDE.md's documented design is "> 0 for 5m" — any sustained leak is textbook runaway-snippet signal. 0 is intentional; the accompanying duration window catches transient spikes without paging.
operator.metrics.prometheusRule.thresholds.evalRejectedDurationstring10m
operator.metrics.prometheusRule.thresholds.evalRejectedRatenumber0.05JaaSEvalRejected: per-second rate of evaluations the semaphore turned away. 0.05/s ≈ one rejection every 20s, a rate that indicates sustained overload rather than a transient spike a single retry would clear.
operator.metrics.prometheusRule.thresholds.evalSaturationDurationstring10m
operator.metrics.prometheusRule.thresholds.evalSaturationRationumber0.9JaaSEvalSaturation: ratio of in-flight evaluations to the configured cap before alerting. 0.9 means "running at 90 %+ of the eval semaphore for evalSaturationDuration" — close enough to the cap that any new burst will start landing rejections. The alert guards on jaas_eval_max_concurrent > 0 so a disabled gate (--max-concurrent-evals=0) never fires.
operator.metrics.prometheusRule.thresholds.forceDropsDurationstring5m
operator.metrics.prometheusRule.thresholds.forceDropsPerHourinteger0JaaSForceDropsAccumulating: hourly increase on the force-drop counter. Even a single force-drop means an orphan tarball was left behind; sustained drops mean a permanently-broken pipeline (revoked RBAC on the EA Delete, deleted S3 bucket, missing CRD). The remediation runbook is storage-recovery.md.
operator.metrics.prometheusRule.thresholds.podDownDurationstring5mJaaSOperatorPodDown: how long an operator pod can stay NotReady before paging. Below 5m the alert tends to fire during normal pod rolls.
operator.metrics.prometheusRule.thresholds.reconcileErrorDurationstring10m
operator.metrics.prometheusRule.thresholds.reconcileErrorRatenumber0.1JaaSSnippetReconcileErrorsHigh: per-snippet Ready=False rate (reconciles per second, 5m window). 0.1/s ≈ one failure every 10s — a clearly stuck snippet, not transient flapping.
operator.metrics.prometheusRule.thresholds.reconcileLatencyDurationstring15m
operator.metrics.prometheusRule.thresholds.reconcileLatencySecondsinteger30JaaSReconcileLatencyHigh: reconcile-time p99 ceiling, in seconds. 30s is generous — long enough for an OCI fetch plus eval of a non-trivial snippet, short enough to catch a genuinely stuck reconciler.
operator.metrics.prometheusRule.thresholds.sweepFailuresDurationstring30m
operator.metrics.prometheusRule.thresholds.sweepFailuresPerHourinteger3JaaSStorageSweepFailures: per-hour count of failing background sweep passes before alerting. Default 3 absorbs the occasional flake without paging while catching a genuinely degraded backend (chronic disk full, revoked permissions). The sweep runs on operator.storage.sweep.interval (default 10m), so 3/hour ≈ half the passes failing.
operator.metrics.prometheusRule.thresholds.tenantTokenMintFailureDurationstring10m
operator.metrics.prometheusRule.thresholds.tenantTokenMintFailureRatenumber0.01JaaSTenantTokenMintFailing: per-second mint failure rate across the cluster. Even one mint failure on a (namespace, SA) pair flags revoked `serviceaccounts/token: create` or a deleted SA — actionable immediately.
operator.metrics.prometheusRule.thresholds.webhookCertRenewalFailuresDurationstring30m
operator.metrics.prometheusRule.thresholds.webhookCertRenewalFailuresPerHourinteger1JaaSWebhookCertRenewalFailing: hourly increase on the cert renewal failure counter. The Renewer ticks every Validity/3 (typically every few months), so a single failure shouldn't page; sustained failures across multiple ticks (RBAC drift, CertDir write-perm loss) mean the rotation pipeline is broken and the existing cert's natural expiry is the deadline.
operator.metrics.prometheusRule.thresholds.workqueueDepthinteger50JaaSControllerWorkqueueDepthHigh: items the workqueue holds before alerting. Default 50 is high enough to absorb a normal roll-out, low enough that genuine apiserver stalls page.
operator.metrics.prometheusRule.thresholds.workqueueDurationstring15m
operator.metrics.serviceMonitorobject(empty)Opt-in ServiceMonitor (Prometheus Operator) for the metrics endpoint.
operator.metrics.serviceMonitor.annotationsobject(empty)Extra annotations on the ServiceMonitor.
operator.metrics.serviceMonitor.enabledbooleanfalse
operator.metrics.serviceMonitor.intervalstring30sScrape interval the Prometheus instance honors. Match this to your shared scrape config.
operator.metrics.serviceMonitor.labelsobject(empty)Extra labels the ServiceMonitor carries (typically the labels your Prometheus instance selects on, e.g., release: kube-prom).
operator.metrics.serviceMonitor.scrapeTimeoutstring10sPer-scrape timeout. Must stay strictly less than interval.
operator.noCrossNamespaceRefsbooleantrueWhen true, the operator rejects JsonnetSnippet / library refs that point at a SourceRef in a different namespace.
operator.rbacobject(empty)Opt out of chart-rendered RBAC when external governance owns ClusterRole/RoleBinding shape (ArgoCD app-of-apps, Crossplane, GitOps controller that manages RBAC separately). The operator still expects the named SA to have the verbs documented in README's "Operator Mode" section; with rbac.create=false you're responsible for granting them.
operator.rbac.createbooleantrue
operator.rerenderBurstinteger120Per-snippet token-bucket depth.
operator.rerenderRatestring60/minPer-snippet steady-state re-render budget. N/period where period is one of sec, min, hour. Token-bucket combined with rerenderBurst.
operator.serviceAccountobject(empty)ServiceAccount the operator runs as. When create is true the chart provisions one; otherwise the operator binds against the named SA.
operator.serviceAccount.annotationsobject(empty)Annotations to attach to the operator ServiceAccount. Common uses: AWS IRSA (eks.amazonaws.com/role-arn), GCP Workload Identity (iam.gke.io/gcp-service-account), Azure Workload Identity (azure.workload.identity/client-id). These bind cloud-IAM identities to the SA so the operator can access cloud resources without static credentials.
operator.serviceAccount.createbooleantrue
operator.serviceAccount.namestringjaas
operator.storageobject(empty)Artifact storage for published ExternalArtifact tarballs (operator mode).
operator.storage.backendstringlocalArtifact backend used to persist ExternalArtifact tarballs. local — emptyDir or PVC mounted into the pod. Simple, single-pod (RWO PVC) unless a ReadWriteMany storage class is configured. s3 — any S3-compatible bucket (AWS S3, MinIO, Ceph RGW, etc.). The chart-default story for multi-replica HA: every replica reads from the same bucket; leader election still gates writes. PVC settings below are ignored when backend=s3. Artifact backend used to persist ExternalArtifact tarballs (local | s3).
operator.storage.baseURLstring(empty)Public URL prefix downstream Flux consumers dereference. Defaults to the in-cluster Service DNS name when empty — operators wiring this up via Ingress should set it explicitly.
operator.storage.gcGracestring5mMinimum time a superseded artifact revision stays fetchable after being evicted from the keep-set. Closes the pin→fetch race in which a Flux consumer reads ExternalArtifact.status.artifact a moment before the operator garbage-collects the superseded revision and then 404s on the URL. Supersession time is derived from on-disk storage metadata so the window survives operator restarts. Zero restores eager pruning; the snippet teardown path (finalizer Withdraw) is unaffected. See docs/consumers.md for when to leave the default vs raise spec.history for deliberate rollback retention.
operator.storage.headlessbooleanfalseWhen true, the storage Service is rendered as headless (clusterIP: None) so DNS resolves each pod IP directly. Useful for external sidecars that want stable per-pod targets, or for traffic that should skip kube-proxy. Default ClusterIP otherwise.
operator.storage.listenAddressstring::Bind address for the storage HTTP server. Same dual-stack semantics as arguments.listenAddress: `::` accepts both IPv6 and IPv4-mapped traffic on Linux.
operator.storage.maxArtifactBytesinteger0Cap the rendered artifact size in bytes. Snippets whose rendered output exceeds this fail with ReasonArtifactTooLarge before any disk/S3 write — stops one runaway snippet from filling a shared storage volume. Zero disables.
operator.storage.pathstring/var/lib/jaas/artifactsDirectory inside the container the operator writes tarballs to. Only consulted when backend=local.
operator.storage.persistenceobject(empty)Persist tarballs across pod restarts via a PVC. With persistence OFF (the default) the chart uses an emptyDir, which is lost on pod restart — downstream Flux consumers then see brief 404s while every snippet re-renders. With persistence ON, the PVC survives restarts and downstream consumers see no gap. PVC access mode is RWO by default, which constrains the chart to a single replica (RWO can only attach to one pod). For multi-replica HA you need an RWX storage class — uncommon in cloud providers.
operator.storage.persistence.accessModesarray(empty)accessModes the PVC declares. ReadWriteOnce is the safe default; ReadWriteMany unlocks multi-replica HA when the StorageClass supports it.
operator.storage.persistence.annotationsobject(empty)Extra annotations on the PVC (e.g., CSI volume tags).
operator.storage.persistence.enabledbooleanfalse
operator.storage.persistence.labelsobject(empty)Extra labels on the PVC.
operator.storage.persistence.selectorobject(empty)Optional PVC selector for matching pre-provisioned volumes.
operator.storage.persistence.sizestring10GiRequested volume size. 10 GiB holds many thousand small tarballs.
operator.storage.persistence.storageClassNamestring(empty)storageClassName picks the StorageClass. Empty means "cluster default" — usually right.
operator.storage.readTimeoutstring30sRead timeout on the storage HTTP server.
operator.storage.s3object(empty)S3 backend configuration. Only consulted when backend=s3.
operator.storage.s3.anonymousbooleanfalseSkip request signing entirely. Public-bucket test mode only.
operator.storage.s3.bucketstring(empty)Bucket the artifacts live in. Must already exist; jaas does not create it. Required.
operator.storage.s3.credentialsSecretobject(empty)Credentials are supplied one of two ways — never inline. Inline values would land on the Pod's command line (visible in `ps`, in the PodSpec, and in the stored Helm release), so the chart deliberately offers no accessKey/secretKey/sessionToken field: credentialsSecret.name — an existing Secret carrying AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and optionally AWS_SESSION_TOKEN. It is wired into the pod via envFrom.secretRef; minio-go's env chain picks the keys up automatically since no -s3-* credential flag is passed. leave credentialsSecret empty — minio-go's IAM/IRSA discovery chain takes over (AWS_* env vars, EKS web-identity, EC2 metadata). Bind a cloud identity to the operator's ServiceAccount via operator.serviceAccount.annotations.
operator.storage.s3.credentialsSecret.namestring(empty)
operator.storage.s3.endpointstring(empty)Endpoint host:port (e.g. s3.amazonaws.com, minio.minio.svc:9000). Required.
operator.storage.s3.prefixstring(empty)Optional object-key prefix so jaas can coexist with other tenants in one bucket: <prefix>/<namespace>/<snippet>/<rev>.tar.gz
operator.storage.s3.regionstring(empty)Region the bucket lives in. Required for AWS multi-region; ignored by most S3-compatible servers.
operator.storage.s3.useSSLbooleantrueTalk HTTPS. Disable only for local MinIO over HTTP.
operator.storage.sizeLimitstring256MiemptyDir size limit. Only consulted when persistence.enabled is false. Tarballs typically are well under 1 MiB; the sizing here is generous so transient bursts don't OOM the pod.
operator.storage.sweepobject(empty)Periodic GC: sweep orphaned <rev>.tar.gz.tmp residue left by Puts whose process died mid-rename. Local backend only — the S3 backend's Put is atomic so no .tmp files exist. Set interval to "0s" to disable.
operator.storage.sweep.intervalstring10m
operator.storage.sweep.maxTmpAgestring30m
operator.storage.writeTimeoutstring5mWrite timeout on the storage HTTP server (--storage-write-timeout): how long a single response is allowed to take before the connection is closed. To cap artifact size, use operator.storage.maxArtifactBytes.
operator.tracingobject(empty)OpenTelemetry tracing for the operator. When endpoint is empty (the default), no spans are emitted and the OTel SDK is in no-op mode. Set the endpoint to ship spans to an OTLP gRPC collector: tracing: endpoint: otel-collector.observability.svc:4317 insecure: true
operator.tracing.endpointstring(empty)
operator.tracing.insecurebooleanfalse
operator.tracing.sampleRationumber1
operator.watchNamespacesarray(empty)Namespaces this operator instance scopes its cache to. Empty (the default) means cluster-wide. When set, the manager's informer cache only observes CRs in these namespaces, AND the rendered RBAC pivots from a single ClusterRoleBinding to one RoleBinding per namespace — multi-tenant operator-instances pattern.
operator.webhookobject(empty)Validating admission webhook (operator mode). Rejects JsonnetSnippets whose spec.externalVariables collide with the operator's extVars.
operator.webhook.certDirstring/tmp/k8s-webhook-server/serving-certsDirectory inside the container where the TLS cert and key land. With certMode=cert-manager this is mounted read-only from the secretName below. With certMode=self-signed it's a writable emptyDir the operator writes into on startup.
operator.webhook.certManagerobject(empty)cert-manager-mode knobs. Only consulted when certMode is "cert-manager". When self-signed, this block is ignored and no cert-manager API objects are rendered.
operator.webhook.certManager.enabledbooleantrue
operator.webhook.certManager.issuerRefobject(empty)
operator.webhook.certManager.issuerRef.kindstringIssuerIssuer kind: Issuer or ClusterIssuer
operator.webhook.certManager.issuerRef.namestring(empty)Issuer name in the chart's namespace (Issuer) or cluster (ClusterIssuer). Required when certMode=cert-manager.
operator.webhook.certModestringself-signedHow TLS material for the webhook is provisioned: cert-manager — chart renders a cert-manager Certificate; the Secret is mounted into the pod read-only. self-signed — operator generates a CA + serving cert at startup and stamps its own ValidatingWebhookConfiguration caBundle. Requires the operator to have get/update on the named VWC (added automatically). Removes the cert-manager dependency entirely. The default is self-signed because it needs no prerequisites and always works; cert-manager mode only works when cert-manager is installed in the cluster.
operator.webhook.enabledbooleanfalse
operator.webhook.failurePolicystringFailFailure policy for the ValidatingWebhookConfiguration. Fail is the safer default — a webhook outage blocks JsonnetSnippet writes cluster-wide until the operator is back. Switch to Ignore only when you're willing to accept invalid snippets reaching the reconciler. Either way, the reconciler enforces the same ext-var-conflict invariant as a fallback so admission bypass never silently breaks the contract. During an operator restart (rolling update, crash-loop, eviction) the webhook is briefly unreachable and Fail blocks every JsonnetSnippet create/update for that window — typically <5s with `LeaderElectionReleaseOnCancel: true`. If your CI/GitOps tooling can't tolerate that, scope the webhook with objectSelector / namespaceSelector to limit the blast radius, or set failurePolicy: Ignore.
operator.webhook.matchConditionsarray(empty)matchConditions are CEL expressions evaluated server-side before the webhook is dialed. Lets operators short-circuit admission checks for specific snippet shapes without a round trip. Requires Kubernetes 1.30+.
operator.webhook.namespaceSelectorobject(empty)namespaceSelector restricts the webhook to Namespaces carrying the listed labels. A common pattern: opt-in per namespace via a label so the apiserver doesn't dial the webhook for unrelated namespaces during operator outages. Example: namespaceSelector: matchLabels: jaas.metio.wtf/admission: enforce
operator.webhook.objectSelectorobject(empty)objectSelector restricts the webhook to JsonnetSnippets carrying the listed labels. Useful when only some snippets are operator-managed (the rest live in Argo or kustomize). Example: objectSelector: matchLabels: jaas.metio.wtf/managed: "true"
operator.webhook.secretNamestringjaas-webhook-certThe Secret the cert lives in. cert-manager writes it; the Deployment mounts it read-only at certDir.
operator.webhook.selfSignedValiditystring8760hValidity of the self-signed serving cert. Operators that want short-lived rotation should use cert-manager instead — the self-signed mode renews on every pod restart, no in-flight rotation. Only consulted when certMode=self-signed.
operator.webhook.sideEffectsstringNoneSide-effect mode for the ValidatingWebhookConfiguration.
pathsobject(empty)Filesystem paths inside the container. Modify the paths used, use this in case you run a custom image.
paths.librariesstring/srv/librariesDirectory library OCI volumes mount beneath.
paths.snippetsstring/srv/snippetsDirectory snippet OCI volumes mount beneath.
pdbobject(empty)Fine tune the PodDisruptionBudget. Rendered only when replicas.max > replicas.min.
pdb.maxUnavailableinteger|string|null1PDB maxUnavailable. Default 1 caps voluntary disruptions to one pod at a time. Set to null when using minAvailable instead.
pdb.minAvailableinteger|string|nullnullDisruption budget shape. Exactly one of minAvailable / maxUnavailable is rendered into the PDB spec; setting both is a config error K8s would reject. Default `maxUnavailable: 1` caps voluntary disruptions to one pod at a time regardless of replica count — the right knob for a rolling restart / node drain story. `minAvailable: N` is the alternative when you want "always keep at least N pods up" instead — useful only when the workload's headroom is a fixed floor, not the more common "one out at a time". Override examples: pdb: { maxUnavailable: 2 } # allow draining two nodes in parallel pdb: { minAvailable: 1, maxUnavailable: null } # floor of 1 instead pdb: { minAvailable: "50%", maxUnavailable: null } # percentage form PDB minAvailable. Mutually exclusive with maxUnavailable; null leaves it unset.
pdb.unhealthyPodEvictionPolicystring(empty)spec.unhealthyPodEvictionPolicy on the PDB. Empty defers to the cluster default.
podobject(empty)Fine tune the managed Pod resources.
pod.additionalLabelsobject(empty)Extra labels merged onto the pod template.
portsobject(empty)Container port assignments for the jaas pod.
ports.httpinteger8080Used by the /jsonnet endpoint
ports.managementinteger8081Used by startup, readiness, and liveness probes
ports.metricsinteger8083Used by controller-runtime's Prometheus metrics endpoint (operator.enabled only). Defaults to 8083 to avoid the collision with controller-runtime's own :8080 default and the jsonnet HTTP port. Set to 0 in operator.metrics.enabled to disable entirely.
ports.storageinteger8082Used by the operator's storage HTTP server (operator.enabled only)
ports.webhookinteger9443Used by the validating admission webhook (operator.webhook.enabled only)
replicasobject(empty)Replica bounds for the Deployment. It is safe to increase the number of replicas.
replicas.maxinteger1
replicas.mininteger1
resourcesobject(empty)Per-container resource requests/limits. Smallest possible values here, increase if you have more resources to spare.
resources.cpustring32m
resources.ephemeralStoragestring10Mi
resources.memorystring64Mi
serviceobject(empty)Fine tune the Service resource.
service.ipFamiliesarray(empty)Explicit list of IP families for the Service. Empty defers to the cluster's default. Example for explicit IPv4+IPv6: ipFamilies: [IPv4, IPv6] Order matters: the first family becomes the primary ClusterIP.
service.ipFamilyPolicystring(empty)K8s Service ipFamilyPolicy. Empty leaves the cluster's default (usually SingleStack). Set to PreferDualStack on dual-stack clusters that may still have single-stack nodes, or RequireDualStack to refuse single-stack clusters at admission.
serviceMeshobject(empty)Opt-in service-mesh L7 authorization + mTLS for the jaas pod. Complementary to networkPolicy, NOT a replacement: networkPolicy is L3/L4 (which pods/IPs may open a connection), serviceMesh is L7/identity (which mesh identities may call which port). Both can be enabled at once and stack additively. Authorizes only the mesh-reachable ports — http (jsonnet), storage (artifacts), and metrics (operator). The webhook (kube-apiserver) and management/probe (kubelet) ports are deliberately left out: those callers speak plain TLS / no mesh identity, and locking them to mesh principals would break admission and health probing.
serviceMesh.defaultDenyobject(empty)Render a namespace-wide default-deny so every pod in the install namespace rejects unauthorized mesh traffic and the per-workload allows above are the only exceptions (zero-trust namespace). Istio renders an empty-spec AuthorizationPolicy (deny-all) scoped to the whole namespace, which sits at lower precedence than the workload ALLOW. Linkerd has no per-object deny-all; the namespace default is set via the config.linkerd.io/default-inbound-policy annotation, so this is stamped onto the chart-managed Namespace (requires namespace.create=true) — otherwise annotate the namespace out-of-band. Enable only when jaas owns its namespace; it also denies co-located workloads.
serviceMesh.defaultDeny.enabledbooleanfalse
serviceMesh.enabledbooleanfalseOpt-in. When enabled, the chart renders the selected engine's authorization + mTLS objects for the jaas pod. Inert unless that mesh (Istio or Linkerd) is actually installed and the pod is injected.
serviceMesh.enginestringistioMesh engine to render for. istio emits security.istio.io AuthorizationPolicy (+ optional PeerAuthentication). linkerd emits policy.linkerd.io Server / AuthorizationPolicy / MeshTLSAuthentication objects.
serviceMesh.httpobject(empty)Per-port allowed mesh identities. Each `from` entry is a source matcher: - principals: SPIFFE/mesh identities (Istio source.principals, e.g. cluster.local/ns/<ns>/sa/<sa>). For Linkerd these map to MeshTLSAuthentication identities (the proxy identity string, e.g. <sa>.<ns>.serviceaccount.identity.linkerd.cluster.local, or "*"). - namespaces: source namespaces (Istio source.namespaces). ISTIO-ONLY — Linkerd authenticates by workload identity, not by namespace, so this field is ignored on the linkerd engine. An EMPTY `from` list on a port means OPEN (allow any caller), mirroring networkPolicy's empty-`from`=open semantics. On Istio that is a port rule with no `from`; on Linkerd it is a MeshTLSAuthentication of identities: ["*"] (any authenticated meshed client). Mesh identities allowed to hit the jsonnet HTTP endpoint (ports.http). Empty = open.
serviceMesh.http.fromarray(empty)
serviceMesh.istioobject(empty)Istio engine raw passthrough. Entries are merged verbatim into the AuthorizationPolicy's spec.rules (security.istio.io/v1 rule schema). Use this to add rules the per-port `from` knobs above can't express — path/method matchers, `when` JWT-claim conditions, ipBlocks, etc.
serviceMesh.istio.rulesarray(empty)
serviceMesh.linkerdobject(empty)Linkerd engine raw passthrough. Entries are appended verbatim as additional documents after the rendered Server / AuthorizationPolicy / MeshTLSAuthentication set — each entry must be a complete object (policy.linkerd.io AuthorizationPolicy, HTTPRoute, etc.).
serviceMesh.linkerd.authorizationsarray(empty)
serviceMesh.metricsobject(empty)Mesh identities allowed to scrape the operator metrics port (ports.metrics). Operator mode + metrics only. Empty = open.
serviceMesh.metrics.fromarray(empty)
serviceMesh.mtlsstring(empty)mTLS posture (Istio engine only). Empty defers to the mesh's own default (mesh-wide PeerAuthentication / MeshConfig). permissive renders a PeerAuthentication accepting both mTLS and plaintext. strict requires mTLS on the workload's ports EXCEPT the webhook + management ports, which get a port-level PERMISSIVE carve-out so the non-mesh kube-apiserver and kubelet still connect. Linkerd negotiates mTLS automatically between meshed pods, so this knob does not apply to the linkerd engine.
serviceMesh.storageobject(empty)Mesh identities allowed to read published artifacts from the storage port (ports.storage). Operator mode only. Empty = open.
serviceMesh.storage.fromarray(empty)
snippetsobject|null(empty)Snippet OCI volumes to mount. The key is the name of the directory and the value is an OCI volume that will be mounted beneath .Values.paths.snippets, e.g., the commented example below would result in all files from 'ghcr.io/metio/something:latest' to be mounted at '/srv/snippets/something/' (using the default configuration)

joi library chart

The joi chart publishes Jsonnet OCI Images as JsonnetLibrary + OCIRepository pairs, so snippets can import vendored libraries (grafonnet, k8s-libsonnet, …) without bundling them. Deploy it alongside jaas when snippets reference shared libraries.

ValueTypeDefaultDescription
globalobject(empty)Global values are values that can be accessed from any chart or subchart by exactly the same name.
imagePullSecretstring(empty)dockerconfigjson Secret for authenticated (private-mirror) pulls.
intervalstring60mOCIRepository re-pull cadence (a moved `latest` tag is picked up here).
libraries(empty)One entry per JOI image. Pick the LIBRARY version in the import path, e.g. `import 'github.com/jsonnet-libs/k8s-libsonnet/1.34/main.libsonnet'` or `.../latest/main.libsonnet`. `path: ""` exposes the whole vendor tree. The `tag` defaults to `latest` (moving); set it to a dated JOI snapshot (e.g. `2026.6.16`) to pin the image for reproducible pulls.
libraries.actions-runner-controller-libsonnetobject(empty)
libraries.actions-runner-controller-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.actions-runner-controller-libsonnet.enabledbooleanfalse
libraries.actions-runner-controller-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-actions-runner-controller-libsonnet
libraries.actions-runner-controller-libsonnet.pathstring(empty)
libraries.actions-runner-controller-libsonnet.tagstringlatest
libraries.aiven-libsonnetobject(empty)
libraries.aiven-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.aiven-libsonnet.enabledbooleanfalse
libraries.aiven-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-aiven-libsonnet
libraries.aiven-libsonnet.pathstring(empty)
libraries.aiven-libsonnet.tagstringlatest
libraries.amazon-vpc-resource-controller-libsonnetobject(empty)
libraries.amazon-vpc-resource-controller-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.amazon-vpc-resource-controller-libsonnet.enabledbooleanfalse
libraries.amazon-vpc-resource-controller-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-amazon-vpc-resource-controller-libsonnet
libraries.amazon-vpc-resource-controller-libsonnet.pathstring(empty)
libraries.amazon-vpc-resource-controller-libsonnet.tagstringlatest
libraries.argo-cd-libsonnetobject(empty)
libraries.argo-cd-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.argo-cd-libsonnet.enabledbooleanfalse
libraries.argo-cd-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-argo-cd-libsonnet
libraries.argo-cd-libsonnet.pathstring(empty)
libraries.argo-cd-libsonnet.tagstringlatest
libraries.argo-rollouts-libsonnetobject(empty)
libraries.argo-rollouts-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.argo-rollouts-libsonnet.enabledbooleanfalse
libraries.argo-rollouts-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-argo-rollouts-libsonnet
libraries.argo-rollouts-libsonnet.pathstring(empty)
libraries.argo-rollouts-libsonnet.tagstringlatest
libraries.argo-workflows-libsonnetobject(empty)
libraries.argo-workflows-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.argo-workflows-libsonnet.enabledbooleanfalse
libraries.argo-workflows-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-argo-workflows-libsonnet
libraries.argo-workflows-libsonnet.pathstring(empty)
libraries.argo-workflows-libsonnet.tagstringlatest
libraries.argocd-operator-libsonnetobject(empty)
libraries.argocd-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.argocd-operator-libsonnet.enabledbooleanfalse
libraries.argocd-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-argocd-operator-libsonnet
libraries.argocd-operator-libsonnet.pathstring(empty)
libraries.argocd-operator-libsonnet.tagstringlatest
libraries.aws-load-balancer-controller-libsonnetobject(empty)
libraries.aws-load-balancer-controller-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.aws-load-balancer-controller-libsonnet.enabledbooleanfalse
libraries.aws-load-balancer-controller-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-aws-load-balancer-controller-libsonnet
libraries.aws-load-balancer-controller-libsonnet.pathstring(empty)
libraries.aws-load-balancer-controller-libsonnet.tagstringlatest
libraries.aws-rds-controller-libsonnetobject(empty)
libraries.aws-rds-controller-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.aws-rds-controller-libsonnet.enabledbooleanfalse
libraries.aws-rds-controller-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-aws-rds-controller-libsonnet
libraries.aws-rds-controller-libsonnet.pathstring(empty)
libraries.aws-rds-controller-libsonnet.tagstringlatest
libraries.azure-load-balancer-controller-libsonnetobject(empty)
libraries.azure-load-balancer-controller-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.azure-load-balancer-controller-libsonnet.enabledbooleanfalse
libraries.azure-load-balancer-controller-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-azure-load-balancer-controller-libsonnet
libraries.azure-load-balancer-controller-libsonnet.pathstring(empty)
libraries.azure-load-balancer-controller-libsonnet.tagstringlatest
libraries.banzai-logging-libsonnetobject(empty)
libraries.banzai-logging-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.banzai-logging-libsonnet.enabledbooleanfalse
libraries.banzai-logging-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-banzai-logging-libsonnet
libraries.banzai-logging-libsonnet.pathstring(empty)
libraries.banzai-logging-libsonnet.tagstringlatest
libraries.banzaicloud-bank-vaults-libsonnetobject(empty)
libraries.banzaicloud-bank-vaults-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.banzaicloud-bank-vaults-libsonnet.enabledbooleanfalse
libraries.banzaicloud-bank-vaults-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-banzaicloud-bank-vaults-libsonnet
libraries.banzaicloud-bank-vaults-libsonnet.pathstring(empty)
libraries.banzaicloud-bank-vaults-libsonnet.tagstringlatest
libraries.calico-libsonnetobject(empty)
libraries.calico-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.calico-libsonnet.enabledbooleanfalse
libraries.calico-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-calico-libsonnet
libraries.calico-libsonnet.pathstring(empty)
libraries.calico-libsonnet.tagstringlatest
libraries.cert-manager-libsonnetobject(empty)
libraries.cert-manager-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cert-manager-libsonnet.enabledbooleanfalse
libraries.cert-manager-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cert-manager-libsonnet
libraries.cert-manager-libsonnet.pathstring(empty)
libraries.cert-manager-libsonnet.tagstringlatest
libraries.cilium-libsonnetobject(empty)
libraries.cilium-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cilium-libsonnet.enabledbooleanfalse
libraries.cilium-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cilium-libsonnet
libraries.cilium-libsonnet.pathstring(empty)
libraries.cilium-libsonnet.tagstringlatest
libraries.clickhouse-operator-libsonnetobject(empty)
libraries.clickhouse-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.clickhouse-operator-libsonnet.enabledbooleanfalse
libraries.clickhouse-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-clickhouse-operator-libsonnet
libraries.clickhouse-operator-libsonnet.pathstring(empty)
libraries.clickhouse-operator-libsonnet.tagstringlatest
libraries.cloudnative-pg-barman-cloud-plugin-libsonnetobject(empty)
libraries.cloudnative-pg-barman-cloud-plugin-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cloudnative-pg-barman-cloud-plugin-libsonnet.enabledbooleanfalse
libraries.cloudnative-pg-barman-cloud-plugin-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cloudnative-pg-barman-cloud-plugin-libsonnet
libraries.cloudnative-pg-barman-cloud-plugin-libsonnet.pathstring(empty)
libraries.cloudnative-pg-barman-cloud-plugin-libsonnet.tagstringlatest
libraries.cloudnative-pg-libsonnetobject(empty)
libraries.cloudnative-pg-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cloudnative-pg-libsonnet.enabledbooleanfalse
libraries.cloudnative-pg-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cloudnative-pg-libsonnet
libraries.cloudnative-pg-libsonnet.pathstring(empty)
libraries.cloudnative-pg-libsonnet.tagstringlatest
libraries.cluster-api-libsonnetobject(empty)
libraries.cluster-api-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cluster-api-libsonnet.enabledbooleanfalse
libraries.cluster-api-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cluster-api-libsonnet
libraries.cluster-api-libsonnet.pathstring(empty)
libraries.cluster-api-libsonnet.tagstringlatest
libraries.cluster-api-operator-libsonnetobject(empty)
libraries.cluster-api-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cluster-api-operator-libsonnet.enabledbooleanfalse
libraries.cluster-api-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cluster-api-operator-libsonnet
libraries.cluster-api-operator-libsonnet.pathstring(empty)
libraries.cluster-api-operator-libsonnet.tagstringlatest
libraries.cluster-api-provider-aws-libsonnetobject(empty)
libraries.cluster-api-provider-aws-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cluster-api-provider-aws-libsonnet.enabledbooleanfalse
libraries.cluster-api-provider-aws-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cluster-api-provider-aws-libsonnet
libraries.cluster-api-provider-aws-libsonnet.pathstring(empty)
libraries.cluster-api-provider-aws-libsonnet.tagstringlatest
libraries.cluster-api-provider-tinkerbell-libsonnetobject(empty)
libraries.cluster-api-provider-tinkerbell-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cluster-api-provider-tinkerbell-libsonnet.enabledbooleanfalse
libraries.cluster-api-provider-tinkerbell-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cluster-api-provider-tinkerbell-libsonnet
libraries.cluster-api-provider-tinkerbell-libsonnet.pathstring(empty)
libraries.cluster-api-provider-tinkerbell-libsonnet.tagstringlatest
libraries.cnrm-libsonnetobject(empty)
libraries.cnrm-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.cnrm-libsonnet.enabledbooleanfalse
libraries.cnrm-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-cnrm-libsonnet
libraries.cnrm-libsonnet.pathstring(empty)
libraries.cnrm-libsonnet.tagstringlatest
libraries.composable-libsonnetobject(empty)
libraries.composable-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.composable-libsonnet.enabledbooleanfalse
libraries.composable-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-composable-libsonnet
libraries.composable-libsonnet.pathstring(empty)
libraries.composable-libsonnet.tagstringlatest
libraries.consul-libsonnetobject(empty)
libraries.consul-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.consul-libsonnet.enabledbooleanfalse
libraries.consul-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-consul-libsonnet
libraries.consul-libsonnet.pathstring(empty)
libraries.consul-libsonnet.tagstringlatest
libraries.contour-libsonnetobject(empty)
libraries.contour-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.contour-libsonnet.enabledbooleanfalse
libraries.contour-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-contour-libsonnet
libraries.contour-libsonnet.pathstring(empty)
libraries.contour-libsonnet.tagstringlatest
libraries.crossplane-core-libsonnetobject(empty)
libraries.crossplane-core-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-core-libsonnet.enabledbooleanfalse
libraries.crossplane-core-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-core-libsonnet
libraries.crossplane-core-libsonnet.pathstring(empty)
libraries.crossplane-core-libsonnet.tagstringlatest
libraries.crossplane-libsonnetobject(empty)
libraries.crossplane-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-libsonnet.enabledbooleanfalse
libraries.crossplane-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-libsonnet
libraries.crossplane-libsonnet.pathstring(empty)
libraries.crossplane-libsonnet.tagstringlatest
libraries.crossplane-provider-grafana-libsonnetobject(empty)
libraries.crossplane-provider-grafana-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-provider-grafana-libsonnet.enabledbooleanfalse
libraries.crossplane-provider-grafana-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-provider-grafana-libsonnet
libraries.crossplane-provider-grafana-libsonnet.pathstring(empty)
libraries.crossplane-provider-grafana-libsonnet.tagstringlatest
libraries.crossplane-provider-upjet-aws-libsonnetobject(empty)
libraries.crossplane-provider-upjet-aws-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-provider-upjet-aws-libsonnet.enabledbooleanfalse
libraries.crossplane-provider-upjet-aws-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-provider-upjet-aws-libsonnet
libraries.crossplane-provider-upjet-aws-libsonnet.pathstring(empty)
libraries.crossplane-provider-upjet-aws-libsonnet.tagstringlatest
libraries.crossplane-provider-upjet-azure-libsonnetobject(empty)
libraries.crossplane-provider-upjet-azure-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-provider-upjet-azure-libsonnet.enabledbooleanfalse
libraries.crossplane-provider-upjet-azure-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-provider-upjet-azure-libsonnet
libraries.crossplane-provider-upjet-azure-libsonnet.pathstring(empty)
libraries.crossplane-provider-upjet-azure-libsonnet.tagstringlatest
libraries.crossplane-provider-upjet-azuread-libsonnetobject(empty)
libraries.crossplane-provider-upjet-azuread-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-provider-upjet-azuread-libsonnet.enabledbooleanfalse
libraries.crossplane-provider-upjet-azuread-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-provider-upjet-azuread-libsonnet
libraries.crossplane-provider-upjet-azuread-libsonnet.pathstring(empty)
libraries.crossplane-provider-upjet-azuread-libsonnet.tagstringlatest
libraries.crossplane-provider-upjet-gcp-libsonnetobject(empty)
libraries.crossplane-provider-upjet-gcp-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-provider-upjet-gcp-libsonnet.enabledbooleanfalse
libraries.crossplane-provider-upjet-gcp-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-provider-upjet-gcp-libsonnet
libraries.crossplane-provider-upjet-gcp-libsonnet.pathstring(empty)
libraries.crossplane-provider-upjet-gcp-libsonnet.tagstringlatest
libraries.crossplane-provider-upjet-github-libsonnetobject(empty)
libraries.crossplane-provider-upjet-github-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.crossplane-provider-upjet-github-libsonnet.enabledbooleanfalse
libraries.crossplane-provider-upjet-github-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-crossplane-provider-upjet-github-libsonnet
libraries.crossplane-provider-upjet-github-libsonnet.pathstring(empty)
libraries.crossplane-provider-upjet-github-libsonnet.tagstringlatest
libraries.dapr-libsonnetobject(empty)
libraries.dapr-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.dapr-libsonnet.enabledbooleanfalse
libraries.dapr-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-dapr-libsonnet
libraries.dapr-libsonnet.pathstring(empty)
libraries.dapr-libsonnet.tagstringlatest
libraries.datadog-operator-libsonnetobject(empty)
libraries.datadog-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.datadog-operator-libsonnet.enabledbooleanfalse
libraries.datadog-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-datadog-operator-libsonnet
libraries.datadog-operator-libsonnet.pathstring(empty)
libraries.datadog-operator-libsonnet.tagstringlatest
libraries.docsonnetobject(empty)
libraries.docsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.docsonnet.enabledbooleanfalse
libraries.docsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-docsonnet
libraries.docsonnet.pathstring(empty)
libraries.docsonnet.tagstringlatest
libraries.eck-operator-libsonnetobject(empty)
libraries.eck-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.eck-operator-libsonnet.enabledbooleanfalse
libraries.eck-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-eck-operator-libsonnet
libraries.eck-operator-libsonnet.pathstring(empty)
libraries.eck-operator-libsonnet.tagstringlatest
libraries.edp-keycloak-operator-libsonnetobject(empty)
libraries.edp-keycloak-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.edp-keycloak-operator-libsonnet.enabledbooleanfalse
libraries.edp-keycloak-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-edp-keycloak-operator-libsonnet
libraries.edp-keycloak-operator-libsonnet.pathstring(empty)
libraries.edp-keycloak-operator-libsonnet.tagstringlatest
libraries.emissary-libsonnetobject(empty)
libraries.emissary-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.emissary-libsonnet.enabledbooleanfalse
libraries.emissary-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-emissary-libsonnet
libraries.emissary-libsonnet.pathstring(empty)
libraries.emissary-libsonnet.tagstringlatest
libraries.envoy-gateway-libsonnetobject(empty)
libraries.envoy-gateway-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.envoy-gateway-libsonnet.enabledbooleanfalse
libraries.envoy-gateway-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-envoy-gateway-libsonnet
libraries.envoy-gateway-libsonnet.pathstring(empty)
libraries.envoy-gateway-libsonnet.tagstringlatest
libraries.etcd-operator-libsonnetobject(empty)
libraries.etcd-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.etcd-operator-libsonnet.enabledbooleanfalse
libraries.etcd-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-etcd-operator-libsonnet
libraries.etcd-operator-libsonnet.pathstring(empty)
libraries.etcd-operator-libsonnet.tagstringlatest
libraries.external-dns-libsonnetobject(empty)
libraries.external-dns-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.external-dns-libsonnet.enabledbooleanfalse
libraries.external-dns-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-external-dns-libsonnet
libraries.external-dns-libsonnet.pathstring(empty)
libraries.external-dns-libsonnet.tagstringlatest
libraries.external-secrets-libsonnetobject(empty)
libraries.external-secrets-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.external-secrets-libsonnet.enabledbooleanfalse
libraries.external-secrets-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-external-secrets-libsonnet
libraries.external-secrets-libsonnet.pathstring(empty)
libraries.external-secrets-libsonnet.tagstringlatest
libraries.flagger-libsonnetobject(empty)
libraries.flagger-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.flagger-libsonnet.enabledbooleanfalse
libraries.flagger-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-flagger-libsonnet
libraries.flagger-libsonnet.pathstring(empty)
libraries.flagger-libsonnet.tagstringlatest
libraries.fluxcd-libsonnetobject(empty)
libraries.fluxcd-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.fluxcd-libsonnet.enabledbooleanfalse
libraries.fluxcd-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-fluxcd-libsonnet
libraries.fluxcd-libsonnet.pathstring(empty)
libraries.fluxcd-libsonnet.tagstringlatest
libraries.gatekeeper-libsonnetobject(empty)
libraries.gatekeeper-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.gatekeeper-libsonnet.enabledbooleanfalse
libraries.gatekeeper-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-gatekeeper-libsonnet
libraries.gatekeeper-libsonnet.pathstring(empty)
libraries.gatekeeper-libsonnet.tagstringlatest
libraries.gateway-api-libsonnetobject(empty)
libraries.gateway-api-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.gateway-api-libsonnet.enabledbooleanfalse
libraries.gateway-api-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-gateway-api-libsonnet
libraries.gateway-api-libsonnet.pathstring(empty)
libraries.gateway-api-libsonnet.tagstringlatest
libraries.google-cloud-sql-proxy-operator-libsonnetobject(empty)
libraries.google-cloud-sql-proxy-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.google-cloud-sql-proxy-operator-libsonnet.enabledbooleanfalse
libraries.google-cloud-sql-proxy-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-google-cloud-sql-proxy-operator-libsonnet
libraries.google-cloud-sql-proxy-operator-libsonnet.pathstring(empty)
libraries.google-cloud-sql-proxy-operator-libsonnet.tagstringlatest
libraries.grafana-agent-libsonnetobject(empty)
libraries.grafana-agent-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.grafana-agent-libsonnet.enabledbooleanfalse
libraries.grafana-agent-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-grafana-agent-libsonnet
libraries.grafana-agent-libsonnet.pathstring(empty)
libraries.grafana-agent-libsonnet.tagstringlatest
libraries.grafana-alloy-libsonnetobject(empty)
libraries.grafana-alloy-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.grafana-alloy-libsonnet.enabledbooleanfalse
libraries.grafana-alloy-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-grafana-alloy-libsonnet
libraries.grafana-alloy-libsonnet.pathstring(empty)
libraries.grafana-alloy-libsonnet.tagstringlatest
libraries.grafana-operator-libsonnetobject(empty)
libraries.grafana-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.grafana-operator-libsonnet.enabledbooleanfalse
libraries.grafana-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-grafana-operator-libsonnet
libraries.grafana-operator-libsonnet.pathstring(empty)
libraries.grafana-operator-libsonnet.tagstringlatest
libraries.grafonnetobject(empty)
libraries.grafonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.grafonnet.enabledbooleanfalse
libraries.grafonnet.imagestringghcr.io/metio/joi-grafana-grafonnet
libraries.grafonnet.pathstring(empty)
libraries.grafonnet.tagstringlatest
libraries.harbor-operator-libsonnetobject(empty)
libraries.harbor-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.harbor-operator-libsonnet.enabledbooleanfalse
libraries.harbor-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-harbor-operator-libsonnet
libraries.harbor-operator-libsonnet.pathstring(empty)
libraries.harbor-operator-libsonnet.tagstringlatest
libraries.hcp-terraform-operator-libsonnetobject(empty)
libraries.hcp-terraform-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.hcp-terraform-operator-libsonnet.enabledbooleanfalse
libraries.hcp-terraform-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-hcp-terraform-operator-libsonnet
libraries.hcp-terraform-operator-libsonnet.pathstring(empty)
libraries.hcp-terraform-operator-libsonnet.tagstringlatest
libraries.istio-libsonnetobject(empty)
libraries.istio-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.istio-libsonnet.enabledbooleanfalse
libraries.istio-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-istio-libsonnet
libraries.istio-libsonnet.pathstring(empty)
libraries.istio-libsonnet.tagstringlatest
libraries.k8s-libsonnetobject(empty)
libraries.k8s-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.k8s-libsonnet.enabledbooleanfalse
libraries.k8s-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-k8s-libsonnet
libraries.k8s-libsonnet.pathstring(empty)
libraries.k8s-libsonnet.tagstringlatest
libraries.kargo-libsonnetobject(empty)
libraries.kargo-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kargo-libsonnet.enabledbooleanfalse
libraries.kargo-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kargo-libsonnet
libraries.kargo-libsonnet.pathstring(empty)
libraries.kargo-libsonnet.tagstringlatest
libraries.karpenter-libsonnetobject(empty)
libraries.karpenter-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.karpenter-libsonnet.enabledbooleanfalse
libraries.karpenter-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-karpenter-libsonnet
libraries.karpenter-libsonnet.pathstring(empty)
libraries.karpenter-libsonnet.tagstringlatest
libraries.keda-libsonnetobject(empty)
libraries.keda-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.keda-libsonnet.enabledbooleanfalse
libraries.keda-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-keda-libsonnet
libraries.keda-libsonnet.pathstring(empty)
libraries.keda-libsonnet.tagstringlatest
libraries.knative-eventing-libsonnetobject(empty)
libraries.knative-eventing-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.knative-eventing-libsonnet.enabledbooleanfalse
libraries.knative-eventing-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-knative-eventing-libsonnet
libraries.knative-eventing-libsonnet.pathstring(empty)
libraries.knative-eventing-libsonnet.tagstringlatest
libraries.knative-serving-libsonnetobject(empty)
libraries.knative-serving-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.knative-serving-libsonnet.enabledbooleanfalse
libraries.knative-serving-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-knative-serving-libsonnet
libraries.knative-serving-libsonnet.pathstring(empty)
libraries.knative-serving-libsonnet.tagstringlatest
libraries.kro-libsonnetobject(empty)
libraries.kro-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kro-libsonnet.enabledbooleanfalse
libraries.kro-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kro-libsonnet
libraries.kro-libsonnet.pathstring(empty)
libraries.kro-libsonnet.tagstringlatest
libraries.kube-prometheus-libsonnetobject(empty)
libraries.kube-prometheus-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kube-prometheus-libsonnet.enabledbooleanfalse
libraries.kube-prometheus-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kube-prometheus-libsonnet
libraries.kube-prometheus-libsonnet.pathstring(empty)
libraries.kube-prometheus-libsonnet.tagstringlatest
libraries.kubernetes-nmstate-libsonnetobject(empty)
libraries.kubernetes-nmstate-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kubernetes-nmstate-libsonnet.enabledbooleanfalse
libraries.kubernetes-nmstate-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kubernetes-nmstate-libsonnet
libraries.kubernetes-nmstate-libsonnet.pathstring(empty)
libraries.kubernetes-nmstate-libsonnet.tagstringlatest
libraries.kubernetes-secret-generator-libsonnetobject(empty)
libraries.kubernetes-secret-generator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kubernetes-secret-generator-libsonnet.enabledbooleanfalse
libraries.kubernetes-secret-generator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kubernetes-secret-generator-libsonnet
libraries.kubernetes-secret-generator-libsonnet.pathstring(empty)
libraries.kubernetes-secret-generator-libsonnet.tagstringlatest
libraries.kubevela-libsonnetobject(empty)
libraries.kubevela-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kubevela-libsonnet.enabledbooleanfalse
libraries.kubevela-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kubevela-libsonnet
libraries.kubevela-libsonnet.pathstring(empty)
libraries.kubevela-libsonnet.tagstringlatest
libraries.kueue-libsonnetobject(empty)
libraries.kueue-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kueue-libsonnet.enabledbooleanfalse
libraries.kueue-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kueue-libsonnet
libraries.kueue-libsonnet.pathstring(empty)
libraries.kueue-libsonnet.tagstringlatest
libraries.kyverno-libsonnetobject(empty)
libraries.kyverno-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.kyverno-libsonnet.enabledbooleanfalse
libraries.kyverno-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-kyverno-libsonnet
libraries.kyverno-libsonnet.pathstring(empty)
libraries.kyverno-libsonnet.tagstringlatest
libraries.litmus-chaos-libsonnetobject(empty)
libraries.litmus-chaos-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.litmus-chaos-libsonnet.enabledbooleanfalse
libraries.litmus-chaos-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-litmus-chaos-libsonnet
libraries.litmus-chaos-libsonnet.pathstring(empty)
libraries.litmus-chaos-libsonnet.tagstringlatest
libraries.mariadb-operator-libsonnetobject(empty)
libraries.mariadb-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.mariadb-operator-libsonnet.enabledbooleanfalse
libraries.mariadb-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-mariadb-operator-libsonnet
libraries.mariadb-operator-libsonnet.pathstring(empty)
libraries.mariadb-operator-libsonnet.tagstringlatest
libraries.metacontroller-libsonnetobject(empty)
libraries.metacontroller-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.metacontroller-libsonnet.enabledbooleanfalse
libraries.metacontroller-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-metacontroller-libsonnet
libraries.metacontroller-libsonnet.pathstring(empty)
libraries.metacontroller-libsonnet.tagstringlatest
libraries.metallb-libsonnetobject(empty)
libraries.metallb-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.metallb-libsonnet.enabledbooleanfalse
libraries.metallb-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-metallb-libsonnet
libraries.metallb-libsonnet.pathstring(empty)
libraries.metallb-libsonnet.tagstringlatest
libraries.milvus-operator-libsonnetobject(empty)
libraries.milvus-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.milvus-operator-libsonnet.enabledbooleanfalse
libraries.milvus-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-milvus-operator-libsonnet
libraries.milvus-operator-libsonnet.pathstring(empty)
libraries.milvus-operator-libsonnet.tagstringlatest
libraries.minio-operator-libsonnetobject(empty)
libraries.minio-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.minio-operator-libsonnet.enabledbooleanfalse
libraries.minio-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-minio-operator-libsonnet
libraries.minio-operator-libsonnet.pathstring(empty)
libraries.minio-operator-libsonnet.tagstringlatest
libraries.mysql-operator-libsonnetobject(empty)
libraries.mysql-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.mysql-operator-libsonnet.enabledbooleanfalse
libraries.mysql-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-mysql-operator-libsonnet
libraries.mysql-operator-libsonnet.pathstring(empty)
libraries.mysql-operator-libsonnet.tagstringlatest
libraries.nats-libsonnetobject(empty)
libraries.nats-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.nats-libsonnet.enabledbooleanfalse
libraries.nats-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-nats-libsonnet
libraries.nats-libsonnet.pathstring(empty)
libraries.nats-libsonnet.tagstringlatest
libraries.node-feature-discovery-libsonnetobject(empty)
libraries.node-feature-discovery-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.node-feature-discovery-libsonnet.enabledbooleanfalse
libraries.node-feature-discovery-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-node-feature-discovery-libsonnet
libraries.node-feature-discovery-libsonnet.pathstring(empty)
libraries.node-feature-discovery-libsonnet.tagstringlatest
libraries.openshift-libsonnetobject(empty)
libraries.openshift-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.openshift-libsonnet.enabledbooleanfalse
libraries.openshift-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-openshift-libsonnet
libraries.openshift-libsonnet.pathstring(empty)
libraries.openshift-libsonnet.tagstringlatest
libraries.prometheus-operator-libsonnetobject(empty)
libraries.prometheus-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.prometheus-operator-libsonnet.enabledbooleanfalse
libraries.prometheus-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-prometheus-operator-libsonnet
libraries.prometheus-operator-libsonnet.pathstring(empty)
libraries.prometheus-operator-libsonnet.tagstringlatest
libraries.pyrra-libsonnetobject(empty)
libraries.pyrra-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.pyrra-libsonnet.enabledbooleanfalse
libraries.pyrra-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-pyrra-libsonnet
libraries.pyrra-libsonnet.pathstring(empty)
libraries.pyrra-libsonnet.tagstringlatest
libraries.rabbitmq-libsonnetobject(empty)
libraries.rabbitmq-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.rabbitmq-libsonnet.enabledbooleanfalse
libraries.rabbitmq-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-rabbitmq-libsonnet
libraries.rabbitmq-libsonnet.pathstring(empty)
libraries.rabbitmq-libsonnet.tagstringlatest
libraries.rabbitmq-messaging-topology-operator-libsonnetobject(empty)
libraries.rabbitmq-messaging-topology-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.rabbitmq-messaging-topology-operator-libsonnet.enabledbooleanfalse
libraries.rabbitmq-messaging-topology-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-rabbitmq-messaging-topology-operator-libsonnet
libraries.rabbitmq-messaging-topology-operator-libsonnet.pathstring(empty)
libraries.rabbitmq-messaging-topology-operator-libsonnet.tagstringlatest
libraries.secrets-store-csi-driver-libsonnetobject(empty)
libraries.secrets-store-csi-driver-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.secrets-store-csi-driver-libsonnet.enabledbooleanfalse
libraries.secrets-store-csi-driver-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-secrets-store-csi-driver-libsonnet
libraries.secrets-store-csi-driver-libsonnet.pathstring(empty)
libraries.secrets-store-csi-driver-libsonnet.tagstringlatest
libraries.securecodebox-libsonnetobject(empty)
libraries.securecodebox-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.securecodebox-libsonnet.enabledbooleanfalse
libraries.securecodebox-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-securecodebox-libsonnet
libraries.securecodebox-libsonnet.pathstring(empty)
libraries.securecodebox-libsonnet.tagstringlatest
libraries.spicedb-operator-libsonnetobject(empty)
libraries.spicedb-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.spicedb-operator-libsonnet.enabledbooleanfalse
libraries.spicedb-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-spicedb-operator-libsonnet
libraries.spicedb-operator-libsonnet.pathstring(empty)
libraries.spicedb-operator-libsonnet.tagstringlatest
libraries.strimzi-libsonnetobject(empty)
libraries.strimzi-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.strimzi-libsonnet.enabledbooleanfalse
libraries.strimzi-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-strimzi-libsonnet
libraries.strimzi-libsonnet.pathstring(empty)
libraries.strimzi-libsonnet.tagstringlatest
libraries.tailscale-operator-libsonnetobject(empty)
libraries.tailscale-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.tailscale-operator-libsonnet.enabledbooleanfalse
libraries.tailscale-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-tailscale-operator-libsonnet
libraries.tailscale-operator-libsonnet.pathstring(empty)
libraries.tailscale-operator-libsonnet.tagstringlatest
libraries.tektoncd-libsonnetobject(empty)
libraries.tektoncd-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.tektoncd-libsonnet.enabledbooleanfalse
libraries.tektoncd-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-tektoncd-libsonnet
libraries.tektoncd-libsonnet.pathstring(empty)
libraries.tektoncd-libsonnet.tagstringlatest
libraries.teleport-operator-libsonnetobject(empty)
libraries.teleport-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.teleport-operator-libsonnet.enabledbooleanfalse
libraries.teleport-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-teleport-operator-libsonnet
libraries.teleport-operator-libsonnet.pathstring(empty)
libraries.teleport-operator-libsonnet.tagstringlatest
libraries.testonnetobject(empty)
libraries.testonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.testonnet.enabledbooleanfalse
libraries.testonnet.imagestringghcr.io/metio/joi-jsonnet-libs-testonnet
libraries.testonnet.pathstring(empty)
libraries.testonnet.tagstringlatest
libraries.tinkerbell-libsonnetobject(empty)
libraries.tinkerbell-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.tinkerbell-libsonnet.enabledbooleanfalse
libraries.tinkerbell-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-tinkerbell-libsonnet
libraries.tinkerbell-libsonnet.pathstring(empty)
libraries.tinkerbell-libsonnet.tagstringlatest
libraries.traefik-libsonnetobject(empty)
libraries.traefik-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.traefik-libsonnet.enabledbooleanfalse
libraries.traefik-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-traefik-libsonnet
libraries.traefik-libsonnet.pathstring(empty)
libraries.traefik-libsonnet.tagstringlatest
libraries.triggermesh-libsonnetobject(empty)
libraries.triggermesh-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.triggermesh-libsonnet.enabledbooleanfalse
libraries.triggermesh-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-triggermesh-libsonnet
libraries.triggermesh-libsonnet.pathstring(empty)
libraries.triggermesh-libsonnet.tagstringlatest
libraries.trust-manager-libsonnetobject(empty)
libraries.trust-manager-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.trust-manager-libsonnet.enabledbooleanfalse
libraries.trust-manager-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-trust-manager-libsonnet
libraries.trust-manager-libsonnet.pathstring(empty)
libraries.trust-manager-libsonnet.tagstringlatest
libraries.upbound-provider-opentofu-libsonnetobject(empty)
libraries.upbound-provider-opentofu-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.upbound-provider-opentofu-libsonnet.enabledbooleanfalse
libraries.upbound-provider-opentofu-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-upbound-provider-opentofu-libsonnet
libraries.upbound-provider-opentofu-libsonnet.pathstring(empty)
libraries.upbound-provider-opentofu-libsonnet.tagstringlatest
libraries.vault-secrets-operator-libsonnetobject(empty)
libraries.vault-secrets-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.vault-secrets-operator-libsonnet.enabledbooleanfalse
libraries.vault-secrets-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-vault-secrets-operator-libsonnet
libraries.vault-secrets-operator-libsonnet.pathstring(empty)
libraries.vault-secrets-operator-libsonnet.tagstringlatest
libraries.vertical-pod-autoscaler-libsonnetobject(empty)
libraries.vertical-pod-autoscaler-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.vertical-pod-autoscaler-libsonnet.enabledbooleanfalse
libraries.vertical-pod-autoscaler-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-vertical-pod-autoscaler-libsonnet
libraries.vertical-pod-autoscaler-libsonnet.pathstring(empty)
libraries.vertical-pod-autoscaler-libsonnet.tagstringlatest
libraries.victoria-metrics-operator-libsonnetobject(empty)
libraries.victoria-metrics-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.victoria-metrics-operator-libsonnet.enabledbooleanfalse
libraries.victoria-metrics-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-victoria-metrics-operator-libsonnet
libraries.victoria-metrics-operator-libsonnet.pathstring(empty)
libraries.victoria-metrics-operator-libsonnet.tagstringlatest
libraries.xtdobject(empty)
libraries.xtd.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.xtd.enabledbooleanfalse
libraries.xtd.imagestringghcr.io/metio/joi-jsonnet-libs-xtd
libraries.xtd.pathstring(empty)
libraries.xtd.tagstringlatest
libraries.zalando-postgres-operator-libsonnetobject(empty)
libraries.zalando-postgres-operator-libsonnet.closurearray(empty)libraries this one imports; auto-enabled with it
libraries.zalando-postgres-operator-libsonnet.enabledbooleanfalse
libraries.zalando-postgres-operator-libsonnet.imagestringghcr.io/metio/joi-jsonnet-libs-zalando-postgres-operator-libsonnet
libraries.zalando-postgres-operator-libsonnet.pathstring(empty)
libraries.zalando-postgres-operator-libsonnet.tagstringlatest
namespacestring(empty)Namespace the OCIRepository + JsonnetLibrary objects land in (release ns when empty).
registryMirrorstring(empty)Internal registry mirror for the JOI OCI artifacts (rewrites the registry host).