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: 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.
|
||||
// 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 {
|
||||
traits.Base // add the base methods without re-implementation
|
||||
|
||||
|
||||
@@ -1,3 +1,30 @@
|
||||
# This builds a tar archive with a copy of our deploy.
|
||||
deploy:tar "/tmp/somedeploy.tar" {
|
||||
import "deploy"
|
||||
|
||||
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