Skip to content

Commit 9682ece

Browse files
authored
Do not expose development values to kc package bundle (#1111)
Structure the config values to have a clear separation of values Update dev-deploy.sh to use these config values Signed-off-by: Praveen Rewar <[email protected]>
1 parent dc9017a commit 9682ece

18 files changed

+108
-75
lines changed

.github/workflows/kind-action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
3939
source ./hack/version-util.sh
4040
41-
ytt -f config/ -v kapp_controller_version="$(get_kappctrl_ver)+develop" | kbld -f- > kbld.out 2> kbldmeta.out
41+
ytt -f config -f config-dev -v dev.version="$(get_kappctrl_ver)+develop" | kbld -f- > kbld.out 2> kbldmeta.out
4242
cat kbldmeta.out | tail -n 1 | sed 's/.*final: kapp-controller -> \(.*\)$/\1/p' | tail -n 1 | xargs kind load docker-image --name kinder
4343
kapp deploy -a kc -f kbld.out -c -y
4444

config-dev/build.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#@ load("@ytt:data", "data")
2+
3+
---
4+
apiVersion: kbld.k14s.io/v1alpha1
5+
kind: Config
6+
sources:
7+
- image: kapp-controller
8+
path: .
9+
docker:
10+
buildx:
11+
#@ if data.values.dev.rapid_deploy:
12+
pull: false
13+
noCache: false
14+
file: Dockerfile.dev
15+
buildkit: true
16+
#@ elif data.values.dev.push_images:
17+
#! Always rebuild image
18+
pull: true
19+
noCache: true
20+
#@ end
21+
#! pass kapp_controller_version into Dockerfile.
22+
rawOptions:
23+
- #@ "--build-arg=KCTRL_VER="+data.values.dev.version
24+
#@ if/end data.values.dev.platform != "":
25+
- #@ "--platform="+data.values.dev.platform
26+
27+
#@ if/end data.values.dev.push_images:
28+
---
29+
apiVersion: kbld.k14s.io/v1alpha1
30+
kind: Config
31+
destinations:
32+
- image: kapp-controller
33+
newImage: #@ data.values.dev.image_repo

config-dev/values-schema.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#@data/values-schema
2+
---
3+
#@overlay/match missing_ok=True
4+
#@overlay/match-child-defaults
5+
#@schema/desc "Configuration explicitly for developing kapp-controller"
6+
dev:
7+
#@schema/desc "Whether to push images to the OCI registry or not"
8+
push_images: false
9+
#@schema/desc "Whether to use the faster deployment type whilst developing (must have deployed to a cluster once fully first)"
10+
rapid_deploy: false
11+
#@schema/desc "Location of kapp-controller image"
12+
image_repo: docker.io/k14s/kapp-controller-test
13+
#@schema/desc "Development version"
14+
version: develop
15+
#@schema/desc "Comma separated list of supported architectures"
16+
platform: ""
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#@ load("@ytt:data", "data")
22

3+
---
34
apiVersion: kbld.k14s.io/v1alpha1
45
kind: Config
56
sources:
@@ -8,17 +9,15 @@ sources:
89
docker:
910
buildx:
1011
pull: true
11-
noCache: #@ not data.values.image_cache
12+
noCache: true
1213
#! pass kapp_controller_version into Dockerfile.
1314
rawOptions:
14-
- #@ "--build-arg=KCTRL_VER="+data.values.kapp_controller_version
15-
#@ if/end data.values.platform != "":
16-
- #@ "--platform="+data.values.platform
17-
18-
#@ if/end data.values.push_images:
15+
- #@ "--build-arg=KCTRL_VER="+data.values.dev.version
16+
#@ if/end data.values.dev.platform != "":
17+
- #@ "--platform="+data.values.dev.platform
1918
---
2019
apiVersion: kbld.k14s.io/v1alpha1
2120
kind: Config
2221
destinations:
2322
- image: kapp-controller
24-
newImage: #@ data.values.image_repo
23+
newImage: #@ data.values.dev.image_repo

config-release/values-schema.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#@data/values-schema
2+
---
3+
#@overlay/match missing_ok=True
4+
#@overlay/match-child-defaults
5+
#@schema/desc "Configuration explicitly for developing kapp-controller"
6+
dev:
7+
#@schema/desc "Location of kapp-controller image"
8+
image_repo: ghcr.io/carvel-dev/kapp-controller
9+
#@schema/desc "Development version"
10+
version: develop
11+
#@schema/desc "Comma separated list of supported architectures"
12+
platform: "linux/amd64,linux/arm64"

config-release/values.yaml

Lines changed: 0 additions & 6 deletions
This file was deleted.

config/deployment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
name: kapp-controller
77
namespace: #@ data.values.namespace
88
annotations:
9-
kapp-controller.carvel.dev/version: #@ data.values.kapp_controller_version
9+
kapp-controller.carvel.dev/version: v0.0.0
1010
spec:
1111
selector:
1212
matchLabels:

config/values-schema.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#@data/values-schema
2+
---
3+
#@schema/desc "The namespace in which to deploy kapp-controller"
4+
namespace: kapp-controller
5+
#@schema/desc "Whether to create namespace specified for kapp-controller"
6+
create_namespace: true
7+
#@schema/desc "The global packaging namespace for kapp-controller"
8+
packaging_global_namespace: kapp-controller-packaging-global
9+
#@schema/desc "Whether to create the global packaging namespace for kapp-controller"
10+
create_packaging_namespace: true
11+
#! clusters version 1.19 and below should disable APIPriorityAndFairness by setting the below to false
12+
#@schema/desc "Whether to enable api priority and fairness"
13+
enable_api_priority_and_fairness: true
14+
#@schema/desc "Whether to enable pprofiling for kapp-controller"
15+
dangerous_enable_pprof: false
16+
#@schema/desc "Comma separated list of cipher suites - empty for language defaults"
17+
tls_cipher_suites: ""
18+
#@schema/desc "API port"
19+
api_port: 10350

config/values.yml

Lines changed: 0 additions & 21 deletions
This file was deleted.

docs/dev.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ things up.
3939

4040
#### Non-minikube environment
4141

42-
1. Change the [push_images property](https://github.com/carvel-dev/kapp-controller/blob/develop/config/values.yml#L10) to true
43-
2. Change the [image_repo property](https://github.com/carvel-dev/kapp-controller/blob/develop/config/values.yml#L12) to the location to push the kapp-controller image
42+
1. Change the [push_images property](https://github.com/carvel-dev/kapp-controller/blob/develop/config-dev/values-schema.yml#L8) to true
43+
2. Change the [image_repo property](https://github.com/carvel-dev/kapp-controller/blob/develop/config-dev/values-schema.yml#L12) to the location to push the kapp-controller image
4444
3. Run `./hack/deploy.sh`
4545

4646
*Note:* As above, while iterating you may prefer to run
@@ -170,15 +170,15 @@ to the date of the original release. For example:
170170
#### Release development process
171171

172172
If you are making changes to the release process and want to test the process, it is recommended
173-
to work on a fork of kapp-controller instead of against the repository in the vmware-tanzu organization.
173+
to work on a fork of kapp-controller instead of against the repository in the carvel-dev organization.
174174

175175
To do this, you can start by forking this repository.
176176

177177
Next, head to the `Actions` tab of the fork you are using and enable GitHub Actions to run
178178
against this fork (i.e. By default, Actions do not run against forked repositories).
179179

180-
Change the [`config-release/values.yml`](../config-release/values.yml) to point to your forked repository by changing
181-
`image_repo: ghcr.io/vmware-tanzu/carvel-kapp-controller` to `image_repo: ghcr.io/<YOUR GitHub USERNAME>/carvel-kapp-controller`.
180+
Change the [`config-release/values-schema.yml`](../config-release/values-schema.yml) to point to your forked repository by changing
181+
`image_repo: ghcr.io/carvel-dev/kapp-controller` to `image_repo: ghcr.io/<YOUR GitHub USERNAME>/kapp-controller`.
182182

183183
After these steps have been carried out, you can trigger the release process by pushing a tag
184184
to your forked repository.

0 commit comments

Comments
 (0)