fix(pxc): raise haproxy conn limit (#732)

diff --git a/roles/defaults/helpers.go b/roles/defaults/helpers.go
new file mode 100644
index 0000000..a7bd833
--- /dev/null
+++ b/roles/defaults/helpers.go
@@ -0,0 +1,28 @@
+package defaults
+
+import (
+	"regexp"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+	"github.com/stretchr/testify/require"
+)
+
+var (
+	r *regexp.Regexp
+)
+
+func init() {
+	r, _ = regexp.Compile(`{{ atmosphere_images\['(?P<ImageName>\w+)'] \| vexxhost.kubernetes.docker_image\('ref'\) }}`)
+}
+
+func AssertAtmosphereImage(t *testing.T, expected string, value string) {
+	matches := r.FindStringSubmatch(value)
+	require.Len(t, matches, 2)
+	imageName := matches[1]
+
+	image, err := GetImageByKey(imageName)
+	require.NoError(t, err)
+
+	assert.Equal(t, expected, image)
+}
diff --git a/roles/defaults/vars.go b/roles/defaults/vars.go
new file mode 100644
index 0000000..07b3dc0
--- /dev/null
+++ b/roles/defaults/vars.go
@@ -0,0 +1,27 @@
+package defaults
+
+import (
+	"bytes"
+	_ "embed"
+
+	"github.com/goccy/go-yaml"
+)
+
+var (
+	//go:embed vars/main.yml
+	vars_file []byte
+)
+
+func GetImageByKey(key string) (string, error) {
+	path, err := yaml.PathString("$._atmosphere_images." + key)
+	if err != nil {
+		return "", err
+	}
+
+	var image string
+	if err := path.Read(bytes.NewReader(vars_file), &image); err != nil {
+		return "", err
+	}
+
+	return image, nil
+}