mirror of
https://github.com/openfaas/faas.git
synced 2025-06-20 13:06:40 +00:00
**What** - Add the ability to specify secrets as a csv - Vendor the docker/cli/opts - Update the guide for secrets to use the `faas-cli` **Why** - Allowing the csv specification of secrets gives users more control about how those secrets are mounted into the container. This is good for things like key rotation and for developers that are building on top of OpenFaaS. Signed-off-by: Lucas Roesler <lucas.roesler@gmail.com>
38 lines
814 B
Go
38 lines
814 B
Go
package opts
|
|
|
|
// QuotedString is a string that may have extra quotes around the value. The
|
|
// quotes are stripped from the value.
|
|
type QuotedString struct {
|
|
value *string
|
|
}
|
|
|
|
// Set sets a new value
|
|
func (s *QuotedString) Set(val string) error {
|
|
*s.value = trimQuotes(val)
|
|
return nil
|
|
}
|
|
|
|
// Type returns the type of the value
|
|
func (s *QuotedString) Type() string {
|
|
return "string"
|
|
}
|
|
|
|
func (s *QuotedString) String() string {
|
|
return string(*s.value)
|
|
}
|
|
|
|
func trimQuotes(value string) string {
|
|
lastIndex := len(value) - 1
|
|
for _, char := range []byte{'\'', '"'} {
|
|
if value[0] == char && value[lastIndex] == char {
|
|
return value[1:lastIndex]
|
|
}
|
|
}
|
|
return value
|
|
}
|
|
|
|
// NewQuotedString returns a new quoted string option
|
|
func NewQuotedString(value *string) *QuotedString {
|
|
return &QuotedString{value: value}
|
|
}
|