Skip to content

Commit e9542d8

Browse files
hhBobyMCbobs
authored andcommitted
bring back vcluster template yaml
1 parent ce8c9b0 commit e9542d8

File tree

3 files changed

+264
-0
lines changed

3 files changed

+264
-0
lines changed

examples/templates/vcluster/README.org

+216
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
#+title: Readme
2+
3+
* Cluster API
4+
Needs on or against run a kubernetes cluster w/ cluster-api
5+
#+begin_src shell
6+
kubectl create ns vclusters
7+
#+end_src
8+
9+
#+RESULTS:
10+
#+begin_example
11+
#+end_example
12+
13+
* Terraform Styles
14+
Don't use "heredoc" strings to generate JSON or YAML. Instead, use the jsonencode function or the yamlencode function so that Terraform can be responsible for guaranteeing valid JSON or YAML syntax.
15+
- https://www.terraform.io/language/expressions/strings#generating-json-or-yaml
16+
* build coder
17+
#+begin_src shell :dir "../../.."
18+
go build cmd/coder
19+
sudo cp coder /usr/local/bin
20+
ls -la /usr/local/bin/coder
21+
/usr/local/bin/coder version
22+
#+end_src
23+
24+
#+RESULTS:
25+
#+begin_example
26+
-rwxr-xr-x 1 root root 63885468 Oct 2 22:19 /usr/local/bin/coder
27+
Coder v0.0.0-devel+8850ed7 Thu Sep 29 18:49:51 UTC 2022
28+
https://github.com/coder/coder/commit/8850ed7e5eda8979030b3affd7e1cfebac7d632c
29+
#+end_example
30+
31+
* Coder Iteration Loop
32+
** Start Coder
33+
#+begin_src tmate :window coder :dir "../../.."
34+

