forked from spacetelescope/science-platform-images
-
Notifications
You must be signed in to change notification settings - Fork 0
/
infrequent-env
81 lines (57 loc) · 3.07 KB
/
infrequent-env
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#! /bin/bash -u
export PATH=`pwd`/scripts:${PATH}
# By default, do not export frozen requirements from image. If already set, use that value.
export FREEZE=${FREEZE:-0}
# ----------------- vvvv less frequently changed inputs vvvv -------------------------------
#
# Select "conda" tool used to install conda package and environments: conda or mamba
# mamba is largely a drop-in replacement for conda with improved dependency resolution,
# parallel downloads, and C++ implementation.
export CONDA_VER=conda # switch to conda while "mamba env export" in install-common is broken
# Additional parameters for image-exec Docker run command, e.g. add mounts here
export IMAGE_RUN_PARS="--rm -e JUPYTER_ENABLE_LAB=yes --platform ${PLATFORM}"
# Image scanning, report Ubuntu status for this version of Ubuntu
export UBUNTU_TAG="20.04"
# Image scanning, report CVE's at this severity level and higher
export IMAGE_VULNERABILITY_LEVEL="medium"
# Extra standard parameters to docker build commands
export DOCKER_BUILD_ARGS="--rm --force-rm --build-arg OWNER=${OWNER} --build-arg REGISTRY=${REGISTRY} --progress plain --platform ${PLATFORM}"
export ROOT_CONTAINER=ubuntu:${UBUNTU_TAG}
# -------------------------------------------------------------------
# Docker Buildkit has two killer features:
# 1. It can set up caches for package download directories which
# persist between builds if they're not cleared.
# 2. It can set up multiple builders enabling parallel builds of
# different missions and build parameters. See image-build-all.
# Docker requires DOCKER_BUILDKIT=1 to enable buildkit for older Docker
# distributions. This enables buildkit in general.
export DOCKER_BUILDKIT=1
# Stop/improve buildkit log truncation.
export BUILDKIT_STEP_LOG_MAX_SIZE=10000000 # bytes
export BUILDKIT_STEP_LOG_MAX_SPEED=10000000
# Since these are "build-time" variables references to jovyan are ok
export USER_CACHE_DIRS="/home/jovyan/.cache /opt/conda/pkgs /home/jovyan/.conda/pkgs"
export SYSTEM_CACHE_DIRS="/var/cache/apt"
export CACHE_DIRS="${USER_CACHE_DIRS} ${SYSTEM_CACHE_DIRS}"
# ----------------------------------------------------------------------------
# PIP_SWITCHES are passed through to pip by Docker and the pip install scripts
# env-update and env-compile/sync.
export PIP_SWITCHES='--no-color --default-timeout 100'
# ----------------- vvvvvv derived inputs, nominally don't change vvvvvv --------------
# automatically sourced into setup-env
export JUPYTERHUB_DIR=`pwd`
export IMAGE_DIR=`pwd`/deployments/${DEPLOYMENT_NAME}
export COMMON_IMAGE_DIR=`pwd`/deployments/common
# --------------- vvvvv misc env settings vvvvv ---------------------------------
function where () {
info="${DEPLOYMENT_NAME}-${ENVIRONMENT}-${OWNER}-${CAL_VERSION}"
if [[ "${USE_FROZEN}" == "0" ]]; then
info="${info}-floating"
elif [[ "${USE_FROZEN}" == "1" ]]; then
info="${info}-frozen"
else
info="${info}-ERROR"
fi
echo $info
}
alias glog="git log --graph --oneline --all --decorate --color --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s' | head -n 30"