Skip to content

Commit b88e6ed

Browse files
author
Sivaram Mothiki
committed
Merge pull request #78 from smothiki/buildurl
feat(builder): add support for custom buildpack url
2 parents 49c303f + bb648b7 commit b88e6ed

3 files changed

Lines changed: 37 additions & 11 deletions

File tree

pkg/src/get-app-config.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ func main() {
2929
builderKey := flag.String("key", "", "Builder Key")
3030
user := flag.String("user", "", "Controller username")
3131
app := flag.String("app", "", "Controller application name")
32+
value := flag.String("value", "", "key value from config values")
3233

3334
flag.Parse()
3435

35-
if flag.NFlag() < 4 {
36+
if flag.NFlag() < 5 {
3637
flag.Usage()
3738
os.Exit(1)
3839
}
@@ -104,6 +105,18 @@ func main() {
104105
fmt.Printf("%v\n", err)
105106
os.Exit(1)
106107
}
108+
107109
toString, err := json.Marshal(config)
108-
fmt.Println(string(toString))
110+
if err != nil {
111+
fmt.Printf("failed JSON marshal (%v)\n", err)
112+
os.Exit(1)
113+
}
114+
115+
if *value == "all" {
116+
fmt.Println(string(toString))
117+
}
118+
val, present := config.Values[*value]
119+
if present {
120+
fmt.Println(val)
121+
}
109122
}

rootfs/etc/confd/templates/builder

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,14 @@ else
7474
PROCFILE="{}"
7575
fi
7676

77+
URL="http://$DEIS_WORKFLOW_SERVICE_HOST:$DEIS_WORKFLOW_SERVICE_PORT/v2/hooks/config"
78+
RESPONSE=$(get-app-config -url="$URL" -key="{{ getv "/deis/controller/builderKey" }}" -user=$USER -app=$APP_NAME -value="BUILDPACK_URL")
79+
CODE=$?
80+
if [ $CODE -ne 0 ]; then
81+
puts-warn $RESPONSE
82+
exit 1
83+
fi
84+
7785
if [[ ! -f /var/run/secrets/object/store/access-key-id ]]; then
7886
if $USING_DOCKERFILE ; then
7987
l1=`grep -n "object-store" /etc/deis-dockerbuilder.yaml | head -n1 |cut -d ":" -f1`
@@ -84,14 +92,24 @@ if [[ ! -f /var/run/secrets/object/store/access-key-id ]]; then
8492
sed "$l1,$l2 d" /etc/${SLUG_NAME}.yaml.tmp > /etc/${SLUG_NAME}.yaml
8593
sed -i -- "s#repo_name#$TMP_IMAGE#g" /etc/${SLUG_NAME}.yaml
8694
else
87-
head -n 21 /etc/deis-slugbuilder.yaml > /etc/${SLUG_NAME}.yaml
95+
if [ -n "$RESPONSE" ] ; then
96+
head -n 20 /etc/deis-slugbuilder.yaml > /etc/${SLUG_NAME}.yaml
97+
sed -i -- "s#buildurl#$RESPONSE#g" /etc/${SLUG_NAME}.yaml
98+
else
99+
head -n 18 /etc/deis-slugbuilder.yaml > /etc/${SLUG_NAME}.yaml
100+
fi
88101
fi
89102
else
90103
if $USING_DOCKERFILE ; then
91104
cp /etc/deis-dockerbuilder.yaml /etc/${SLUG_NAME}.yaml
92105
sed -i -- "s#repo_name#$TMP_IMAGE#g" /etc/${SLUG_NAME}.yaml
93106
else
94-
cp /etc/deis-slugbuilder.yaml /etc/${SLUG_NAME}.yaml
107+
if [ -n "$RESPONSE" ] ; then
108+
cp /etc/deis-slugbuilder.yaml /etc/${SLUG_NAME}.yaml
109+
sed -i -- "s#buildurl#$RESPONSE#g" /etc/${SLUG_NAME}.yaml
110+
else
111+
sed "19,20 d" /etc/deis-slugbuilder.yaml> /etc/${SLUG_NAME}.yaml
112+
fi
95113
fi
96114
fi
97115

@@ -163,13 +181,6 @@ fi
163181
puts-step "Build complete."
164182
puts-step "Launching app."
165183

166-
URL="http://$DEIS_WORKFLOW_SERVICE_HOST:$DEIS_WORKFLOW_SERVICE_PORT/v2/hooks/config"
167-
RESPONSE=$(get-app-config -url="$URL" -key="{{ getv "/deis/controller/builderKey" }}" -user=$USER -app=$APP_NAME)
168-
CODE=$?
169-
if [ $CODE -ne 0 ]; then
170-
puts-warn $RESPONSE
171-
exit 1
172-
fi
173184

174185
# use Procfile if provided, otherwise try default process types from ./release
175186

rootfs/etc/deis-slugbuilder.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ spec:
1616
value: tar-url
1717
- name : put_url
1818
value: puturl
19+
- name: BUILDPACK_URL
20+
value: buildurl
1921
volumeMounts:
2022
- name: minio-user
2123
mountPath: /var/run/secrets/object/store

0 commit comments

Comments
 (0)