add filebase64 function (#11791)
Signed-off-by: Conor Evans <coevans@tcd.ie>
This commit is contained in:
parent
116d78a89c
commit
86116a7607
|
@ -0,0 +1,3 @@
|
|||
```release-note:improvement
|
||||
hcl: added support for using the `filebase64` function in jobspecs
|
||||
```
|
|
@ -105,6 +105,7 @@ func Functions(basedir string, allowFS bool) map[string]function.Function {
|
|||
"basename": guardFS(allowFS, filesystem.BasenameFunc),
|
||||
"dirname": guardFS(allowFS, filesystem.DirnameFunc),
|
||||
"file": guardFS(allowFS, filesystem.MakeFileFunc(basedir, false)),
|
||||
"filebase64": guardFS(allowFS, filesystem.MakeFileFunc(basedir, true)),
|
||||
"fileexists": guardFS(allowFS, filesystem.MakeFileExistsFunc(basedir)),
|
||||
"fileset": guardFS(allowFS, filesystem.MakeFileSetFunc(basedir)),
|
||||
"pathexpand": guardFS(allowFS, filesystem.PathExpandFunc),
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
layout: docs
|
||||
page_title: filebase64 - Functions - Configuration Language
|
||||
description: |-
|
||||
The filebase64 function reads the contents of the file at the given path and
|
||||
returns them as a base64-encoded string.
|
||||
---
|
||||
|
||||
# `filebase64` Function
|
||||
|
||||
`filebase64` reads the contents of a file at the given path and returns them as
|
||||
a base64-encoded string.
|
||||
|
||||
```hcl
|
||||
filebase64(path)
|
||||
```
|
||||
|
||||
The result is a Base64 representation of the raw bytes in the given file.
|
||||
|
||||
Nomad uses the "standard" Base64 alphabet as defined in
|
||||
[RFC 4648 section 4](https://tools.ietf.org/html/rfc4648#section-4).
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
> filebase64("${path.module}/hello.txt")
|
||||
SGVsbG8gV29ybGQ=
|
||||
```
|
||||
|
||||
## Related Functions
|
||||
|
||||
* [`file`](/docs/job-specification/hcl2/functions/file/file) also reads the contents of a given file,
|
||||
but interprets the data as UTF-8 text and returns the result directly
|
||||
as a string, without any further encoding.
|
||||
* [`base64decode`](/docs/job-specification/hcl2/functions/encoding/base64decode) can decode a
|
||||
Base64 string representing bytes in UTF-8, but in practice `base64decode(filebase64(...))`
|
||||
is equivalent to the shorter expression `file(...)`.
|
|
@ -1082,6 +1082,10 @@
|
|||
"title": "file",
|
||||
"path": "job-specification/hcl2/functions/file/file"
|
||||
},
|
||||
{
|
||||
"title": "filebase64",
|
||||
"path": "job-specification/hcl2/functions/file/filebase64"
|
||||
},
|
||||
{
|
||||
"title": "fileexists",
|
||||
"path": "job-specification/hcl2/functions/file/fileexists"
|
||||
|
|
Loading…
Reference in New Issue