hashicorp / nomad-pack

Mozilla Public License 2.0
399 stars 52 forks source link

Pack dependency : no such file or directory #395

Closed dani closed 1 year ago

dani commented 1 year ago

Either I'm missing something, or the dependency betwwen packs can't be used with current nightly. I'm trying to play with packs, and have created a common pack to centralize templates commonly used. Now, I try to use it in another pack. In this other pack, I've defined the dependency like mentionned in the doc

app {
  url = "https://github.com/democratic-csi/democratic-csi"
}

pack {
  name        = "democratic_csi"
  description = "CSI plugin for Nomad to use storage (NFS and iSCSI) from FreeNAS / TrueNAS"
  url         = "https://git.local/dani/nomad/packs/democratic_csi"
  version     = "0.0.1"
}

dependency "common" {
  # This is my common template
  source = "https://git.local/dani/nomad/packs/common"
}

Now if I try to render my pack

[dbd@laptop-103 democratic_csi]$ nomad-pack render .
! Failed To Process Pack

    Error:   failed to load pack dependency: failed to load dependent pack: stat /home/dbd/src/nomad/packs/democratic_csi/deps/common: no such file or directory
    Type:    *errors.errorString
    Context: 
             - Registry Name: <<local folder>>
             - Pack Name: democratic_csi
             - Pack Ref: <<none>>
             - Pack Path: /home/dbd/src/nomad/packs/democratic_csi

[dbd@laptop-103 democratic_csi]$ 

When working localy, I can create a link to the local common pack

[dbd@laptop-103 democratic_csi]$ mkdir deps
[dbd@laptop-103 democratic_csi]$ ln -s ../../common deps/common

But this only works localy, not when using the registry through git. And it's mentionned no where in the doc. Am I missing something obvious or is there a bug somewhere ?

dani commented 1 year ago

Just saw bug #255 which is the same issue