35+
cd ~/sharingio/coder
36+
rm -rf ~/.config/coderv2/ # delete database
37+
coder server --address=0.0.0.0:7080 --access-url=http://localhost:7080 --tunnel \
38+
2>&1 | tee coder-server.log
39+
#+end_src
40+
#+begin_src shell
41+
coder login `cat ~/.config/coderv2/url` -u ii -p ii -e ii@ii.nz
42+
#+end_src
43+
44+
#+RESULTS:
45+
#+begin_example
46+
> Your Coder deployment hasn't been set up!
47+
48+
Welcome to Coder, ii! You're authenticated.
49+
50+
Get started by creating a template: coder templates init
51+
#+end_example
52+
53+
** kubernetes workspace
54+
#+begin_src shell :dir "../../.."
55+
coder template create kubernetes -d examples/templates/kubernetes --yes --parameter-file examples/templates/kubernetes/kubernetes.param.yaml
56+
coder create k1 --template kubernetes --parameter-file examples/templates/kubernetes/kubernetes.param.yaml --yes
57+
#+end_src
58+
59+
#+RESULTS:
60+
#+begin_example
61+
⧗ Queued
62+
✔ Queued [460ms]
63+
⧗ Setting up
64+
✔ Setting up [56ms]
65+
⧗ Adding README.md...
66+
✔ Adding README.md... [55ms]
67+
⧗ Parsing template parameters
68+
✔ Parsing template parameters [115ms]
69+
⧗ Cleaning Up
70+
✘ Cleaning Up [106ms]
71+
72+
Attempting to read the variables from the parameter file.
73+
74+
75+
This template has required variables! They are scoped to
76+
the template, and not viewable after being set.
77+
78+
79+
⧗ Queued
80+
✔ Queued [130ms]
81+
⧗ Setting up
82+
✔ Setting up [56ms]
83+
⧗ Adding README.md...
84+
✔ Adding README.md... [56ms]
85+
⧗ Parsing template parameters
86+
✔ Parsing template parameters [117ms]
87+
⧗ Detecting persistent resources
88+
Terraform 1.2.4
89+
data.coder_workspace.me: Refreshing...
90+
data.coder_workspace.me: Refresh complete after 0s [id=a5e5f05a-cddf-4b99-8e7d-52504a5aa775]
91+
coder_agent.main: Plan to create
92+
coder_app.code-server: Plan to create
93+
kubernetes_persistent_volume_claim.home: Plan to create
94+
kubernetes_pod.main[0]: Plan to create
95+
Plan: 4 to add, 0 to change, 0 to destroy.
96+
✔ Detecting persistent resources [3374ms]
97+
⧗ Detecting ephemeral resources
98+
Terraform 1.2.4
99+
data.coder_workspace.me: Refreshing...
100+
data.coder_workspace.me: Refresh complete after 0s [id=ecf39110-bf1f-4490-8043-f92e6c0d4a54]
101+
coder_agent.main: Plan to create
102+
coder_app.code-server: Plan to create
103+
kubernetes_persistent_volume_claim.home: Plan to create
104+
Plan: 3 to add, 0 to change, 0 to destroy.
105+
✔ Detecting ephemeral resources [3671ms]
106+
⧗ Cleaning Up
107+
✔ Cleaning Up [116ms]
108+
┌─────────────────────────────────────────────┐
109+
│ Template Preview │
110+
├─────────────────────────────────────────────┤
111+
│ RESOURCE │
112+
├─────────────────────────────────────────────┤
113+
│ kubernetes_persistent_volume_claim.home │
114+
├─────────────────────────────────────────────┤
115+
│ kubernetes_pod.main │
116+
│ └─ main (linux, amd64) │
117+
└─────────────────────────────────────────────┘
118+
119+
The kubernetes template has been created at Oct 2 22:20:06! Developers can
120+
provision a workspace with this template using:
121+
122+
coder create --template="kubernetes" [workspace name]
123+
124+
125+
Attempting to read the variables from the parameter file.
126+
127+
128+
This template has customizable parameters. Values can be
129+
changed after create, but may have unintended side effects
130+
(like data loss).
131+
132+
133+
Planning workspace...
134+
⧗ Queued
135+
✔ Queued [415ms]
136+
⧗ Setting up
137+
✔ Setting up [1490ms]
138+
⧗ Detecting persistent resources
139+
✔ Detecting persistent resources [1846ms]
140+
⧗ Cleaning Up
141+
✔ Cleaning Up [111ms]
142+
┌───────────────────────────────────────────────────────────┐
143+
│ Workspace Preview │
144+
├───────────────────────────────────────────────────────────┤
145+
│ RESOURCE ACCESS │
146+
├───────────────────────────────────────────────────────────┤
147+
│ kubernetes_persistent_volume_claim.home │
148+
├───────────────────────────────────────────────────────────┤
149+
│ kubernetes_pod.main │
150+
│ └─ main (linux, amd64) coder ssh k1 │
151+
└───────────────────────────────────────────────────────────┘
152+
⧗ Queued
153+
✔ Queued [19ms]
154+
⧗ Setting up
155+
✔ Setting up [54ms]
156+
⧗ Starting workspace
157+
Terraform 1.2.4
158+
data.coder_workspace.me: Refreshing...
159+
data.coder_workspace.me: Refresh complete after 0s [id=b14cb471-6ca6-4999-946c-f4a19f953145]
160+
coder_agent.main: Plan to create
161+
coder_app.code-server: Plan to create
162+
kubernetes_persistent_volume_claim.home: Plan to create
163+
kubernetes_pod.main[0]: Plan to create
164+
Plan: 4 to add, 0 to change, 0 to destroy.
165+
coder_agent.main: Creating...
166+
coder_agent.main: Creation complete after 0s [id=b7cc64b6-e2a2-44d4-aeab-e2d4f70f849d]
167+
coder_app.code-server: Creating...
168+
coder_app.code-server: Creation complete after 0s [id=1966a6a6-c6fd-426e-977f-f426b94f2b2a]
169+
kubernetes_persistent_volume_claim.home: Creating...
170+
kubernetes_persistent_volume_claim.home: Creation complete after 0s [id=coder-workspaces/coder-ii-k1-home]
171+
kubernetes_pod.main[0]: Creating...
172+
kubernetes_pod.main[0]: Still creating... [10s elapsed]
173+
kubernetes_pod.main[0]: Creation complete after 13s [id=coder-workspaces/coder-ii-k1]
174+
Apply complete! Resources: 4 added, 0 changed, 0 destroyed.
175+
Outputs: 0
176+
✔ Starting workspace [16687ms]
177+
⧗ Cleaning Up
178+
✔ Cleaning Up [108ms]
179+
180+
The k1 workspace has been created at Oct 2 22:20:27!
181+
#+end_example
182+
183+
** vcluster workspace
184+
*** create template and cluster
185+
#+nobegin_src shell :dir "../../.."
186+
#+begin_src tmate :dir "../../.." :window vcluster
187+
cd ~/sharingio/coder
188+
coder template create vcluster -d examples/templates/vcluster --yes --parameter-file examples/templates/vcluster/vcluster.param.yaml
189+
coder create v1 --template vcluster --parameter-file examples/templates/vcluster/vcluster.param.yaml --yes
190+
#+end_src
191+
*** update template and new cluster
192+
#+nobegin_src shell :dir "../../.."
193+
#+begin_src tmate :dir "../../.." :window vcluster
194+
export WORKSPACE=v7
195+
coder template push vcluster -d examples/templates/vcluster --yes --parameter-file examples/templates/vcluster/vcluster.param.yaml
196+
coder create $WORKSPACE --template vcluster --parameter-file examples/templates/vcluster/vcluster.param.yaml --yes
197+
unset KUBECONFIG
198+
TMPFILE=$(mktemp -t kubeconfig-XXXXX)
199+
kubectl get secrets -n $WORKSPACE ${WORKSPACE}-kubeconfig -o jsonpath={.data.value} | base64 -d > $TMPFILE
200+
export KUBECONFIG=$TMPFILE
201+
kubectl get ns
202+
#+end_src
203+
204+
#+RESULTS:
205+
#+begin_example
206+
#+end_example
207+
208+
** coder url
209+
#+begin_src shell :dir "../../.."
210+
grep "coder login https://" coder-server.log | cut -d\ -f 4
211+
#+end_src
212+
213+
#+RESULTS:
214+
#+begin_example
215+
https://fcca4fb3bd56fd75311a90cf0d331cfa.pit-1.try.coder.app
216+
#+end_example
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: coder
5+
namespace: default
6+
---
7+
apiVersion: rbac.authorization.k8s.io/v1
8+
kind: ClusterRoleBinding
9+
metadata:
10+
name: coder
11+
roleRef:
12+
apiGroup: rbac.authorization.k8s.io
13+
kind: ClusterRole
14+
name: cluster-admin
15+
subjects:
16+
- kind: ServiceAccount
17+
name: coder
18+
namespace: default
19+
---
20+
apiVersion: apps/v1
21+
kind: StatefulSet
22+
metadata:
23+
name: code-server
24+
namespace: default
25+
spec:
26+
selector:
27+
matchLabels:
28+
app: code-server
29+
serviceName: code-server
30+
template:
31+
metadata:
32+
labels:
33+
app: code-server
34+
spec:
35+
serviceAccountName: coder
36+
securityContext:
37+
runAsUser: 1000
38+
fsGroup: 1000
39+
containers:
40+
- name: code-server
41+
image: codercom/enterprise-base:ubuntu
42+
command: ${coder_command}
43+
securityContext:
44+
runAsUser: 1000
45+
env:
46+
- name: CODER_AGENT_TOKEN
47+
value: ${coder_token}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
base_domain: sanskar.pair.sharing.io

0 commit comments

Comments
 (0)