diff --git a/.gitignore b/.gitignore index f250ed6..fea0345 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,5 @@ tuto3.iso.gz tuto3-kernel tuto3-state/ fonts/ -students*.csv \ No newline at end of file +students*.csv +vendor/ \ No newline at end of file diff --git a/Makefile b/Makefile index 39dd5db..b75c0b7 100644 --- a/Makefile +++ b/Makefile @@ -1,84 +1,86 @@ +LINUXKIT ?= $(GOPATH)/bin/linuxkit + tuto1: token-validator/token-validator server.iso pkg/login-app: pkg/login-app/cmd/login.go pkg/login-app/cmd/dialog-checklogin.go pkg/login-app/cmd/cmd pkg/login-app/cmd/dialog-login.go pkg/login-app/cmd/login-app pkg/login-app/cmd/dialog-errmsg.go pkg/login-app/cmd/main.go pkg/login-app/cmd/stream.go pkg/login-app/cmd/cinematic.go pkg/login-app/build.yml pkg/login-app/Dockerfile - linuxkit pkg build -org nemunaire pkg/login-app/ - #linuxkit pkg push -org nemunaire --sign=false pkg/login-app/ + $(LINUXKIT) pkg build -org nemunaire pkg/login-app/ + #$(LINUXKIT) pkg push -org nemunaire --sign=false pkg/login-app/ touch pkg/login-app login-initrd.img: login.yml pkg/login-app - linuxkit build -docker $< + $(LINUXKIT) build -docker $< token-validator/token-validator: token-validator/*.go go generate ./token-validator GOOS=linux GOARM=5 GOARCH=arm go build -tags netgo -ldflags '-w -extldflags "-static"' -o $@ ./token-validator challenge: pkg/challenge/adlin pkg/challenge/issue pkg/challenge/init - linuxkit pkg build -org nemunaire pkg/challenge/ + $(LINUXKIT) pkg build -org nemunaire pkg/challenge/ challenge-initrd.img: challenge.yml subject/adlin.6.gz subject/adlin-TP1-topologie.png - linuxkit build -docker $< + $(LINUXKIT) build -docker $< pkg/arp-spoofer: pkg/arp-spoofer/cmd/main.go pkg/arp-spoofer/cmd/arp.go pkg/arp-spoofer/build.yml pkg/arp-spoofer/Dockerfile - linuxkit pkg build -org nemunaire $@ + $(LINUXKIT) pkg build -org nemunaire $@ touch $@ pkg/login-validator: pkg/login-validator/cmd/login.go pkg/login-validator/cmd/main.go pkg/login-validator/cmd/pxetpl.go pkg/login-validator/cmd/logout.go pkg/login-validator/cmd/auth.go pkg/login-validator/cmd/arp.go pkg/login-validator/cmd/auth_krb5.go pkg/login-validator/cmd/auth_ldap.go pkg/login-validator/cmd/students.go pkg/login-validator/cmd/auth_fwd.go pkg/login-validator/cmd/ssh.go pkg/login-validator/build.yml pkg/login-validator/Dockerfile - linuxkit pkg build -org nemunaire pkg/login-validator/ + $(LINUXKIT) pkg build -org nemunaire pkg/login-validator/ touch pkg/login-validator pkg/monit: pkg/monit/build.yml pkg/monit/Dockerfile - linuxkit pkg build -org nemunaire pkg/monit/ + $(LINUXKIT) pkg build -org nemunaire pkg/monit/ touch pkg/monit pkg/postfix: pkg/postfix/build.yml pkg/postfix/docker-entrypoint.sh pkg/postfix/Dockerfile - linuxkit pkg build -org nemunaire pkg/postfix/ + $(LINUXKIT) pkg build -org nemunaire pkg/postfix/ touch pkg/postfix pkg/tftpd: pkg/tftpd/build.yml pkg/tftpd/Dockerfile - linuxkit pkg build -org nemunaire pkg/tftpd/ + $(LINUXKIT) pkg build -org nemunaire pkg/tftpd/ touch pkg/tftpd pkg/unbound: pkg/unbound/build.yml pkg/unbound/docker-entrypoint.sh pkg/unbound/Dockerfile - linuxkit pkg build -org nemunaire pkg/unbound/ + $(LINUXKIT) pkg build -org nemunaire pkg/unbound/ touch pkg/unbound pkg/wg-manager: pkg/wg-manager/cmd/register.go pkg/wg-manager/cmd/main.go pkg/wg-manager/build.yml pkg/wg-manager/Dockerfile - linuxkit pkg build -org nemunaire pkg/wg-manager/ + $(LINUXKIT) pkg build -org nemunaire pkg/wg-manager/ touch pkg/wg-manager server.iso: server.yml students.csv ssl/fullchain.pem ssl/privkey.pem challenge-initrd.img pkg/arp-spoofer pkg/login-validator pkg/monit pkg/postfix pkg/tftpd pkg/unbound pkg/wg-manager challenge-kernel login-initrd.img - linuxkit build -docker -format iso-bios $< + $(LINUXKIT) build -docker -format iso-bios $< pkg/debian-tuto2: pkg/debian-tuto2/sshd_config pkg/debian-tuto2/gai.conf pkg/debian-tuto2/isolinux.cfg pkg/debian-tuto2/build.yml pkg/debian-tuto2/default.script pkg/debian-tuto2/issue pkg/debian-tuto2/Dockerfile - linuxkit pkg build -org nemunaire pkg/debian-tuto2/ + $(LINUXKIT) pkg build -org nemunaire pkg/debian-tuto2/ touch pkg/debian-tuto2 pkg/debian-tuto3: pkg/debian-tuto3/sshd_config pkg/debian-tuto3/build.yml pkg/debian-tuto3/issue pkg/debian-tuto3/Dockerfile - linuxkit pkg build -org nemunaire pkg/debian-tuto3/ + $(LINUXKIT) pkg build -org nemunaire pkg/debian-tuto3/ touch pkg/debian-tuto3 pkg/router-tuto3: pkg/router-tuto3/build.yml pkg/router-tuto3/Dockerfile - linuxkit pkg build -org nemunaire pkg/router-tuto3/ + $(LINUXKIT) pkg build -org nemunaire pkg/router-tuto3/ touch pkg/router-tuto3 pkg/tinydeb: pkg/tinydeb/sshd_config pkg/tinydeb/gai.conf pkg/tinydeb/build.yml pkg/tinydeb/Dockerfile - linuxkit pkg build -org nemunaire pkg/tinydeb/ + $(LINUXKIT) pkg build -org nemunaire pkg/tinydeb/ touch pkg/tinydeb pkg/nsd: pkg/nsd/sshd_config pkg/nsd/build.yml pkg/nsd/init pkg/nsd/Dockerfile - linuxkit pkg build -org nemunaire pkg/tinydeb/ + $(LINUXKIT) pkg build -org nemunaire pkg/tinydeb/ touch pkg/nsd tuto2-kernel: tuto2.yml - linuxkit build -docker $< + $(LINUXKIT) build -docker $< tuto2-initrd.img: tuto2.yml - linuxkit build -docker $< + $(LINUXKIT) build -docker $< tuto2-cmdline: tuto2.yml - linuxkit build -docker $< + $(LINUXKIT) build -docker $< tuto2.iso: tuto2.yml pkg/debian-tuto2 tuto2-kernel tuto2-initrd.img tuto2-cmdline - linuxkit build -docker -format iso-bios $< + $(LINUXKIT) build -docker -format iso-bios $< tuto2-srs.iso: tuto2.iso pkg/debian-tuto2/isolinux.cfg $(eval TDIR := $(shell mktemp -d)) @@ -93,14 +95,14 @@ tuto2-srs.iso: tuto2.iso pkg/debian-tuto2/isolinux.cfg tuto3-kernel: tuto3.yml - linuxkit build -docker $< + $(LINUXKIT) build -docker $< tuto3-initrd.img: tuto3.yml - linuxkit build -docker $< + $(LINUXKIT) build -docker $< tuto3-cmdline: tuto3.yml - linuxkit build -docker $< + $(LINUXKIT) build -docker $< tuto3.iso: tuto3.yml pkg/debian-tuto3 pkg/router-tuto3 pkg/tinydeb pkg/unbound pkg/nsd - linuxkit build -docker -format iso-bios $< + $(LINUXKIT) build -docker -format iso-bios $< %.gz: % diff --git a/pkg/adlin-tuto1/build.yml b/pkg/adlin-tuto1/build.yml index d5637f6..af8f064 100644 --- a/pkg/adlin-tuto1/build.yml +++ b/pkg/adlin-tuto1/build.yml @@ -1,2 +1,4 @@ image: adlin-tuto1 network: true +arches: +- x86_64 diff --git a/pkg/arp-spoofer/build.yml b/pkg/arp-spoofer/build.yml index abce10c..aea7ea1 100644 --- a/pkg/arp-spoofer/build.yml +++ b/pkg/arp-spoofer/build.yml @@ -1,2 +1,4 @@ image: adlin-arp-spoofer network: true +arches: +- x86_64 diff --git a/pkg/awx_web/build.yml b/pkg/awx_web/build.yml index ce6aa2b..eede9a5 100644 --- a/pkg/awx_web/build.yml +++ b/pkg/awx_web/build.yml @@ -1,2 +1,4 @@ image: awx_web network: true +arches: +- x86_64 diff --git a/pkg/challenge/build.yml b/pkg/challenge/build.yml index a5566a2..8cf36e6 100644 --- a/pkg/challenge/build.yml +++ b/pkg/challenge/build.yml @@ -1,2 +1,4 @@ image: challenge network: true +arches: +- x86_64 diff --git a/pkg/debian-tuto2/build.yml b/pkg/debian-tuto2/build.yml index 2db4222..4f5c1d6 100644 --- a/pkg/debian-tuto2/build.yml +++ b/pkg/debian-tuto2/build.yml @@ -1,2 +1,4 @@ image: adlin-tuto2 network: true +arches: +- x86_64 diff --git a/pkg/debian-tuto3/build.yml b/pkg/debian-tuto3/build.yml index cd0c17d..e6fa19f 100644 --- a/pkg/debian-tuto3/build.yml +++ b/pkg/debian-tuto3/build.yml @@ -1,2 +1,4 @@ image: adlin-tuto3 network: true +arches: +- x86_64 diff --git a/pkg/debug/build.yml b/pkg/debug/build.yml index 9cda98b..552c3f0 100644 --- a/pkg/debug/build.yml +++ b/pkg/debug/build.yml @@ -1,2 +1,4 @@ image: debug network: true +arches: +- x86_64 diff --git a/pkg/iscsi-target/build.yml b/pkg/iscsi-target/build.yml index 9e89775..7929b3c 100644 --- a/pkg/iscsi-target/build.yml +++ b/pkg/iscsi-target/build.yml @@ -1,2 +1,4 @@ image: iscsi-target network: true +arches: +- x86_64 diff --git a/pkg/login-app/build.yml b/pkg/login-app/build.yml index f12a2cf..8568fbe 100644 --- a/pkg/login-app/build.yml +++ b/pkg/login-app/build.yml @@ -1,2 +1,4 @@ image: adlin-login-app network: true +arches: +- x86_64 diff --git a/pkg/login-app/cmd/.gitignore b/pkg/login-app/cmd/.gitignore new file mode 100644 index 0000000..911dc38 --- /dev/null +++ b/pkg/login-app/cmd/.gitignore @@ -0,0 +1 @@ +cmd \ No newline at end of file diff --git a/pkg/login-validator/build.yml b/pkg/login-validator/build.yml index 46d595c..5dcc4bf 100644 --- a/pkg/login-validator/build.yml +++ b/pkg/login-validator/build.yml @@ -1,2 +1,4 @@ image: adlin-login-validator network: true +arches: +- x86_64 diff --git a/pkg/login-validator/cmd/go.mod b/pkg/login-validator/cmd/go.mod new file mode 100644 index 0000000..b8d09bf --- /dev/null +++ b/pkg/login-validator/cmd/go.mod @@ -0,0 +1,20 @@ +module git.nemunai.re/srs/adlin/pkg/login-validator + +go 1.17 + +require ( + github.com/go-ldap/ldap/v3 v3.4.2 + github.com/jcmturner/gokrb5/v8 v8.4.2 +) + +require ( + github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c // indirect + github.com/go-asn1-ber/asn1-ber v1.5.1 // indirect + github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/jcmturner/aescts/v2 v2.0.0 // indirect + github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect + github.com/jcmturner/gofork v1.0.0 // indirect + github.com/jcmturner/rpc/v2 v2.0.3 // indirect + golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 // indirect + golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa // indirect +) diff --git a/pkg/login-validator/cmd/go.sum b/pkg/login-validator/cmd/go.sum new file mode 100644 index 0000000..eed4b73 --- /dev/null +++ b/pkg/login-validator/cmd/go.sum @@ -0,0 +1,44 @@ +github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c h1:/IBSNwUN8+eKzUzbJPqhK839ygXJ82sde8x3ogr6R28= +github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-asn1-ber/asn1-ber v1.5.1 h1:pDbRAunXzIUXfx4CB2QJFv5IuPiuoW+sWvr/Us009o8= +github.com/go-asn1-ber/asn1-ber v1.5.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-ldap/ldap/v3 v3.4.2 h1:zFZKcXKLqZpFMrMQGHeHWKXbDTdNCmhGY9AK41zPh+8= +github.com/go-ldap/ldap/v3 v3.4.2/go.mod h1:iYS1MdmrmceOJ1QOTnRXrIs7i3kloqtmGQjRvjKpyMg= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= +github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= +github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= +github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= +github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.2 h1:6ZIM6b/JJN0X8UM43ZOM6Z4SJzla+a/u7scXFJzodkA= +github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= +github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= +github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 h1:umElSU9WZirRdgu2yFHY0ayQkEnKiOC1TtM3fWXFnoU= +golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa h1:F+8P+gmewFQYRk6JoLQLwjBCTu3mcIURZfNkVweuRKA= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/pkg/minichecker/build.yml b/pkg/minichecker/build.yml index 3a00da6..9d2d162 100644 --- a/pkg/minichecker/build.yml +++ b/pkg/minichecker/build.yml @@ -1,2 +1,4 @@ image: minichecker network: true +arches: +- x86_64 diff --git a/pkg/monit/build.yml b/pkg/monit/build.yml index 412a8ef..c5dd087 100644 --- a/pkg/monit/build.yml +++ b/pkg/monit/build.yml @@ -1,2 +1,4 @@ image: monit network: true +arches: +- x86_64 diff --git a/pkg/nsd/build.yml b/pkg/nsd/build.yml index 7799a07..75f0284 100644 --- a/pkg/nsd/build.yml +++ b/pkg/nsd/build.yml @@ -1,2 +1,4 @@ image: nsd network: true +arches: +- x86_64 diff --git a/pkg/postfix/build.yml b/pkg/postfix/build.yml index 69c195a..3da2e9b 100644 --- a/pkg/postfix/build.yml +++ b/pkg/postfix/build.yml @@ -1,2 +1,4 @@ image: postfix network: true +arches: +- x86_64 diff --git a/pkg/router-tuto3/build.yml b/pkg/router-tuto3/build.yml index 4da7442..be89342 100644 --- a/pkg/router-tuto3/build.yml +++ b/pkg/router-tuto3/build.yml @@ -1,2 +1,4 @@ image: router-tuto3 network: true +arches: +- x86_64 diff --git a/pkg/tftpd/build.yml b/pkg/tftpd/build.yml index ab52a30..d84395f 100644 --- a/pkg/tftpd/build.yml +++ b/pkg/tftpd/build.yml @@ -1,2 +1,4 @@ image: tftpd network: true +arches: +- x86_64 diff --git a/pkg/tinydeb/build.yml b/pkg/tinydeb/build.yml index a3dc509..4b76a93 100644 --- a/pkg/tinydeb/build.yml +++ b/pkg/tinydeb/build.yml @@ -1,2 +1,4 @@ image: tinydeb network: true +arches: +- x86_64 diff --git a/pkg/unbound/build.yml b/pkg/unbound/build.yml index dfeab06..74febfd 100644 --- a/pkg/unbound/build.yml +++ b/pkg/unbound/build.yml @@ -1,2 +1,4 @@ image: unbound network: true +arches: +- x86_64 diff --git a/pkg/wg-manager/build.yml b/pkg/wg-manager/build.yml index 52d425a..66f98f6 100644 --- a/pkg/wg-manager/build.yml +++ b/pkg/wg-manager/build.yml @@ -1,2 +1,4 @@ image: wg-manager network: true +arches: +- x86_64 diff --git a/pkg/wg/build.yml b/pkg/wg/build.yml index 517ecaa..89785bd 100644 --- a/pkg/wg/build.yml +++ b/pkg/wg/build.yml @@ -1,5 +1,7 @@ image: wg network: true +arches: +- x86_64 config: capabilities: - CAP_NET_ADMIN