diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..f6e01e09f409a8dc59f2760522578f3d3d4f47e1 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,26 @@ +--- +image: adarnimrod/ci-images:docker + +stages: + - build + - run + +build: + stage: build + tags: ["ns4.shore.co.il"] + script: + - docker-compose build + +run: + stage: run + tags: ["ns4.shore.co.il"] + when: manual + script: + - docker-compose up --detach --quiet-pull --remove-orphans + - | + for i in $(seq 12) + do + docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$' || break + sleep 10 + done + ! docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$' diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..1386c21f05b00aa407258119a9b7be97ef0e2a6d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,134 @@ +FROM buildpack-deps:bullseye +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + apache2-utils \ + bats \ + bundler \ + bzr \ + composer \ + default-jdk-headless \ + default-mysql-client \ + devscripts \ + direnv \ + dnsutils \ + docker.io \ + dos2unix \ + easy-rsa \ + entr \ + expect \ + flatpak \ + flatpak-builder \ + ftp \ + gnupg \ + golang \ + gpgv \ + hunspell \ + hyphen-en-us \ + ipcalc \ + iputils-ping \ + ldap-utils \ + libcairo2-dev \ + libcurl4-gnutls-dev \ + libdbus-1-dev \ + libgirepository1.0-dev \ + libldap2-dev \ + libpq-dev \ + libsasl2-dev \ + libyaml-dev \ + meson \ +# mongodb-clients \ + mythes-en-us \ + netcat-openbsd \ + nodejs \ + npm \ + ostree \ + php-cli \ + postgresql-client \ + python3-cffi-backend \ + python3-pip \ + python3-venv \ + redis-tools \ + rename \ + reprepro \ + ruby-dev \ + sharutils \ + shellcheck \ + subversion \ + swaks \ + task-english \ + task-hebrew \ + task-ssh-server \ + telnet \ + time \ + tmux \ + ttyrec \ + udftools \ + unison \ + vcdimager \ + w3m-img \ + whois \ + && \ + python3 -m pip install \ + ansible \ + ansible-runner \ + aws-sam-cli \ + aws-shell \ + awscli \ + awslogs \ + bcrypt \ + black \ + boto \ + boto3 \ + cookiecutter \ + cryptography \ + dnspython \ + docker \ + docker-compose \ + flit \ + Glances \ + gunicorn \ + hashin \ + httpbin \ + httpie \ + identify \ + importlab \ + invoke \ + khal \ + khard \ + magic-wormhole \ + mycli \ + netaddr \ + parse \ + passlib \ + pgcli \ + pipenv \ + piprot \ + poetry \ + pre-commit \ + psycopg2 \ + pur \ + pygments \ + pymongo \ + PyMySQL \ + pyopenssl \ + remarshal \ + requests \ + sh \ + template \ + todoman \ + tox \ + && \ + export GO111MODULE=on && \ + export GOPATH=/usr/local/share/go && \ + mkdir "$GOPATH" && \ + go get github.com/giantswarm/semver-bump && \ + go get github.com/nishanths/license && \ + go get github.com/jmespath/jp && \ + go get github.com/spelufo/on-change && \ + go get github.com/kaorimatz/mysqldump-loader && \ + go get github.com/lucagrulla/cw && \ + go get sigs.k8s.io/kind@v0.9.0 && \ + rm /etc/ssh/ssh_host_* && \ + rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/* +VOLUME /run/sshd +ENTRYPOINT ["/usr/sbin/sshd", "-D"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..a520ed932e1a6b40857863e1e4ad0114f63aeeca --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,24 @@ +# vim:ff=unix:ts=2:sw=2:ai:expandtab +--- +version: '3.5' +services: + sshd: + build: + context: . + hostname: workbench.shore.co.il + image: adarnimrod/workbench + ports: + - "2222:22" + restart: always + volumes: + - /etc/group:/etc/group:ro + - /etc/gshadow:/etc/gshadow:ro + - /etc/passwd:/etc/passwd:ro + - /etc/shadow:/etc/shadow:ro + - /etc/ssh/:/etc/ssh:ro + - /home:/home + - /run/docker.sock:/run/docker.sock + +networks: + default: + name: shore