-
Notifications
You must be signed in to change notification settings - Fork 119
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit a725470
Showing
71 changed files
with
2,489 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
* | ||
!src |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Set default behaviour, in case users don't have core.autocrlf set. | ||
* text=auto | ||
|
||
# Explicitly declare text files we want to always be normalized and converted | ||
# to native line endings on checkout. | ||
*.c text | ||
*.h text | ||
*.sah text | ||
*.suite text | ||
*.inc text | ||
*.js text | ||
*.json text | ||
|
||
# Declare files that will always have CRLF line endings on checkout. | ||
*.sln text eol=crlf | ||
|
||
# Denote all files that are truly binary and should not be modified. | ||
*.png binary | ||
*.jpg binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
target | ||
.idea | ||
*.iml | ||
*.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
image: docker | ||
services: | ||
- docker:dind | ||
|
||
stages: | ||
- build | ||
- readme | ||
|
||
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')" | ||
- export SANITIZED_ROLLING_BRANCH=${SANITIZED_BRANCH}-rolling | ||
|
||
# Jobs for the develop and release branches. They should push to the private and public repos | ||
build_ubuntu_bionic: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="ubuntu:18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- develop | ||
- /^release\/.*$/ | ||
except: | ||
- schedules | ||
|
||
build_cuda_bionic: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-cuda-bionic:$SANITIZED_BRANCH -t ${ORG_NAME}/core-cuda-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="nvidia/cuda:11.3.0-devel-ubuntu18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-cuda-bionic:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-cuda-bionic:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- develop | ||
- /^release\/.*$/ | ||
except: | ||
- schedules | ||
|
||
build_remnux_bionic: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-bionic:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="remnux/remnux-distro:bionic" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-remnux-bionic:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- develop | ||
- /^release\/.*$/ | ||
except: | ||
- schedules | ||
|
||
build_kali_rolling: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-kali-rolling:$SANITIZED_BRANCH -t ${ORG_NAME}/core-kali-rolling:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="kalilinux/kali-rolling:latest" --build-arg START_PULSEAUDIO="1" --build-arg EXTRA_SH="kali.sh" --build-arg DISTRO="kali" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-kali-rolling:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-kali-rolling:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- develop | ||
- /^release\/.*$/ | ||
except: | ||
- schedules | ||
|
||
build_centos: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-centos-7:$SANITIZED_BRANCH -t ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="centos:centos7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4=1 --build-arg DISTRO="centos" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-centos . | ||
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-centos-7:$SANITIZED_BRANCH | ||
- docker push ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- develop | ||
- /^release\/.*$/ | ||
except: | ||
- schedules | ||
|
||
|
||
# These jobs should run on the feature/bugfix branches - anything that is not the develop or release branches. It should only push images to the private repos | ||
build_ubuntu_bionic_dev: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE="ubuntu:18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_BRANCH | ||
except: | ||
- develop | ||
- /^release\/.*$/ | ||
|
||
|
||
build_cuda_bionic_dev: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE="nvidia/cuda:11.3.0-devel-ubuntu18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_BRANCH | ||
except: | ||
- develop | ||
- /^release\/.*$/ | ||
|
||
build_remnux_bionic_dev: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE="remnux/remnux-distro:bionic" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH | ||
except: | ||
- develop | ||
- /^release\/.*$/ | ||
|
||
build_kali_rolling_dev: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE="kalilinux/kali-rolling:latest" --build-arg START_PULSEAUDIO="1" --build-arg EXTRA_SH="kali.sh" --build-arg DISTRO="kali" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_BRANCH | ||
except: | ||
- develop | ||
- /^release\/.*$/ | ||
|
||
build_centos_dev: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE="centos:centos7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4=1 --build-arg DISTRO="centos" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-centos . | ||
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH | ||
except: | ||
- develop | ||
- /^release\/.*$/ | ||
|
||
# These jobs are for the "rolling" release of the images. They should only run for scheduled jobs and should only push the rolling tags | ||
build_ubuntu_bionic_scheduled: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="ubuntu:18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- schedules | ||
|
||
build_cuda_bionic_schedules: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-cuda-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="nvidia/cuda:11.3.0-devel-ubuntu18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-cuda-bionic-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-cuda-bionic:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- schedules | ||
|
||
build_remnux_bionic_schedules: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="remnux/remnux-distro:bionic" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- schedules | ||
|
||
build_kali_rolling_schedules: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-kali-rolling:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="kalilinux/kali-rolling:latest" --build-arg START_PULSEAUDIO="1" --build-arg EXTRA_SH="kali.sh" --build-arg DISTRO="kali" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core . | ||
- docker push ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-kali-rolling:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- schedules | ||
|
||
build_centos_schedules: | ||
stage: build | ||
script: | ||
- docker build -t ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="centos:centos7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4=1 --build-arg DISTRO="centos" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-centos . | ||
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH | ||
- docker push ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH | ||
only: | ||
- schedules | ||
|
||
|
||
update_readmes: | ||
stage: readme | ||
script: | ||
- apk add git | ||
- git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@${README_TEMPLATE_REPO} | ||
- sed -e "/{about}/r docs/$KASM_IMAGE/README.md" -e "/{about}/d" dockerhub-readme-template/TEMPLATE.md > docs/$KASM_IMAGE/FULL_README.md | ||
- cat docs/$KASM_IMAGE/FULL_README.md | ||
- docker run -v $PWD:/workspace -e DOCKER_USERNAME="$README_USERNAME" -e DOCKER_PASSWORD="$README_PASSWORD" -e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE-private" -e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md" -e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt" kasmweb/dockerhub-updater:latest | ||
- docker run -v $PWD:/workspace -e DOCKER_USERNAME="$README_USERNAME" -e DOCKER_PASSWORD="$README_PASSWORD" -e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE" -e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md" -e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt" kasmweb/dockerhub-updater:latest | ||
|
||
only: | ||
variables: | ||
- $README_USERNAME | ||
- $README_PASSWORD | ||
parallel: | ||
matrix: | ||
- KASM_IMAGE: [core-centos-7, core-kali-rolling, core-remnux-bionic, core-cuda-bionic, core-ubuntu-bionic] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
![Logo][logo] | ||
# Workspaces Core Images | ||
This repository contains the base or **"Core"** images from which all other Workspaces images are derived. | ||
These images are based off popular linux distributions and container the wiring necessary to work within the Kasm platform. | ||
|
||
While these image are primarily built to run inside the Kasm platform, it can also be executed manually. Please note that certain functionality, such as audio, uploads, downloads, and microphone passthrough are only available within the Kasm platform. | ||
|
||
``` | ||
sudo docker run --rm -it --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/<image>:<tag> | ||
``` | ||
|
||
The container is now accessible via a browser : `https://<IP>:6901` | ||
|
||
- **User** : `kasm_user` | ||
- **Password**: `password` | ||
|
||
|
||
For more information about building custom images please review the [**How To Guide**](https://kasmweb.com/docs/latest/how_to/building_images.html?utm_campaign=Github&utm_source=github) | ||
|
||
The Kasm team publishes applications and desktop images for use inside the platform. More information, including source can be found in the [Default Images List](https://kasmweb.com/docs/latest/guide/custom_images.html?utm_campaign=Github&utm_source=github) | ||
|
||
# About Workspaces | ||
Kasm Workspaces is a docker container streaming platform that enables you to deliver browser-based access to desktops, applications, and web services. Kasm uses a modern DevOps approach for programmatic delivery of services via Containerized Desktop Infrastructure (CDI) technology to create on-demand, disposable, docker containers that are accessible via web browser. The rendering of the graphical-based containers is powered by the open-source project [**KasmVNC**](https://github.com/kasmtech/KasmVNC?utm_campaign=Github&utm_source=github) | ||
|
||
![Screenshot][Kasm_Workflow] | ||
|
||
Kasm Workspaces was developed to meet the most demanding secure collaboration requirements that is highly scalable, customizable, and easy to maintain. Most importantly, Kasm provides a solution, rather than a service, so it is infinitely customizable to your unique requirements and includes a developer API so that it can be integrated with, rather than replace, your existing applications and workflows. Kasm can be deployed in the cloud (Public or Private), on-premise (Including Air-Gapped Networks), or in a hybrid configuration. | ||
|
||
# Live Demo | ||
A self-guided on-demand demo is available at [**kasmweb.com**](https://www.kasmweb.com/demo.html?utm_campaign=Github&utm_source=github) | ||
|
||
|
||
[logo]: https://cdn2.hubspot.net/hubfs/5856039/dockerhub/kasm_logo.png "Kasm Logo" | ||
[Kasm_Workflow]: https://cdn2.hubspot.net/hubfs/5856039/dockerhub/kasm_workflow_1440.gif "Kasm Workflow" |
Oops, something went wrong.