mirror of
https://github.com/kasmtech/workspaces-images.git
synced 2024-11-21 15:43:09 +01:00
Resolve KASM-5044 "Feature/ templated pipelines"
This commit is contained in:
parent
03f2d0469e
commit
3130a86ab8
369
.gitlab-ci.yml
369
.gitlab-ci.yml
@ -1,364 +1,37 @@
|
||||
############
|
||||
# Settings #
|
||||
############
|
||||
image: docker
|
||||
image: docker:24.0.6
|
||||
services:
|
||||
- docker:dind
|
||||
- docker:24.0.6-dind
|
||||
stages:
|
||||
- readme
|
||||
- revert
|
||||
- build
|
||||
- test
|
||||
- manifest
|
||||
- template
|
||||
- run
|
||||
variables:
|
||||
BASE_TAG: "develop"
|
||||
USE_PRIVATE_IMAGES: 0
|
||||
KASM_RELEASE: "1.14.0"
|
||||
DOCKER_HOST: tcp://docker:2375
|
||||
DOCKER_TLS_CERTDIR: ""
|
||||
DOCKER_AUTH_CONFIG: ${_DOCKER_AUTH_CONFIG}
|
||||
TEST_INSTALLER: "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.14.0.7f3582.tar.gz"
|
||||
before_script:
|
||||
- docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
|
||||
- export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')"
|
||||
|
||||
################
|
||||
# YAML anchors #
|
||||
################
|
||||
|
||||
# Metadata format - name|baseimage|dockerfile
|
||||
.MULTI_ARCH_BUILDS: &MULTI_ARCH_BUILDS
|
||||
- "audacity|core-ubuntu-focal|dockerfile-kasm-audacity"
|
||||
- "chromium|core-ubuntu-focal|dockerfile-kasm-chromium"
|
||||
- "deluge|core-ubuntu-focal|dockerfile-kasm-deluge"
|
||||
- "doom|core-ubuntu-focal|dockerfile-kasm-doom"
|
||||
- "filezilla|core-ubuntu-focal|dockerfile-kasm-filezilla"
|
||||
- "firefox|core-ubuntu-focal|dockerfile-kasm-firefox"
|
||||
- "gimp|core-ubuntu-focal|dockerfile-kasm-gimp"
|
||||
- "inkscape|core-ubuntu-focal|dockerfile-kasm-inkscape"
|
||||
- "java-dev|core-ubuntu-focal|dockerfile-kasm-java-dev"
|
||||
- "libre-office|core-ubuntu-focal|dockerfile-kasm-libre-office"
|
||||
- "opensuse-15-desktop|core-opensuse-15|dockerfile-kasm-opensuse-15-desktop"
|
||||
- "oracle-8-desktop|core-oracle-8|dockerfile-kasm-oracle-8-desktop"
|
||||
- "pinta|core-ubuntu-focal|dockerfile-kasm-pinta"
|
||||
- "qbittorrent|core-ubuntu-focal|dockerfile-kasm-qbittorrent"
|
||||
- "remmina|core-ubuntu-focal|dockerfile-kasm-remmina"
|
||||
- "sublime-text|core-ubuntu-focal|dockerfile-kasm-sublime-text"
|
||||
- "telegram|core-ubuntu-focal|dockerfile-kasm-telegram"
|
||||
- "terminal|core-ubuntu-focal|dockerfile-kasm-terminal"
|
||||
- "thunderbird|core-ubuntu-focal|dockerfile-kasm-thunderbird"
|
||||
- "tor-browser|core-ubuntu-focal|dockerfile-kasm-tor-browser"
|
||||
- "ubuntu-focal-desktop|core-ubuntu-focal|dockerfile-kasm-ubuntu-focal-desktop"
|
||||
- "ubuntu-jammy-desktop|core-ubuntu-jammy|dockerfile-kasm-ubuntu-jammy-desktop"
|
||||
- "vlc|core-ubuntu-focal|dockerfile-kasm-vlc"
|
||||
- "vs-code|core-ubuntu-focal|dockerfile-kasm-vs-code"
|
||||
.MULTI_ARCH_BUILDS2: &MULTI_ARCH_BUILDS2
|
||||
- "almalinux-8-desktop|core-almalinux-8|dockerfile-kasm-almalinux-8-desktop"
|
||||
- "almalinux-9-desktop|core-almalinux-9|dockerfile-kasm-almalinux-9-desktop"
|
||||
- "alpine-317-desktop|core-alpine-317|dockerfile-kasm-alpine-317-desktop"
|
||||
- "alpine-318-desktop|core-alpine-318|dockerfile-kasm-alpine-318-desktop"
|
||||
- "brave|core-ubuntu-focal|dockerfile-kasm-brave"
|
||||
- "debian-bullseye-desktop|core-debian-bullseye|dockerfile-kasm-debian-bullseye-desktop"
|
||||
- "debian-bookworm-desktop|core-debian-bookworm|dockerfile-kasm-debian-bookworm-desktop"
|
||||
- "fedora-37-desktop|core-fedora-37|dockerfile-kasm-fedora-37-desktop"
|
||||
- "fedora-38-desktop|core-fedora-38|dockerfile-kasm-fedora-38-desktop"
|
||||
- "kali-rolling-desktop|core-kali-rolling|dockerfile-kasm-kali-rolling-desktop"
|
||||
- "minetest|core-ubuntu-focal|dockerfile-kasm-minetest"
|
||||
- "oracle-9-desktop|core-oracle-9|dockerfile-kasm-oracle-9-desktop"
|
||||
- "parrotos-5-desktop|core-parrotos-5|dockerfile-kasm-parrotos-5-desktop"
|
||||
- "retroarch|core-ubuntu-focal|dockerfile-kasm-retroarch"
|
||||
- "rockylinux-8-desktop|core-rockylinux-8|dockerfile-kasm-rockylinux-8-desktop"
|
||||
- "rockylinux-9-desktop|core-rockylinux-9|dockerfile-kasm-rockylinux-9-desktop"
|
||||
- "super-tux-kart|core-ubuntu-focal|dockerfile-kasm-super-tux-kart"
|
||||
- "ubuntu-focal-dind|core-ubuntu-focal|dockerfile-kasm-ubuntu-focal-dind"
|
||||
- "ubuntu-focal-dind-rootless|core-ubuntu-focal|dockerfile-kasm-ubuntu-focal-dind-rootless"
|
||||
- "ubuntu-jammy-dind|core-ubuntu-jammy|dockerfile-kasm-ubuntu-jammy-dind"
|
||||
- "ubuntu-jammy-dind-rootless|core-ubuntu-jammy|dockerfile-kasm-ubuntu-jammy-dind-rootless"
|
||||
- "vivaldi|core-ubuntu-focal|dockerfile-kasm-vivaldi"
|
||||
.SINGLE_ARCH_BUILDS: &SINGLE_ARCH_BUILDS
|
||||
- "atom|core-ubuntu-focal|dockerfile-kasm-atom"
|
||||
- "blender|core-ubuntu-focal|dockerfile-kasm-blender"
|
||||
- "centos-7-desktop|core-centos-7|dockerfile-kasm-centos-7-desktop"
|
||||
- "chrome|core-ubuntu-focal|dockerfile-kasm-chrome"
|
||||
- "desktop|core-ubuntu-focal|dockerfile-kasm-desktop"
|
||||
- "desktop-deluxe|core-ubuntu-focal|dockerfile-kasm-desktop-deluxe"
|
||||
- "discord|core-ubuntu-focal|dockerfile-kasm-discord"
|
||||
- "edge|core-ubuntu-focal|dockerfile-kasm-edge"
|
||||
- "hunchly|core-ubuntu-focal|dockerfile-kasm-hunchly"
|
||||
- "insomnia|core-ubuntu-jammy|dockerfile-kasm-insomnia"
|
||||
- "maltego|core-ubuntu-focal|dockerfile-kasm-maltego"
|
||||
- "only-office|core-ubuntu-focal|dockerfile-kasm-only-office"
|
||||
- "oracle-7-desktop|core-oracle-7|dockerfile-kasm-oracle-7-desktop"
|
||||
- "postman|core-ubuntu-focal|dockerfile-kasm-postman"
|
||||
- "remnux-focal-desktop|core-ubuntu-focal|dockerfile-kasm-remnux-focal-desktop"
|
||||
- "signal|core-ubuntu-focal|dockerfile-kasm-signal"
|
||||
- "steam|core-ubuntu-focal|dockerfile-kasm-steam"
|
||||
- "tracelabs|core-kali-rolling|dockerfile-kasm-tracelabs"
|
||||
- "unityhub|core-ubuntu-focal|dockerfile-kasm-unityhub"
|
||||
- "zoom|core-ubuntu-focal|dockerfile-kasm-zoom"
|
||||
- "zsnes|core-ubuntu-focal|dockerfile-kasm-zsnes"
|
||||
|
||||
###############################################
|
||||
# Build Containers and push to cache endpoint #
|
||||
###############################################
|
||||
build_multi_containers:
|
||||
stage: build
|
||||
#######################
|
||||
# Build from template #
|
||||
#######################
|
||||
template:
|
||||
stage: template
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/build.sh "${BUILD_META}"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- ${TAG}
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- TAG: [ oci-fixed-amd, oci-fixed-arm ]
|
||||
BUILD_META: *MULTI_ARCH_BUILDS
|
||||
|
||||
build_multi_containers2:
|
||||
stage: build
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/build.sh "${BUILD_META}"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- ${TAG}
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- TAG: [ oci-fixed-amd, oci-fixed-arm ]
|
||||
BUILD_META: *MULTI_ARCH_BUILDS2
|
||||
|
||||
build_single_containers:
|
||||
stage: build
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/build.sh "${BUILD_META}"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
- apk add py3-jinja2 py3-yaml
|
||||
- cd ci-scripts
|
||||
- python3 template-gitlab.py
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *SINGLE_ARCH_BUILDS
|
||||
|
||||
######################################
|
||||
# Test containers and upload results #
|
||||
######################################
|
||||
test_multi:
|
||||
stage: test
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/test.sh "${BUILD_META}" "${ARCH}" "${EC2_LAUNCHER_ID}" "${EC2_LAUNCHER_SECRET}"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- ARCH: [ "x86_64", "aarch64" ]
|
||||
BUILD_META: *MULTI_ARCH_BUILDS
|
||||
|
||||
test_multi2:
|
||||
stage: test
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/test.sh "${BUILD_META}" "${ARCH}" "${EC2_LAUNCHER_ID}" "${EC2_LAUNCHER_SECRET}"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- ARCH: [ "x86_64", "aarch64" ]
|
||||
BUILD_META: *MULTI_ARCH_BUILDS2
|
||||
|
||||
test_single:
|
||||
stage: test
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/test.sh "${BUILD_META}" "x86_64" "${EC2_LAUNCHER_ID}" "${EC2_LAUNCHER_SECRET}"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *SINGLE_ARCH_BUILDS
|
||||
|
||||
############################################
|
||||
# Manifest Containers if their test passed #
|
||||
############################################
|
||||
manifest_multi:
|
||||
stage: manifest
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/manifest.sh "${BUILD_META}" "multi"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *MULTI_ARCH_BUILDS
|
||||
|
||||
manifest_multi2:
|
||||
stage: manifest
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/manifest.sh "${BUILD_META}" "multi"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *MULTI_ARCH_BUILDS2
|
||||
|
||||
manifest_single:
|
||||
stage: manifest
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/manifest.sh "${BUILD_META}" "single"
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *SINGLE_ARCH_BUILDS
|
||||
|
||||
####################
|
||||
# Helper Functions #
|
||||
####################
|
||||
|
||||
## Update Readmes ##
|
||||
update_readmes_multi:
|
||||
stage: readme
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/readme.sh "${BUILD_META}"
|
||||
only:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *MULTI_ARCH_BUILDS
|
||||
|
||||
update_readmes_multi2:
|
||||
stage: readme
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/readme.sh "${BUILD_META}"
|
||||
only:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *MULTI_ARCH_BUILDS2
|
||||
|
||||
update_readmes_single:
|
||||
stage: readme
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/readme.sh "${BUILD_META}"
|
||||
only:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *SINGLE_ARCH_BUILDS
|
||||
|
||||
## Revert Images to specific build id ##
|
||||
dockerhub_revert_multi:
|
||||
stage: revert
|
||||
script:
|
||||
- /bin/bash ci-scripts/manifest.sh "${BUILD_META}" "multi" "${DOCKERHUB_REVERT}" "${REVERT_IS_ROLLING}"
|
||||
only:
|
||||
variables:
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *MULTI_ARCH_BUILDS
|
||||
|
||||
dockerhub_revert_multi2:
|
||||
stage: revert
|
||||
script:
|
||||
- /bin/bash ci-scripts/manifest.sh "${BUILD_META}" "multi" "${DOCKERHUB_REVERT}" "${REVERT_IS_ROLLING}"
|
||||
only:
|
||||
variables:
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *MULTI_ARCH_BUILDS
|
||||
|
||||
dockerhub_revert_single:
|
||||
stage: revert
|
||||
script:
|
||||
- /bin/bash ci-scripts/manifest.sh "${BUILD_META}" "single" "${DOCKERHUB_REVERT}" "${REVERT_IS_ROLLING}"
|
||||
only:
|
||||
variables:
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
parallel:
|
||||
matrix:
|
||||
- BUILD_META: *SINGLE_ARCH_BUILDS
|
||||
artifacts:
|
||||
paths:
|
||||
- gitlab-ci.yml
|
||||
pipeline:
|
||||
stage: run
|
||||
trigger:
|
||||
include:
|
||||
- artifact: gitlab-ci.yml
|
||||
job: template
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Parse input ##
|
||||
NAME=$(echo $1| awk -F'|' '{print $1}')
|
||||
BASE=$(echo $1| awk -F'|' '{print $2}')
|
||||
DOCKERFILE=$(echo $1| awk -F'|' '{print $3}')
|
||||
NAME=$1
|
||||
BASE=$2
|
||||
DOCKERFILE=$3
|
||||
|
||||
# Determine if we are using private images
|
||||
if [ ${USE_PRIVATE_IMAGES} -eq 1 ]; then
|
||||
|
243
ci-scripts/gitlab-ci.template
Normal file
243
ci-scripts/gitlab-ci.template
Normal file
@ -0,0 +1,243 @@
|
||||
############
|
||||
# Settings #
|
||||
############
|
||||
image: docker:24.0.6
|
||||
services:
|
||||
- docker:24.0.6-dind
|
||||
stages:
|
||||
- readme
|
||||
- revert
|
||||
- build
|
||||
- test
|
||||
- manifest
|
||||
variables:
|
||||
BASE_TAG: "{{ BASE_TAG }}"
|
||||
USE_PRIVATE_IMAGES: {{ USE_PRIVATE_IMAGES }}
|
||||
KASM_RELEASE: "{{ KASM_RELEASE }}"
|
||||
DOCKER_HOST: tcp://docker:2375
|
||||
DOCKER_TLS_CERTDIR: ""
|
||||
TEST_INSTALLER: "{{ TEST_INSTALLER }}"
|
||||
before_script:
|
||||
- docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
|
||||
- export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')"
|
||||
|
||||
###############################################
|
||||
# Build Containers and push to cache endpoint #
|
||||
###############################################
|
||||
{% for IMAGE in multiImages %}
|
||||
build_{{ IMAGE.name }}:
|
||||
stage: build
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/build.sh "{{ IMAGE.name }}" "{{ IMAGE.base }}" "{{ IMAGE.dockerfile }}"
|
||||
{% if FILE_LIMITS %}only:
|
||||
changes:
|
||||
{% for FILE in files %}- {{ FILE }}
|
||||
{% endfor %}{% for FILE in IMAGE.changeFiles %}- {{ FILE }}
|
||||
{% endfor %}{% endif %}
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- ${TAG}
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- TAG: [ oci-fixed-amd, oci-fixed-arm ]
|
||||
{% endfor %}
|
||||
|
||||
{% for IMAGE in singleImages %}
|
||||
build_{{ IMAGE.name }}:
|
||||
stage: build
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/build.sh "{{ IMAGE.name }}" "{{ IMAGE.base }}" "{{ IMAGE.dockerfile }}"
|
||||
{% if FILE_LIMITS %}only:
|
||||
changes:
|
||||
{% for FILE in files %}- {{ FILE }}
|
||||
{% endfor %}{% for FILE in IMAGE.changeFiles %}- {{ FILE }}
|
||||
{% endfor %}{% endif %}
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
retry: 1
|
||||
{% endfor %}
|
||||
|
||||
######################################
|
||||
# Test containers and upload results #
|
||||
######################################
|
||||
{% for IMAGE in multiImages %}
|
||||
test_{{ IMAGE.name }}:
|
||||
stage: test
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/test.sh "{{ IMAGE.name }}" "{{ IMAGE.base }}" "{{ IMAGE.dockerfile }}" "${ARCH}" "${EC2_LAUNCHER_ID}" "${EC2_LAUNCHER_SECRET}"
|
||||
{% if FILE_LIMITS %}only:
|
||||
changes:
|
||||
{% for FILE in files %}- {{ FILE }}
|
||||
{% endfor %}{% for FILE in IMAGE.changeFiles %}- {{ FILE }}
|
||||
{% endfor %}{% endif %}
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
needs:
|
||||
- build_{{ IMAGE.name }}
|
||||
when: on_success
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
retry: 1
|
||||
parallel:
|
||||
matrix:
|
||||
- ARCH: [ "x86_64", "aarch64" ]
|
||||
{% endfor %}
|
||||
|
||||
{% for IMAGE in singleImages %}
|
||||
test_{{ IMAGE.name }}:
|
||||
stage: test
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/test.sh "{{ IMAGE.name }}" "{{ IMAGE.base }}" "{{ IMAGE.dockerfile }}" "x86_64" "${EC2_LAUNCHER_ID}" "${EC2_LAUNCHER_SECRET}"
|
||||
{% if FILE_LIMITS %}only:
|
||||
changes:
|
||||
{% for FILE in files %}- {{ FILE }}
|
||||
{% endfor %}{% for FILE in IMAGE.changeFiles %}- {{ FILE }}
|
||||
{% endfor %}{% endif %}
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
needs:
|
||||
- build_{{ IMAGE.name }}
|
||||
when: on_success
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
retry: 1
|
||||
{% endfor %}
|
||||
|
||||
############################################
|
||||
# Manifest Containers if their test passed #
|
||||
############################################
|
||||
{% for IMAGE in multiImages %}
|
||||
manifest_{{ IMAGE.name }}:
|
||||
stage: manifest
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "multi"
|
||||
{% if FILE_LIMITS %}only:
|
||||
changes:
|
||||
{% for FILE in files %}- {{ FILE }}
|
||||
{% endfor %}{% for FILE in IMAGE.changeFiles %}- {{ FILE }}
|
||||
{% endfor %}{% endif %}
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
needs:
|
||||
- test_{{ IMAGE.name }}
|
||||
when: on_success
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
{% endfor %}
|
||||
|
||||
{% for IMAGE in singleImages %}
|
||||
manifest_{{ IMAGE.name }}:
|
||||
stage: manifest
|
||||
when: always
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "single"
|
||||
{% if FILE_LIMITS %}only:
|
||||
changes:
|
||||
{% for FILE in files %}- {{ FILE }}
|
||||
{% endfor %}{% for FILE in IMAGE.changeFiles %}- {{ FILE }}
|
||||
{% endfor %}{% endif %}
|
||||
except:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
needs:
|
||||
- test_{{ IMAGE.name }}
|
||||
when: on_success
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
{% endfor %}
|
||||
|
||||
####################
|
||||
# Helper Functions #
|
||||
####################
|
||||
|
||||
## Update Readmes ##
|
||||
{% for IMAGE in multiImages %}
|
||||
update_readmes_{{ IMAGE.name }}:
|
||||
stage: readme
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/readme.sh "{{ IMAGE.name }}"
|
||||
only:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
{% endfor %}
|
||||
|
||||
{% for IMAGE in singleImages %}
|
||||
update_readmes_{{ IMAGE.name }}:
|
||||
stage: readme
|
||||
script:
|
||||
- apk add bash
|
||||
- bash ci-scripts/readme.sh "{{ IMAGE.name }}"
|
||||
only:
|
||||
variables:
|
||||
- $README_USERNAME
|
||||
- $README_PASSWORD
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
{% endfor %}
|
||||
|
||||
## Revert Images to specific build id ##
|
||||
{% for IMAGE in multiImages %}
|
||||
dockerhub_revert_{{ IMAGE.name }}:
|
||||
stage: revert
|
||||
script:
|
||||
- /bin/bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "multi" "${DOCKERHUB_REVERT}" "${REVERT_IS_ROLLING}"
|
||||
only:
|
||||
variables:
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
{% endfor %}
|
||||
|
||||
{% for IMAGE in singleImages %}
|
||||
dockerhub_revert_{{ IMAGE.name }}:
|
||||
stage: revert
|
||||
script:
|
||||
- /bin/bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "single" "${DOCKERHUB_REVERT}" "${REVERT_IS_ROLLING}"
|
||||
only:
|
||||
variables:
|
||||
- $DOCKERHUB_REVERT
|
||||
- $REVERT_IS_ROLLING
|
||||
tags:
|
||||
- oci-fixed-amd
|
||||
{% endfor %}
|
@ -5,7 +5,7 @@ FAILED="false"
|
||||
|
||||
# Ingest cli variables
|
||||
## Parse input ##
|
||||
NAME=$(echo $1| awk -F'|' '{print $1}')
|
||||
NAME=$1
|
||||
TYPE=$2
|
||||
REVERT_PIPELINE_ID=$3
|
||||
IS_ROLLING=$4
|
||||
|
@ -1,7 +1,7 @@
|
||||
#! /bin/bash
|
||||
|
||||
## Parse input ##
|
||||
NAME=$(echo $1| awk -F'|' '{print $1}')
|
||||
NAME=$1
|
||||
|
||||
## Run readme updater ##
|
||||
docker run -v $PWD/docs:/docs \
|
||||
|
35
ci-scripts/template-gitlab.py
Normal file
35
ci-scripts/template-gitlab.py
Normal file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from jinja2 import Template
|
||||
import yaml
|
||||
import os
|
||||
|
||||
# Determine if this is a feature branch
|
||||
fileLimits = True
|
||||
if os.getenv('SANITIZED_BRANCH').startswith('release') or os.getenv('SANITIZED_BRANCH') == 'develop':
|
||||
fileLimits = False
|
||||
if os.getenv('CI_PIPELINE_SOURCE') == 'schedule':
|
||||
fileLimits = False
|
||||
if os.getenv('USE_PRIVATE_IMAGES') == 1:
|
||||
fileLimits = False
|
||||
|
||||
# Read yaml file with variables
|
||||
with open("template-vars.yaml", 'r') as stream:
|
||||
templateVars = yaml.safe_load(stream)
|
||||
templateVars['KASM_RELEASE'] = os.getenv('KASM_RELEASE')
|
||||
templateVars['TEST_INSTALLER'] = os.getenv('TEST_INSTALLER')
|
||||
templateVars['USE_PRIVATE_IMAGES'] = os.getenv('USE_PRIVATE_IMAGES')
|
||||
templateVars['BASE_TAG'] = os.getenv('BASE_TAG')
|
||||
templateVars['FILE_LIMITS'] = fileLimits
|
||||
|
||||
# Read template file
|
||||
with open("gitlab-ci.template", 'r') as stream:
|
||||
template = stream.read()
|
||||
|
||||
# Template the variables in
|
||||
jinjaTemplate = Template(template)
|
||||
gitlabCi = jinjaTemplate.render(templateVars)
|
||||
|
||||
# Write out the gitlab file
|
||||
with open('../gitlab-ci.yml', 'w') as out:
|
||||
out.write(gitlabCi + '\n')
|
624
ci-scripts/template-vars.yaml
Normal file
624
ci-scripts/template-vars.yaml
Normal file
@ -0,0 +1,624 @@
|
||||
files: &UNIVERSAL_CHANGE_FILES
|
||||
- src/common/**
|
||||
- ci-scripts/**
|
||||
- .gitlab-ci.yml
|
||||
|
||||
multiImages:
|
||||
- name: audacity
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-audacity
|
||||
changeFiles:
|
||||
- dockerfile-kasm-audacity
|
||||
- src/ubuntu/install/audacity/**
|
||||
- name: chromium
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-chromium
|
||||
changeFiles:
|
||||
- dockerfile-kasm-chromium
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/certificates/**
|
||||
- name: deluge
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-deluge
|
||||
changeFiles:
|
||||
- dockerfile-kasm-deluge
|
||||
- src/ubuntu/install/deluge/**
|
||||
- name: doom
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-doom
|
||||
changeFiles:
|
||||
- dockerfile-kasm-doom
|
||||
- src/ubuntu/install/doom/**
|
||||
- name: filezilla
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-filezilla
|
||||
changeFiles:
|
||||
- dockerfile-kasm-filezilla
|
||||
- src/ubuntu/install/filezilla/**
|
||||
- name: firefox
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-firefox
|
||||
changeFiles:
|
||||
- dockerfile-kasm-firefox
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/certificates/**
|
||||
- name: gimp
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-gimp
|
||||
changeFiles:
|
||||
- dockerfile-kasm-gimp
|
||||
- src/ubuntu/install/gimp/**
|
||||
- name: inkscape
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-inkscape
|
||||
changeFiles:
|
||||
- dockerfile-kasm-inkscape
|
||||
- src/ubuntu/install/inkscape/**
|
||||
- name: java-dev
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-java-dev
|
||||
changeFiles:
|
||||
- dockerfile-kasm-java-dev
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/eclipse/**
|
||||
- name: libre-office
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-libre-office
|
||||
changeFiles:
|
||||
- dockerfile-kasm-libre-office
|
||||
- src/ubuntu/install/libre_office/**
|
||||
- name: opensuse-15-desktop
|
||||
base: core-opensuse-15
|
||||
dockerfile: dockerfile-kasm-opensuse-15-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-opensuse-15-desktop
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/nextcloud/**
|
||||
- src/ubuntu/install/langpacks/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/opensuse/install/**
|
||||
- name: oracle-8-desktop
|
||||
base: core-oracle-8
|
||||
dockerfile: dockerfile-kasm-oracle-8-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-oracle-8-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/nextcloud/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: pinta
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-pinta
|
||||
changeFiles:
|
||||
- dockerfile-kasm-pinta
|
||||
- src/ubuntu/install/pinta/**
|
||||
- name: qbittorrent
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-qbittorrent
|
||||
changeFiles:
|
||||
- dockerfile-kasm-qbittorrent
|
||||
- src/ubuntu/install/qbittorrent/**
|
||||
- name: remmina
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-remmina
|
||||
changeFiles:
|
||||
- dockerfile-kasm-remmina
|
||||
- src/ubuntu/install/remmina/**
|
||||
- name: sublime-text
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-sublime-text
|
||||
changeFiles:
|
||||
- dockerfile-kasm-sublime-text
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- name: telegram
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-telegram
|
||||
changeFiles:
|
||||
- dockerfile-kasm-telegram
|
||||
- src/ubuntu/install/telegram/**
|
||||
- name: terminal
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-terminal
|
||||
changeFiles:
|
||||
- dockerfile-kasm-terminal
|
||||
- src/ubuntu/install/terraform/**
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/terminal/**
|
||||
- name: thunderbird
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-thunderbird
|
||||
changeFiles:
|
||||
- dockerfile-kasm-thunderbird
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- name: tor-browser
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-tor-browser
|
||||
changeFiles:
|
||||
- dockerfile-kasm-tor-browser
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/torbrowser/**
|
||||
- name: ubuntu-focal-desktop
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-ubuntu-focal-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-ubuntu-focal-desktop
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/terraform/**
|
||||
- src/ubuntu/install/telegram/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/signal/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/only_office/**
|
||||
- src/ubuntu/install/obs/**
|
||||
- src/ubuntu/install/nextcloud/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/gimp/**
|
||||
- src/ubuntu/install/gamepad_utils/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: ubuntu-jammy-desktop
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-ubuntu-jammy-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-ubuntu-jammy-desktop
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/terraform/**
|
||||
- src/ubuntu/install/telegram/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/signal/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/only_office/**
|
||||
- src/ubuntu/install/obs/**
|
||||
- src/ubuntu/install/nextcloud/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/gimp/**
|
||||
- src/ubuntu/install/gamepad_utils/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: vlc
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-vlc
|
||||
changeFiles:
|
||||
- dockerfile-kasm-vlc
|
||||
- src/ubuntu/install/vlc/**
|
||||
- name: vs-code
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-vs-code
|
||||
changeFiles:
|
||||
- dockerfile-kasm-vs-code
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- name: almalinux-8-desktop
|
||||
base: core-almalinux-8
|
||||
dockerfile: dockerfile-kasm-almalinux-8-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-almalinux-8-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/nextcloud/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: almalinux-9-desktop
|
||||
base: core-almalinux-9
|
||||
dockerfile: dockerfile-kasm-almalinux-9-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-almalinux-9-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: alpine-317-desktop
|
||||
base: core-alpine-317
|
||||
dockerfile: dockerfile-kasm-alpine-317-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-alpine-317-desktop
|
||||
- src/ubuntu/install/langpacks/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/alpine/install/**
|
||||
- name: alpine-318-desktop
|
||||
base: core-alpine-318
|
||||
dockerfile: dockerfile-kasm-alpine-318-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-alpine-318-desktop
|
||||
- src/ubuntu/install/langpacks/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/alpine/install/**
|
||||
- name: brave
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-brave
|
||||
changeFiles:
|
||||
- dockerfile-kasm-brave
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/brave/**
|
||||
- name: debian-bullseye-desktop
|
||||
base: core-debian-bullseye
|
||||
dockerfile: dockerfile-kasm-debian-bullseye-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-debian-bullseye-desktop
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/terraform/**
|
||||
- src/ubuntu/install/telegram/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/signal/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/only_office/**
|
||||
- src/ubuntu/install/obs/**
|
||||
- src/ubuntu/install/gimp/**
|
||||
- src/ubuntu/install/gamepad_utils/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: debian-bookworm-desktop
|
||||
base: core-debian-bookworm
|
||||
dockerfile: dockerfile-kasm-debian-bookworm-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-debian-bookworm-desktop
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/terraform/**
|
||||
- src/ubuntu/install/telegram/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/signal/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/only_office/**
|
||||
- src/ubuntu/install/obs/**
|
||||
- src/ubuntu/install/gimp/**
|
||||
- src/ubuntu/install/gamepad_utils/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: fedora-37-desktop
|
||||
base: core-fedora-37
|
||||
dockerfile: dockerfile-kasm-fedora-37-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-fedora-37-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: fedora-38-desktop
|
||||
base: core-fedora-38
|
||||
dockerfile: dockerfile-kasm-fedora-38-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-fedora-38-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: kali-rolling-desktop
|
||||
base: core-kali-rolling
|
||||
dockerfile: dockerfile-kasm-kali-rolling-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-kali-rolling-desktop
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: minetest
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-minetest
|
||||
changeFiles:
|
||||
- dockerfile-kasm-minetest
|
||||
- src/ubuntu/install/minetest/**
|
||||
- name: oracle-9-desktop
|
||||
base: core-oracle-9
|
||||
dockerfile: dockerfile-kasm-oracle-9-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-oracle-9-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: parrotos-5-desktop
|
||||
base: core-parrotos-5
|
||||
dockerfile: dockerfile-kasm-parrotos-5-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-parrotos-5-desktop
|
||||
- src/ubuntu/install/parrot/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: retroarch
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-retroarch
|
||||
changeFiles:
|
||||
- dockerfile-kasm-retroarch
|
||||
- src/ubuntu/install/retroarch/**
|
||||
- name: rockylinux-8-desktop
|
||||
base: core-rockylinux-8
|
||||
dockerfile: dockerfile-kasm-rockylinux-8-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-rockylinux-8-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/nextcloud/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: rockylinux-9-desktop
|
||||
base: core-rockylinux-9
|
||||
dockerfile: dockerfile-kasm-rockylinux-9-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-rockylinux-9-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: super-tux-kart
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-super-tux-kart
|
||||
changeFiles:
|
||||
- dockerfile-kasm-super-tux-kart
|
||||
- src/ubuntu/install/super_tux_kart/**
|
||||
- name: ubuntu-focal-dind
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-ubuntu-focal-dind
|
||||
changeFiles:
|
||||
- dockerfile-kasm-ubuntu-focal-dind
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/dind/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: ubuntu-focal-dind-rootless
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-ubuntu-focal-dind-rootless
|
||||
changeFiles:
|
||||
- dockerfile-kasm-ubuntu-focal-dind-rootless
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/dind_rootless/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: ubuntu-jammy-dind
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-ubuntu-jammy-dind
|
||||
changeFiles:
|
||||
- dockerfile-kasm-ubuntu-jammy-dind
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/dind/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: ubuntu-jammy-dind-rootless
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-ubuntu-jammy-dind-rootless
|
||||
changeFiles:
|
||||
- dockerfile-kasm-ubuntu-jammy-dind-rootless
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/dind_rootless/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: vivaldi
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-vivaldi
|
||||
changeFiles:
|
||||
- dockerfile-kasm-vivaldi
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/certificates/**
|
||||
- src/ubuntu/install/vivaldi/**
|
||||
singleImages:
|
||||
- name: atom
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-atom
|
||||
changeFiles:
|
||||
- dockerfile-kasm-atom
|
||||
- src/ubuntu/install/atom/**
|
||||
- name: blender
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-blender
|
||||
changeFiles:
|
||||
- dockerfile-kasm-blender
|
||||
- src/ubuntu/install/blender/**
|
||||
- name: centos-7-desktop
|
||||
base: core-centos-7
|
||||
dockerfile: dockerfile-kasm-centos-7-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-centos-7-desktop
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: chrome
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-chrome
|
||||
changeFiles:
|
||||
- dockerfile-kasm-chrome
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/certificates/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: desktop
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-desktop
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/certificates/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: desktop-deluxe
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-desktop-deluxe
|
||||
changeFiles:
|
||||
- dockerfile-kasm-desktop-deluxe
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/terraform/**
|
||||
- src/ubuntu/install/telegram/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/signal/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/only_office/**
|
||||
- src/ubuntu/install/obs/**
|
||||
- src/ubuntu/install/nextcloud/**
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/gimp/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: discord
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-discord
|
||||
changeFiles:
|
||||
- dockerfile-kasm-discord
|
||||
- src/ubuntu/install/discord/**
|
||||
- name: edge
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-edge
|
||||
changeFiles:
|
||||
- dockerfile-kasm-edge
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/edge/**
|
||||
- name: hunchly
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-hunchly
|
||||
changeFiles:
|
||||
- dockerfile-kasm-hunchly
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/hunchly/**
|
||||
- name: insomnia
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-insomnia
|
||||
changeFiles:
|
||||
- dockerfile-kasm-insomnia
|
||||
- src/ubuntu/install/insomnia/**
|
||||
- name: maltego
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-maltego
|
||||
changeFiles:
|
||||
- dockerfile-kasm-maltego
|
||||
- src/ubuntu/install/maltego/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- name: only-office
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-only-office
|
||||
changeFiles:
|
||||
- dockerfile-kasm-only-office
|
||||
- name: oracle-7-desktop
|
||||
base: core-oracle-7
|
||||
dockerfile: dockerfile-kasm-oracle-7-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-oracle-7-desktop
|
||||
- src/oracle/install/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: postman
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-postman
|
||||
changeFiles:
|
||||
- dockerfile-kasm-postman
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/postman/**
|
||||
- name: remnux-focal-desktop
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-remnux-focal-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-remnux-focal-desktop
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/remnux/**
|
||||
- name: signal
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-signal
|
||||
changeFiles:
|
||||
- dockerfile-kasm-signal
|
||||
- src/ubuntu/install/signal/**
|
||||
- name: steam
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-steam
|
||||
changeFiles:
|
||||
- dockerfile-kasm-steam
|
||||
- src/ubuntu/install/steam/**
|
||||
- name: tracelabs
|
||||
base: core-kali-rolling
|
||||
dockerfile: dockerfile-kasm-tracelabs
|
||||
changeFiles:
|
||||
- dockerfile-kasm-tracelabs
|
||||
- src/ubuntu/install/kali/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/tracelabs/**
|
||||
- name: unityhub
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-unityhub
|
||||
changeFiles:
|
||||
- dockerfile-kasm-unityhub
|
||||
- src/ubuntu/install/misc/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/unityhub/**
|
||||
- name: zoom
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-zoom
|
||||
changeFiles:
|
||||
- dockerfile-kasm-zoom
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: zsnes
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-zsnes
|
||||
changeFiles:
|
||||
- dockerfile-kasm-zsnes
|
||||
- src/ubuntu/install/zsnes/**
|
@ -2,12 +2,12 @@
|
||||
set -e
|
||||
|
||||
## Parse input ##
|
||||
NAME=$(echo $1| awk -F'|' '{print $1}')
|
||||
BASE=$(echo $1| awk -F'|' '{print $2}')
|
||||
DOCKERFILE=$(echo $1| awk -F'|' '{print $3}')
|
||||
ARCH=$2
|
||||
AWS_ID=$3
|
||||
AWS_KEY=$4
|
||||
NAME=$1
|
||||
BASE=$2
|
||||
DOCKERFILE=$3
|
||||
ARCH=$4
|
||||
AWS_ID=$5
|
||||
AWS_KEY=$6
|
||||
|
||||
# Setup aws cli
|
||||
export AWS_ACCESS_KEY_ID="${AWS_ID}"
|
||||
|
@ -88,7 +88,7 @@ else
|
||||
elif grep -q "ID=debian" /etc/os-release || grep -q "ID=kali" /etc/os-release || grep -q "ID=parrot" /etc/os-release; then
|
||||
echo "Firefox flash player not supported on Debian"
|
||||
elif ! grep -q Jammy /etc/os-release; then
|
||||
# Plugin to support running flash videos for sites like vimeo
|
||||
# Plugin to support running flash videos for sites like vimeo
|
||||
apt-get update
|
||||
apt-get install -y browser-plugin-freshplayer-pepperflash
|
||||
apt-mark hold firefox
|
||||
|
@ -16,6 +16,8 @@ apt-get install -y \
|
||||
legion \
|
||||
ophcrack \
|
||||
ophcrack-cli \
|
||||
python3-greenlet \
|
||||
python3-zope.event \
|
||||
sqlitebrowser
|
||||
|
||||
cd /tmp/
|
||||
@ -33,14 +35,13 @@ mv /etc/skel/Desktop/*.pdf $HOME/Desktop/
|
||||
#### Install all tracelabs image packages ####
|
||||
# rm lines with # | Delete Empty lines |
|
||||
cat kali-config/variant-tracelabs/package-lists/kali.list.chroot | sed '/^#/d' | sed '/^$/d' | xargs --no-run-if-empty apt-get install -y
|
||||
|
||||
sed -i '/m4ll0k/,+3d' kali-config/common/hooks/normal/osint-packages.chroot
|
||||
sh kali-config/common/hooks/normal/osint-packages.chroot
|
||||
|
||||
chown -R 1000:1000 \
|
||||
/usr/share/phoneinfoga \
|
||||
/usr/share/Spiderpig \
|
||||
/usr/share/DumpsterDiver \
|
||||
/usr/share/Infoga \
|
||||
/usr/share/LittleBrother \
|
||||
/usr/share/sn0int \
|
||||
/usr/share/buster \
|
||||
@ -53,8 +54,6 @@ chown -R 1000:1000 \
|
||||
|
||||
apt-get install -y python3-pip
|
||||
|
||||
pip3 install --break-system-packages --force-reinstall zope.event
|
||||
|
||||
sed -i 's/sudo //g' /usr/share/applications/tl*.desktop
|
||||
|
||||
### Remove stuff we install later properly
|
||||
|
Loading…
Reference in New Issue
Block a user