engine: resources, examples: lang: Expand on future deploy ideas
This is one idea for reference. But I doubt this is needed anytime soon since we have a good working solution in the examples.
This commit is contained in:
@@ -61,6 +61,8 @@ func init() {
|
|||||||
// TODO: support send/recv to send the output instead of writing to a file?
|
// TODO: support send/recv to send the output instead of writing to a file?
|
||||||
// TODO: This resource is very similar to the tar resource. Update that one if
|
// TODO: This resource is very similar to the tar resource. Update that one if
|
||||||
// this changes, or consider porting this to use that as a composite resource.
|
// this changes, or consider porting this to use that as a composite resource.
|
||||||
|
// TODO: consider using a `deploy.get_archive()` function to make a .tar, and a
|
||||||
|
// file resource to store those contents on disk with whatever mode we want...
|
||||||
type DeployTar struct {
|
type DeployTar struct {
|
||||||
traits.Base // add the base methods without re-implementation
|
traits.Base // add the base methods without re-implementation
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,30 @@
|
|||||||
# This builds a tar archive with a copy of our deploy.
|
import "deploy"
|
||||||
deploy:tar "/tmp/somedeploy.tar" {
|
|
||||||
|
file "/tmp/mgmt/" {
|
||||||
|
state => $const.res.file.state.exists,
|
||||||
|
recurse => true, # XXX: BUG: deploy:tar is purged without a file tag
|
||||||
|
purge => true,
|
||||||
|
#owner => "root",
|
||||||
|
#group => "root",
|
||||||
|
#mode => "u=rwx,g=rx,o=", # dir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# This builds a tar archive with a copy of our deploy.
|
||||||
|
deploy:tar "/tmp/mgmt/somedeploy1.tar" {
|
||||||
|
|
||||||
|
Depend => File["/tmp/mgmt/"], # make the dir first!
|
||||||
|
}
|
||||||
|
|
||||||
|
# Tag this so that the folder purge doesn't remove it.
|
||||||
|
file "/tmp/mgmt/somedeploy1.tar" {
|
||||||
|
mode => "u=rw,g=rw,o=rw", # file
|
||||||
|
|
||||||
|
Meta:retry => -1, # changing the mode on this file can be racy
|
||||||
|
}
|
||||||
|
|
||||||
|
# Alternatively:
|
||||||
|
#file "/tmp/mgmt/somedeploy2.tar" {
|
||||||
|
# state => $const.res.file.state.exists,
|
||||||
|
# content => deploy.get_archive(), # TODO: implement me
|
||||||
|
# mode => "u=rw,g=rw,o=rw", # file
|
||||||
|
#}
|
||||||
|
|||||||
Reference in New Issue
Block a user