mirror of
https://github.com/kingomarnajjar/desktop-environment.git
synced 2026-07-30 18:16:42 +10:00
host-name
This commit is contained in:
parent
3c822f6c08
commit
b5192162f0
9 changed files with 53 additions and 52 deletions
0
credentials/authenticate.sh
Normal file → Executable file
0
credentials/authenticate.sh
Normal file → Executable file
|
|
@ -1,45 +1,47 @@
|
|||
REPO_ROOT=$(dirname $(realpath $0))/../..
|
||||
|
||||
# Desktop environment container user
|
||||
DESKTOP_ENVIRONMENT_USER=jackson
|
||||
# Desktop environment user configuration
|
||||
DESKTOP_ENVIRONMENT_CONTAINER=desktop-environment
|
||||
DESKTOP_ENVIRONMENT_HOME=/$DESKTOP_ENVIRONMENT_USER/home
|
||||
DESKTOP_ENVIRONMENT_REGISTRY=sabrehagen
|
||||
DESKTOP_ENVIRONMENT_USER=jackson
|
||||
|
||||
# Desktop environment repository configuration
|
||||
# Desktop environment host configuration
|
||||
DESKTOP_ENVIRONMENT_HOST_HOME=/$DESKTOP_ENVIRONMENT_USER/home
|
||||
echo DESKTOP_ENVIRONMENT_HOST_HOME=$DESKTOP_ENVIRONMENT_HOST_HOME
|
||||
echo DESKTOP_ENVIRONMENT_HOST_REPOSITORY=/$DESKTOP_ENVIRONMENT_USER/$DESKTOP_ENVIRONMENT_CONTAINER
|
||||
|
||||
# Desktop environment repository information
|
||||
echo DESKTOP_ENVIRONMENT_BRANCH=$(git --git-dir $REPO_ROOT/.git rev-parse --abbrev-ref HEAD)
|
||||
echo DESKTOP_ENVIRONMENT_CONTAINER=$DESKTOP_ENVIRONMENT_CONTAINER
|
||||
echo DESKTOP_ENVIRONMENT_HOME=$DESKTOP_ENVIRONMENT_HOME
|
||||
echo DESKTOP_ENVIRONMENT_USER=$DESKTOP_ENVIRONMENT_USER
|
||||
echo DESKTOP_ENVIRONMENT_REGISTRY=$DESKTOP_ENVIRONMENT_REGISTRY
|
||||
echo DESKTOP_ENVIRONMENT_REPOSITORY=/$DESKTOP_ENVIRONMENT_USER/$DESKTOP_ENVIRONMENT_CONTAINER
|
||||
echo DESKTOP_ENVIRONMENT_USER=$DESKTOP_ENVIRONMENT_USER
|
||||
|
||||
# Desktop environment application cache volumes
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_CERTIFICATES=$DESKTOP_ENVIRONMENT_HOME/.pki
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_CHROME=$DESKTOP_ENVIRONMENT_HOME/.cache/google-chrome
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_CODE=$DESKTOP_ENVIRONMENT_HOME/.vscode
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_SECRETS=$DESKTOP_ENVIRONMENT_HOME/.secrets
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_SSH=$DESKTOP_ENVIRONMENT_HOME/.ssh
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_STEMN=$DESKTOP_ENVIRONMENT_HOME/.stemn
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_VCSH=$DESKTOP_ENVIRONMENT_HOME/.config/vcsh/repo.d
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_VCSH_PRIVATE=$DESKTOP_ENVIRONMENT_HOME/.config/vcsh/repo-private.d
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_YARN=$DESKTOP_ENVIRONMENT_HOME/.cache/yarn
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_ZOOM=$DESKTOP_ENVIRONMENT_HOME/.cache/zoom
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_ZSH=$DESKTOP_ENVIRONMENT_HOME/.cache/zsh
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_CERTIFICATES=$DESKTOP_ENVIRONMENT_HOST_HOME/.pki
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_CHROME=$DESKTOP_ENVIRONMENT_HOST_HOME/.cache/google-chrome
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_CODE=$DESKTOP_ENVIRONMENT_HOST_HOME/.vscode
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_SECRETS=$DESKTOP_ENVIRONMENT_HOST_HOME/.secrets
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_SSH=$DESKTOP_ENVIRONMENT_HOST_HOME/.ssh
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_STEMN=$DESKTOP_ENVIRONMENT_HOST_HOME/.stemn
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_VCSH=$DESKTOP_ENVIRONMENT_HOST_HOME/.config/vcsh/repo.d
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_VCSH_PRIVATE=$DESKTOP_ENVIRONMENT_HOST_HOME/.config/vcsh/repo-private.d
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_YARN=$DESKTOP_ENVIRONMENT_HOST_HOME/.cache/yarn
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_ZOOM=$DESKTOP_ENVIRONMENT_HOST_HOME/.cache/zoom
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_ZSH=$DESKTOP_ENVIRONMENT_HOST_HOME/.cache/zsh
|
||||
|
||||
# Desktop environment application state volumes
|
||||
echo DESKTOP_ENVIRONMENT_STATE_CHROME=$DESKTOP_ENVIRONMENT_HOME/.config/google-chrome
|
||||
echo DESKTOP_ENVIRONMENT_STATE_CODE=$DESKTOP_ENVIRONMENT_HOME/.config/Code
|
||||
echo DESKTOP_ENVIRONMENT_STATE_GITHUB=$DESKTOP_ENVIRONMENT_HOME/.config/github
|
||||
echo DESKTOP_ENVIRONMENT_STATE_JUMP=$DESKTOP_ENVIRONMENT_HOME/.jump
|
||||
echo DESKTOP_ENVIRONMENT_STATE_MUSIKCUBE=$DESKTOP_ENVIRONMENT_HOME/.musikcube
|
||||
echo DESKTOP_ENVIRONMENT_STATE_ZOOM=$DESKTOP_ENVIRONMENT_HOME/.zoom
|
||||
echo DESKTOP_ENVIRONMENT_STATE_CHROME=$DESKTOP_ENVIRONMENT_HOST_HOME/.config/google-chrome
|
||||
echo DESKTOP_ENVIRONMENT_STATE_CODE=$DESKTOP_ENVIRONMENT_HOST_HOME/.config/Code
|
||||
echo DESKTOP_ENVIRONMENT_STATE_GITHUB=$DESKTOP_ENVIRONMENT_HOST_HOME/.config/github
|
||||
echo DESKTOP_ENVIRONMENT_STATE_JUMP=$DESKTOP_ENVIRONMENT_HOST_HOME/.jump
|
||||
echo DESKTOP_ENVIRONMENT_STATE_MUSIKCUBE=$DESKTOP_ENVIRONMENT_HOST_HOME/.musikcube
|
||||
echo DESKTOP_ENVIRONMENT_STATE_ZOOM=$DESKTOP_ENVIRONMENT_HOST_HOME/.zoom
|
||||
|
||||
# Desktop environment user state volumes
|
||||
echo DESKTOP_ENVIRONMENT_USER_DOCUMENTS=$DESKTOP_ENVIRONMENT_HOME/Documents
|
||||
echo DESKTOP_ENVIRONMENT_USER_DOWNLOADS=$DESKTOP_ENVIRONMENT_HOME/Downloads
|
||||
echo DESKTOP_ENVIRONMENT_USER_HOME=$DESKTOP_ENVIRONMENT_HOME
|
||||
echo DESKTOP_ENVIRONMENT_USER_MUSIC=$DESKTOP_ENVIRONMENT_HOME/Music
|
||||
echo DESKTOP_ENVIRONMENT_USER_PICTURES=$DESKTOP_ENVIRONMENT_HOME/Pictures
|
||||
echo DESKTOP_ENVIRONMENT_USER_DOCUMENTS=$DESKTOP_ENVIRONMENT_HOST_HOME/Documents
|
||||
echo DESKTOP_ENVIRONMENT_USER_DOWNLOADS=$DESKTOP_ENVIRONMENT_HOST_HOME/Downloads
|
||||
echo DESKTOP_ENVIRONMENT_USER_HOME=$DESKTOP_ENVIRONMENT_HOST_HOME
|
||||
echo DESKTOP_ENVIRONMENT_USER_MUSIC=$DESKTOP_ENVIRONMENT_HOST_HOME/Music
|
||||
echo DESKTOP_ENVIRONMENT_USER_PICTURES=$DESKTOP_ENVIRONMENT_HOST_HOME/Pictures
|
||||
echo DESKTOP_ENVIRONMENT_USER_REPOSITORIES=/$DESKTOP_ENVIRONMENT_USER/repositories
|
||||
echo DESKTOP_ENVIRONMENT_USER_VIDEOS=$DESKTOP_ENVIRONMENT_HOME/Videos
|
||||
echo DESKTOP_ENVIRONMENT_USER_VIDEOS=$DESKTOP_ENVIRONMENT_HOST_HOME/Videos
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ docker run \
|
|||
--volume /tmp/.X11-unix:/tmp/.X11-unix \
|
||||
--volume /var/lib/docker:/var/lib/docker \
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||
--volume $DESKTOP_ENVIRONMENT_HOME/.config/alacritty:$DESKTOP_ENVIRONMENT_HOME/.config/alacritty \
|
||||
--volume $DESKTOP_ENVIRONMENT_HOST_HOME/.config/alacritty:$DESKTOP_ENVIRONMENT_HOST_HOME/.config/alacritty \
|
||||
--volume DESKTOP_ENVIRONMENT_CACHE_CERTIFICATES:$DESKTOP_ENVIRONMENT_CACHE_CERTIFICATES \
|
||||
--volume DESKTOP_ENVIRONMENT_CACHE_CHROME:$DESKTOP_ENVIRONMENT_CACHE_CHROME \
|
||||
--volume DESKTOP_ENVIRONMENT_CACHE_CODE:$DESKTOP_ENVIRONMENT_CACHE_CODE \
|
||||
|
|
@ -54,7 +54,6 @@ docker run \
|
|||
--volume DESKTOP_ENVIRONMENT_USER_PICTURES:$DESKTOP_ENVIRONMENT_USER_PICTURES \
|
||||
--volume DESKTOP_ENVIRONMENT_USER_REPOSITORIES:$DESKTOP_ENVIRONMENT_USER_REPOSITORIES \
|
||||
--volume DESKTOP_ENVIRONMENT_USER_VIDEOS:$DESKTOP_ENVIRONMENT_USER_VIDEOS \
|
||||
--workdir $DESKTOP_ENVIRONMENT_HOME \
|
||||
$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER:$DESKTOP_ENVIRONMENT_BRANCH
|
||||
|
||||
# Wait until the desktop environment container is running before proceeding
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ REPO_ROOT=$(dirname $(realpath $0))/..
|
|||
export $($REPO_ROOT/docker/scripts/environment.sh)
|
||||
|
||||
# Fork setup to desktop environment global location immediately
|
||||
if [ ! "$REPO_ROOT" -ef "$DESKTOP_ENVIRONMENT_REPOSITORY" ]; then
|
||||
if [ ! "$REPO_ROOT" -ef "$DESKTOP_ENVIRONMENT_HOST_REPOSITORY" ]; then
|
||||
|
||||
# Clone the desktop environment to the global location on the host
|
||||
git clone https://github.com/$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER $DESKTOP_ENVIRONMENT_REPOSITORY
|
||||
git clone https://github.com/$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER $DESKTOP_ENVIRONMENT_HOST_REPOSITORY
|
||||
|
||||
# Restart bootstrap from the global location
|
||||
$DESKTOP_ENVIRONMENT_REPOSITORY/host/bootstrap.sh "$@"
|
||||
$DESKTOP_ENVIRONMENT_HOST_REPOSITORY/host/bootstrap.sh "$@"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ echo '* soft nofile 1000000' >> /etc/security/limits.conf
|
|||
echo '* hard nofile 1000000' >> /etc/security/limits.conf
|
||||
|
||||
# Start the desktop environment as the host user on system start
|
||||
echo "@reboot $HOST_USER $DESKTOP_ENVIRONMENT_REPOSITORY/docker/scripts/start.sh" >> /etc/crontab
|
||||
echo "@reboot $HOST_USER $DESKTOP_ENVIRONMENT_HOST_REPOSITORY/docker/scripts/start.sh" >> /etc/crontab
|
||||
|
||||
# Remove existing group with our docker group id that is not the docker group
|
||||
DOCKER_GID=999
|
||||
|
|
@ -111,7 +111,7 @@ usermod \
|
|||
$HOST_USER
|
||||
|
||||
# Make desktop environment logs directory
|
||||
mkdir $DESKTOP_ENVIRONMENT_REPOSITORY/logs
|
||||
mkdir $DESKTOP_ENVIRONMENT_HOST_REPOSITORY/logs
|
||||
|
||||
# Take ownership of all files under the user's directory
|
||||
chown -R $HOST_USER:$HOST_USER /$HOST_USER
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ docker run \
|
|||
--workdir $DESKTOP_ENVIRONMENT_HOST_REPOSITORY \
|
||||
hashicorp/packer:light build \
|
||||
-force \
|
||||
-var DESKTOP_ENVIRONMENT_USER=$DESKTOP_ENVIRONMENT_USER \
|
||||
-var DESKTOP_ENVIRONMENT_CONTAINER=$DESKTOP_ENVIRONMENT_CONTAINER \
|
||||
-var DESKTOP_ENVIRONMENT_REGISTRY=$DESKTOP_ENVIRONMENT_REGISTRY \
|
||||
-var DESKTOP_ENVIRONMENT_REPOSITORY=$DESKTOP_ENVIRONMENT_REPOSITORY \
|
||||
-var DESKTOP_ENVIRONMENT_USER=$DESKTOP_ENVIRONMENT_USER \
|
||||
desktop-environment.json
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
"source_image_family": "ubuntu-minimal-1810",
|
||||
"project_id": "stemnapp",
|
||||
"zone": "australia-southeast1-a",
|
||||
"instance_name": "packer-${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_REPOSITORY}-{{timestamp}}",
|
||||
"image_name": "${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_REPOSITORY}",
|
||||
"instance_name": "packer-${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_CONTAINER}-{{timestamp}}",
|
||||
"image_name": "${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_CONTAINER}",
|
||||
"ssh_username": "root"
|
||||
}
|
||||
],
|
||||
|
|
@ -15,10 +15,10 @@
|
|||
"type": "shell",
|
||||
"inline": [
|
||||
"# Clone the desktop environment repository",
|
||||
"git clone https://github.com/${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_REPOSITORY}",
|
||||
"git clone https://github.com/${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_CONTAINER}",
|
||||
|
||||
"# Bootstrap the host",
|
||||
"${var.DESKTOP_ENVIRONMENT_REPOSITORY}/host/bootstrap.sh"
|
||||
"${var.DESKTOP_ENVIRONMENT_HOST_REPOSITORY}/host/bootstrap.sh"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ resource "random_id" "instance_id" {
|
|||
}
|
||||
|
||||
locals {
|
||||
environment_name = "${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_REPOSITORY}-${random_id.instance_id.hex}"
|
||||
environment_name = "${var.DESKTOP_ENVIRONMENT_REGISTRY}-${var.DESKTOP_ENVIRONMENT_CONTAINER}-${random_id.instance_id.hex}"
|
||||
}
|
||||
|
||||
resource "google_compute_instance" "desktop-environment" {
|
||||
|
|
@ -42,10 +42,10 @@ resource "google_compute_instance" "desktop-environment" {
|
|||
|
||||
inline = [
|
||||
"# Clone the desktop environment",
|
||||
"git clone https://github.com/${var.DESKTOP_ENVIRONMENT_REGISTRY}/${var.DESKTOP_ENVIRONMENT_REPOSITORY}",
|
||||
"git clone https://github.com/${var.DESKTOP_ENVIRONMENT_REGISTRY}/${var.DESKTOP_ENVIRONMENT_CONTAINER}",
|
||||
|
||||
"# Start the desktop-environment",
|
||||
"${var.DESKTOP_ENVIRONMENT_REPOSITORY}/host/bootstrap-cloud.sh",
|
||||
"${var.DESKTOP_ENVIRONMENT_HOST_REPOSITORY}/host/bootstrap-cloud.sh",
|
||||
]
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ docker run \
|
|||
--workdir $DESKTOP_ENVIRONMENT_HOST_REPOSITORY \
|
||||
hashicorp/terraform:light apply \
|
||||
-auto-approve \
|
||||
-var DESKTOP_ENVIRONMENT_USER=$DESKTOP_ENVIRONMENT_USER \
|
||||
-var DESKTOP_ENVIRONMENT_CONTAINER=$DESKTOP_ENVIRONMENT_CONTAINER \
|
||||
-var DESKTOP_ENVIRONMENT_REGISTRY=$DESKTOP_ENVIRONMENT_REGISTRY \
|
||||
-var DESKTOP_ENVIRONMENT_REPOSITORY=$DESKTOP_ENVIRONMENT_REPOSITORY \
|
||||
-var DESKTOP_ENVIRONMENT_USER=$DESKTOP_ENVIRONMENT_USER \
|
||||
-var owner_host=$(hostname) \
|
||||
-var owner_name=$(whoami)
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
variable "DESKTOP_ENVIRONMENT_USER" {
|
||||
description = "The DESKTOP_ENVIRONMENT_USER environment variable."
|
||||
variable "DESKTOP_ENVIRONMENT_CONTAINER" {
|
||||
description = "The DESKTOP_ENVIRONMENT_CONTAINER environment variable."
|
||||
}
|
||||
|
||||
variable "DESKTOP_ENVIRONMENT_REGISTRY" {
|
||||
description = "The DESKTOP_ENVIRONMENT_REGISTRY environment variable."
|
||||
}
|
||||
|
||||
variable "DESKTOP_ENVIRONMENT_REPOSITORY" {
|
||||
description = "The DESKTOP_ENVIRONMENT_REPOSITORY environment variable."
|
||||
variable "DESKTOP_ENVIRONMENT_USER" {
|
||||
description = "The DESKTOP_ENVIRONMENT_USER environment variable."
|
||||
}
|
||||
|
||||
variable "gcp_project" {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue