Commit 4da0bf95 authored by nimrod's avatar nimrod
Browse files

Initial work.

- Image with Debian, Python and Golang packages installed.
- Deployment with Docker Compose and GitLab CI.
parent ffd26a53
Loading
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+26 −0
Original line number Diff line number Diff line
---
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$'

Dockerfile

0 → 100644
+134 −0
Original line number Diff line number Diff line
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"]

docker-compose.yml

0 → 100644
+24 −0
Original line number Diff line number Diff line
# 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