Skip to content

Commit 3461c13

Browse files
committed
WIP: Instructions for developing with kind
1 parent 5c72df2 commit 3461c13

File tree

1 file changed

+166
-0
lines changed

1 file changed

+166
-0
lines changed

porch/README.kind.md

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
```
2+
kind create cluster
3+
kind export kubeconfig
4+
```
5+
6+
7+
```
8+
IMAGE_TAG=$(date +%Y%m%dT%H%M%S)
9+
IMAGE_REPO=localkind IMAGE_TAG=${IMAGE_TAG} make build-images
10+
11+
# TODO: Do we need to load on Linux?
12+
kind load docker-image localkind/porch-function-runner:${IMAGE_TAG}
13+
kind load docker-image localkind/porch-controllers:${IMAGE_TAG}
14+
kind load docker-image localkind/porch-wrapper-server:${IMAGE_TAG}
15+
kind load docker-image localkind/porch-server:${IMAGE_TAG}
16+
kind load docker-image localkind/test-git-server:${IMAGE_TAG}
17+
18+
IMAGE_REPO=localkind IMAGE_TAG=${IMAGE_TAG} make deploy-no-sa
19+
```
20+
21+
```
22+
cat ../e2e/testdata/porch/git-server.yaml | \
23+
sed -e s/test-git-namespace/git-system/g |
24+
sed -e s~GIT_SERVER_IMAGE~localkind/test-git-server:${IMAGE_TAG}~g |
25+
kubectl apply -f -
26+
```
27+
28+
29+
30+
```
31+
32+
kubectl apply -f - <<EOF
33+
apiVersion: config.porch.kpt.dev/v1alpha1
34+
kind: Repository
35+
metadata:
36+
name: blueprints
37+
namespace: default
38+
spec:
39+
description: Blueprints Git Repository
40+
content: Package
41+
type: git
42+
git:
43+
repo: https://github.com/justinsb/kpt-samples
44+
branch: packages
45+
directory: ""
46+
EOF
47+
48+
```
49+
50+
51+
```
52+
53+
kubectl apply -f - <<EOF
54+
apiVersion: config.porch.kpt.dev/v1alpha1
55+
kind: Repository
56+
metadata:
57+
name: deployment
58+
namespace: default
59+
spec:
60+
content: Package
61+
deployment: true
62+
description: 'Deployment Repository'
63+
type: git
64+
git:
65+
branch: main-branch
66+
createBranch: true
67+
#directory: /
68+
repo: http://git-server.git-system.svc.cluster.local:8080/deployment
69+
EOF
70+
71+
```
72+
73+
```
74+
kubectl config set-context $(kubectl config current-context) --namespace default
75+
kubectl get packagerevision
76+
kubectl get packagerevision --field-selector spec.packageName=echo
77+
kubectl get packagerevision --field-selector spec.packageName=echo -oyaml
78+
79+
kubectl get packagerevisionresources
80+
kubectl get packagerevisionresources --field-selector spec.packageName=echo
81+
kubectl get packagerevisionresources --field-selector spec.packageName=echo -oyaml
82+
83+
```
84+
85+
```
86+
kubectl apply -f - <<EOF
87+
apiVersion: porch.kpt.dev/v1alpha1
88+
kind: PackageRevision
89+
metadata:
90+
namespace: default
91+
name: "deployment:external-secrets:v1"
92+
spec:
93+
packageName: external-secrets
94+
revision: v1
95+
repository: deployment
96+
tasks:
97+
- type: clone
98+
clone:
99+
upstreamRef:
100+
type: git
101+
git:
102+
repo: https://github.com/justinsb/kpt-samples
103+
ref: packages
104+
directory: external-secrets
105+
EOF
106+
107+
```
108+
109+
```
110+
111+
kubectl get packagerevision -n default --field-selector spec.packageName=external-secrets
112+
kubectl get packagerevision -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment
113+
kubectl get packagerevision -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment -oyaml
114+
115+
kubectl get packagerevisionresources -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment
116+
kubectl get packagerevisionresources -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment -oyaml | less
117+
118+
119+
```
120+
121+
kubectl apply -f - <<EOF
122+
apiVersion: porch.kpt.dev/v1alpha1
123+
kind: PackageRevision
124+
metadata:
125+
namespace: default
126+
name: "deployment:external-secrets:v1"
127+
spec:
128+
packageName: external-secrets
129+
revision: v1
130+
repository: deployment
131+
tasks:
132+
- type: clone
133+
clone:
134+
upstreamRef:
135+
type: git
136+
git:
137+
repo: https://github.com/justinsb/kpt-samples
138+
ref: packages
139+
directory: external-secrets
140+
- type: eval
141+
eval:
142+
image: gcr.io/kpt-fn/set-labels:v0.1.5
143+
configMap:
144+
first-label: label-value
145+
another-label: another-label-value
146+
EOF
147+
148+
```
149+
150+
```
151+
kubectl get packagerevision -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment
152+
kubectl get packagerevision -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment -oyaml
153+
154+
kubectl get packagerevisionresources -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment
155+
kubectl get packagerevisionresources -n default --field-selector spec.packageName=external-secrets --field-selector spec.repository=deployment -oyaml | less
156+
```
157+
158+
# Reset procedure
159+
160+
```
161+
162+
k delete repository --all
163+
k delete pod -n porch-system --all
164+
k delete pod -n git-system --all
165+
166+
```

0 commit comments

Comments
 (0)