# utils
```go
import "repo.katenary.io/katenary/katenary/internal/utils"
```
Package utils provides some utility functions used in katenary. It defines some constants and functions used in the whole project.
## Constants
DirectoryPermission is the default values for permissions apply to created directories.
```go
const DirectoryPermission = 0o755
```
## func [AsResourceName]()
```go
func AsResourceName(name string) string
```
AsResourceName returns a resource name with underscores to respect the kubernetes naming convention. It's the opposite of FixedResourceName.
## func [Confirm]()
```go
func Confirm(question string, icon ...Icon) bool
```
Confirm asks a question and returns true if the answer is y.
## func [CountStartingSpaces]()
```go
func CountStartingSpaces(line string) int
```
CountStartingSpaces counts the number of spaces at the beginning of a string.
## func [EncodeBasicYaml]()
```go
func EncodeBasicYaml(data any) ([]byte, error)
```
EncodeBasicYaml encodes a basic yaml from an interface.
## func [FixedResourceName]()
```go
func FixedResourceName(name string) string
```
FixedResourceName returns a resource name without underscores to respect the kubernetes naming convention.
## func [GetContainerByName]()
```go
func GetContainerByName(name string, containers []corev1.Container) (*corev1.Container, int)
```
GetContainerByName returns a container by name and its index in the array. It returns nil, \-1 if not found.
## func [GetKind]()
```go
func GetKind(path string) (kind string)
```
GetKind returns the kind of the resource from the file path.
## func [GetServiceNameByPort]()
```go
func GetServiceNameByPort(port int) string
```
GetServiceNameByPort returns the service name for a port. It the service name is not found, it returns an empty string.
## func [GetValuesFromLabel]()
```go
func GetValuesFromLabel(service types.ServiceConfig, LabelValues string) map[string]*EnvConfig
```
GetValuesFromLabel returns a map of values from a label.
## func [HashComposefiles]()
```go
func HashComposefiles(files []string) (string, error)
```
HashComposefiles returns a hash of the compose files.
## func [Int32Ptr]()
```go
func Int32Ptr(i int32) *int32
```
Int32Ptr returns a pointer to an int32.
## func [PathToName]()
```go
func PathToName(path string) string
```
PathToName converts a path to a kubernetes complient name.
## func [StrPtr]()
```go
func StrPtr(s string) *string
```
StrPtr returns a pointer to a string.
## func [TplName]()
```go
func TplName(serviceName, appname string, suffix ...string) string
```
TplName returns the name of the kubernetes resource as a template string. It is used in the templates and defined in \_helper.tpl file.
## func [TplValue]()
```go
func TplValue(serviceName, variable string, pipes ...string) string
```
TplValue returns a string that can be used in a template to access a value from the values file.
## func [Warn]()
```go
func Warn(msg ...any)
```
Warn prints a warning message
## func [WordWrap]()
```go
func WordWrap(text string, lineWidth int) string
```
WordWrap wraps a string to a given line width. Warning: it may break the string. You need to check the result.
## func [Wrap]()
```go
func Wrap(src, above, below string) string
```
Wrap wraps a string with a string above and below. It will respect the indentation of the src string.
## type [EnvConfig]()
EnvConfig is a struct to hold the description of an environment variable.
```go
type EnvConfig struct {
Service types.ServiceConfig
Description string
}
```
## type [Icon]()
Icon is a unicode icon
```go
type Icon string
```
Icons used in katenary.
```go
const (
IconSuccess Icon = "✅"
IconFailure Icon = "❌"
IconWarning Icon = "❕"
IconNote Icon = "📝"
IconWorld Icon = "🌐"
IconPlug Icon = "🔌"
IconPackage Icon = "📦"
IconCabinet Icon = "🗄️"
IconInfo Icon = "🔵"
IconSecret Icon = "🔒"
IconConfig Icon = "🔧"
IconDependency Icon = "🔗"
)
```
Generated by [gomarkdoc]()