CAAS charms installing resources and secrets

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?