You are using podspec v2?
Looking at the debug log, I don’t see a “version: 2” in the podspec.
Also, for v2, the CRD section is under a “kubernetesResources” section in a separate yaml file, passed to the pod-spec-set command via --k8s-resources or via an additional parameter to the base layer pod_spec_set() func.
But having said all that, your yaml looks like you’re trying to create a k8s Ingress resource. That’s not a resource of type CustomResourceDefinition which is what Juju is designed to support for this feature, which is where you basically take the spec portion of a k8s CustomResourceDefinition yaml file and pass that to Juju.
eg if the k8s yaml looked like this:
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: tfjobs.kubeflow.org
version: v1alpha2
spec:
group: kubeflow.org
names:
kind: TFJob
plural: tfjobs
singular: tfjob
scope: Namespaced
validation:
openAPIV3Schema:
properties:
spec:
properties:
...
the Juju yaml would be:
kubernetesResources:
customResourceDefinitions:
tfjobs.kubeflow.org:
group: kubeflow.org
version: v1alpha2
scope: Namespaced
names:
plural: "tfjobs"
singular: "tfjob"
kind: TFJob
validation:
openAPIV3Schema:
properties:
...
Juju doesn’t currently support creating Ingress Resources directly. It will create one for an application when that application is exposed via juju expose. We currently support just setting the Rules attribute though. There’s a little documentation here:
It’s certain that not all use cases are supported yet. Can you expand more on what you need? Can we look at implementing something in terms of juju expose for a given application?