1

我在尝试使用 Dhall for Kubernetes 时收到一条奇怪的错误消息,我不明白。这是我的配置:

let k8s = ./k8s.dhall

let utils = ./utils.dhall

let Env = utils.Env

in  \(env : Env) ->
      k8s.Ingress::{
      , metadata = k8s.ObjectMeta::{
        , name = Some "my-ingress"
        , annotations = Some
          [ { mapKey = "kubernetes.io/ingress.global-static-ip-name"
            , mapValue = "my-ip"
            }
          ]
        }
      , spec = Some k8s.IngressSpec::{
        , defaultBackend = Some k8s.IngressBackend::{
          , service = Some k8s.IngressServiceBackend::{
            , name = "my-nginx"
            , port = Some k8s.ServiceBackendPort::{ number = Some 71742 }
            }
          }
        }
      }

这是错误消息:

↳ ./ingress.dhall

Error: Missing record field: IngressServiceBackend

19│                            k8s.IngressServiceBackend

/Users/damd/Code/proj/ingress.dhall:19:28

23│                    ./ingress.dhall

./proj.dhall:23:20

IngressServiceBackend所以在我看来它没有找到k8s?但是,k8s定义为https://raw.githubusercontent.com/dhall-lang/dhall-kubernetes/master/1.19/package.dhall并且当我手动浏览该 URL 时,我可以看到它在那里。

有任何想法吗?

4

1 回答 1

1

清除我的 Dhall 缓存似乎已经解决了这个问题。不知道发生了什么。

$ rm -rf ~/.cache/dhall*

希望这对其他人有帮助。

于 2021-03-19T21:34:37.930 回答