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:
James Shubin
2024-10-13 20:47:47 -04:00
parent d3a7cefcc6
commit 1f12150d8f
2 changed files with 31 additions and 2 deletions

View File

@@ -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

View File

@@ -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
#}