Skip to content

Commit d5629c5

Browse files
committed
Forms handling
Signed-off-by: Artiom Diomin <artiom@kubermatic.com>
1 parent 9a0703f commit d5629c5

8 files changed

Lines changed: 594 additions & 531 deletions

File tree

go.mod

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ require (
1717
github.com/distribution/reference v0.6.0
1818
github.com/dominodatalab/os-release v0.0.0-20190522011736-bcdb4a3e3c2f
1919
github.com/go-logr/logr v1.4.3
20+
github.com/go-playground/form/v4 v4.3.0
21+
github.com/go-playground/validator/v10 v10.10.1
2022
github.com/google/go-cmp v0.7.0
2123
github.com/google/go-containerregistry v0.21.7
2224
github.com/google/go-github/v65 v65.0.0
@@ -146,6 +148,8 @@ require (
146148
github.com/go-openapi/strfmt v0.23.0 // indirect
147149
github.com/go-openapi/swag v0.23.1 // indirect
148150
github.com/go-openapi/validate v0.24.0 // indirect
151+
github.com/go-playground/locales v0.14.0 // indirect
152+
github.com/go-playground/universal-translator v0.18.0 // indirect
149153
github.com/go-resty/resty/v2 v2.14.0 // indirect
150154
github.com/gobwas/glob v0.2.3 // indirect
151155
github.com/gofrs/flock v0.13.0 // indirect
@@ -179,6 +183,7 @@ require (
179183
github.com/kr/text v0.2.0 // indirect
180184
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
181185
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
186+
github.com/leodido/go-urn v1.2.1 // indirect
182187
github.com/lib/pq v1.12.3 // indirect
183188
github.com/linode/linodego v1.40.0 // indirect
184189
github.com/mailru/easyjson v0.9.0 // indirect

go.sum

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,11 @@ github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZ
296296
github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0=
297297
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
298298
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
299+
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
300+
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
301+
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
302+
github.com/go-playground/form/v4 v4.3.0 h1:OVttojbQv2WNCs4P+VnjPtrt/+30Ipw4890W3OaFlvk=
303+
github.com/go-playground/form/v4 v4.3.0/go.mod h1:Cpe1iYJKoXb1vILRXEwxpWMGWyQuqplQ/4cvPecy+Jo=
299304
github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU=
300305
github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
301306
github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho=
@@ -455,6 +460,8 @@ github.com/koron-go/prefixw v1.0.2 h1:Si0QuHwHElvWnJXlcg1bXwg4PNoBXtcZeN4lpe8PUm
455460
github.com/koron-go/prefixw v1.0.2/go.mod h1:WZvD0yrbCrkJD23tq03BhCu1ucn5ZenktcXt39QbPyk=
456461
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
457462
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
463+
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
464+
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
458465
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
459466
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
460467
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -593,6 +600,8 @@ github.com/redis/go-redis/v9 v9.7.3 h1:YpPyAayJV+XErNsatSElgRZZVCwXX9QzkKYNvO7x0
593600
github.com/redis/go-redis/v9 v9.7.3/go.mod h1:bGUrSggJ9X9GUmZpZNEOQKaANxSGgOEBRltRTZHSvrA=
594601
github.com/rivo/uniseg v0.1.0 h1:+2KBaVoUmb9XzDsrx/Ct0W/EYOSFf/nWTauy++DprtY=
595602
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
603+
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
604+
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
596605
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
597606
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
598607
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
@@ -744,6 +753,7 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U
744753
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
745754
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
746755
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
756+
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
747757
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
748758
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
749759
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
@@ -849,6 +859,7 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
849859
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
850860
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
851861
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
862+
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
852863
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
853864
golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
854865
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -975,6 +986,7 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8
975986
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
976987
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
977988
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
989+
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
978990
gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo=
979991
gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
980992
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=

pkg/dashboard/components.templ

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,8 @@ templ NodesTable(nodes []node) {
132132

133133
templ RolloutButton(md machineDeployment) {
134134
<form method="POST" action="/rollout" hx-post="/rollout" hx-target="body" hx-swap="outerHTML">
135-
<input type="hidden" name="namespace" value={ md.Namespace }/>
136-
<input type="hidden" name="name" value={ md.Name }/>
135+
<input type="hidden" name="Namespace" value={ md.Namespace }/>
136+
<input type="hidden" name="Name" value={ md.Name }/>
137137
<button type="submit" class="btn btn-outline-warning btn-sm" title="Force rollout">
138138
<i class="bi bi-arrow-repeat me-1"></i>Rollout
139139
</button>
@@ -143,9 +143,9 @@ templ RolloutButton(md machineDeployment) {
143143
templ ScaleButtons(md machineDeployment) {
144144
<div class="d-flex align-items-center gap-2">
145145
<form method="POST" action="/scale" hx-post="/scale" hx-target="body" hx-swap="outerHTML">
146-
<input type="hidden" name="namespace" value={ md.Namespace }/>
147-
<input type="hidden" name="name" value={ md.Name }/>
148-
<input type="hidden" name="direction" value="down"/>
146+
<input type="hidden" name="Namespace" value={ md.Namespace }/>
147+
<input type="hidden" name="Name" value={ md.Name }/>
148+
<input type="hidden" name="Direction" value="down"/>
149149
<button
150150
type="submit"
151151
class="btn btn-outline-secondary btn-sm"
@@ -155,9 +155,9 @@ templ ScaleButtons(md machineDeployment) {
155155
</form>
156156
<span class="fw-semibold">{ fmt.Sprintf("%d", md.Replicas) }</span>
157157
<form method="POST" action="/scale" hx-post="/scale" hx-target="body" hx-swap="outerHTML">
158-
<input type="hidden" name="namespace" value={ md.Namespace }/>
159-
<input type="hidden" name="name" value={ md.Name }/>
160-
<input type="hidden" name="direction" value="up"/>
158+
<input type="hidden" name="Namespace" value={ md.Namespace }/>
159+
<input type="hidden" name="Name" value={ md.Name }/>
160+
<input type="hidden" name="Direction" value="up"/>
161161
<button type="submit" class="btn btn-outline-primary btn-sm" title="Scale up">+</button>
162162
</form>
163163
</div>
@@ -241,8 +241,8 @@ templ MachinesTable(machines []machine) {
241241
<td>{ m.Age.String() }</td>
242242
<td>
243243
<form method="POST" action="/delete-machine" hx-post="/delete-machine" hx-target="body" hx-swap="outerHTML">
244-
<input type="hidden" name="namespace" value={ m.Namespace }/>
245-
<input type="hidden" name="name" value={ m.Name }/>
244+
<input type="hidden" name="Namespace" value={ m.Namespace }/>
245+
<input type="hidden" name="Name" value={ m.Name }/>
246246
<button
247247
type="submit"
248248
class="btn btn-outline-danger btn-sm"
@@ -292,9 +292,9 @@ templ NodePodsTable(nodeName string, pods []pod) {
292292
hx-target={ fmt.Sprintf("[id='pods-%s']", nodeName) }
293293
hx-swap="innerHTML"
294294
>
295-
<input type="hidden" name="node" value={ nodeName }/>
296-
<input type="hidden" name="namespace" value={ p.Namespace }/>
297-
<input type="hidden" name="name" value={ p.Name }/>
295+
<input type="hidden" name="Node" value={ nodeName }/>
296+
<input type="hidden" name="Namespace" value={ p.Namespace }/>
297+
<input type="hidden" name="Name" value={ p.Name }/>
298298
<button
299299
type="submit"
300300
class="btn btn-outline-danger btn-sm"

pkg/dashboard/components_templ.go

Lines changed: 13 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)