I have the following definitions:
class nginx::install{
...
}
class nginx::service{
...
}
class nginx::config{
...
}
class nginx{
include nginx::install, nginx::service, nginx::config
}
class jenkins::nginx{
include nginx
file{'/etc/nginx/sites-enabled/jenkins':
source => ...,
require => Class['nginx'],
}
}
But when I run this, Puppet tells me that I have a cycle:
err: Could not apply complete catalog: Found 1 dependency cycle:
(Class[Jenkins::Nginx] => File[/etc/nginx/sites-available/jenkins] => Class[Jenkins::Nginx])
Try the '--graph' option and opening the resulting '.dot' file in OmniGraffle or GraphViz
The plain reference to nginx in jenkins::nginx references itself. How do I tell Puppet that I depend on the top-level nginx class instead?
I tried to change my dependency to Class['::nginx']
(as if I was in Ruby), and Puppet now tells me it can't find the dependency.