mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-07 10:04:03 +00:00
Make css, json and yaml style identical
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
---
|
||||
ignored:
|
||||
- DL3006
|
||||
- DL3008
|
||||
- DL3006
|
||||
- DL3008
|
||||
|
@@ -16,13 +16,13 @@ repos:
|
||||
rev: v1.26.1
|
||||
hooks:
|
||||
- id: yamllint
|
||||
args: ['-d {extends: relaxed, rules: {line-length: disable}}', '-s']
|
||||
args: ["-d {extends: relaxed, rules: {line-length: disable}}", "-s"]
|
||||
files: \.(yaml|yml)$
|
||||
- repo: https://github.com/openstack-dev/bashate.git
|
||||
rev: 2.0.0
|
||||
hooks:
|
||||
- id: bashate
|
||||
args: ['--ignore=E006']
|
||||
args: ["--ignore=E006"]
|
||||
- repo: https://gitlab.com/pycqa/flake8
|
||||
rev: 3.9.1
|
||||
hooks:
|
||||
@@ -35,4 +35,8 @@ repos:
|
||||
rev: v0.27.1
|
||||
hooks:
|
||||
- id: markdownlint
|
||||
args: ['--fix']
|
||||
args: ["--fix"]
|
||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||
rev: v2.2.1
|
||||
hooks:
|
||||
- id: prettier
|
||||
|
2
docs/_static/custom.css
vendored
2
docs/_static/custom.css
vendored
@@ -1,3 +1,3 @@
|
||||
body div.sphinxsidebarwrapper p.logo {
|
||||
text-align: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
@@ -1,178 +1,176 @@
|
||||
{
|
||||
"kind": "Template",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "jupyter-notebook",
|
||||
"annotations": {
|
||||
"openshift.io/display-name": "Jupyter Notebook",
|
||||
"description": "Template for deploying Jupyter Notebook images.",
|
||||
"iconClass": "icon-python",
|
||||
"tags": "python,jupyter"
|
||||
}
|
||||
"kind": "Template",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "jupyter-notebook",
|
||||
"annotations": {
|
||||
"openshift.io/display-name": "Jupyter Notebook",
|
||||
"description": "Template for deploying Jupyter Notebook images.",
|
||||
"iconClass": "icon-python",
|
||||
"tags": "python,jupyter"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "APPLICATION_NAME",
|
||||
"value": "notebook",
|
||||
"required": true
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "APPLICATION_NAME",
|
||||
"value": "notebook",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "NOTEBOOK_IMAGE",
|
||||
"value": "jupyter/minimal-notebook:latest",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "NOTEBOOK_PASSWORD",
|
||||
"from": "[a-f0-9]{32}",
|
||||
"generate": "expression"
|
||||
}
|
||||
],
|
||||
"objects": [
|
||||
{
|
||||
"kind": "ConfigMap",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}-cfg",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"jupyter_notebook_config.py": "import os\n\npassword = os.environ.get('JUPYTER_NOTEBOOK_PASSWORD')\n\nif password:\n import notebook.auth\n c.NotebookApp.password = notebook.auth.passwd(password)\n del password\n del os.environ['JUPYTER_NOTEBOOK_PASSWORD']\n\nimage_config_file = '/home/jovyan/.jupyter/jupyter_notebook_config.py'\n\nif os.path.exists(image_config_file):\n with open(image_config_file) as fp:\n exec(compile(fp.read(), image_config_file, 'exec'), globals())\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "DeploymentConfig",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
}
|
||||
],
|
||||
"replicas": 1,
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"alpha.image.policy.openshift.io/resolve-names": "*"
|
||||
},
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name": "jupyter-notebook",
|
||||
"image": "${NOTEBOOK_IMAGE}",
|
||||
"command": [
|
||||
"start-notebook.sh",
|
||||
"--config=/etc/jupyter/openshift/jupyter_notebook_config.py",
|
||||
"--no-browser",
|
||||
"--ip=0.0.0.0"
|
||||
],
|
||||
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8888,
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"env": [
|
||||
{
|
||||
"name": "JUPYTER_NOTEBOOK_PASSWORD",
|
||||
"value": "${NOTEBOOK_PASSWORD}"
|
||||
}
|
||||
],
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/etc/jupyter/openshift",
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"automountServiceAccountToken": false,
|
||||
"securityContext": {
|
||||
"supplementalGroups": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"volumes": [
|
||||
{
|
||||
"configMap": {
|
||||
"name": "${APPLICATION_NAME}-cfg"
|
||||
},
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Route",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"host": "",
|
||||
"to": {
|
||||
"kind": "Service",
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"weight": 100
|
||||
},
|
||||
"port": {
|
||||
"targetPort": "8888-tcp"
|
||||
},
|
||||
"tls": {
|
||||
"termination": "edge",
|
||||
"insecureEdgeTerminationPolicy": "Redirect"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Service",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"ports": [
|
||||
{
|
||||
"name": "8888-tcp",
|
||||
"protocol": "TCP",
|
||||
"port": 8888,
|
||||
"targetPort": 8888
|
||||
}
|
||||
],
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"type": "ClusterIP"
|
||||
}
|
||||
{
|
||||
"name": "NOTEBOOK_IMAGE",
|
||||
"value": "jupyter/minimal-notebook:latest",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "NOTEBOOK_PASSWORD",
|
||||
"from": "[a-f0-9]{32}",
|
||||
"generate": "expression"
|
||||
}
|
||||
],
|
||||
"objects": [
|
||||
{
|
||||
"kind": "ConfigMap",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}-cfg",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"data": {
|
||||
"jupyter_notebook_config.py": "import os\n\npassword = os.environ.get('JUPYTER_NOTEBOOK_PASSWORD')\n\nif password:\n import notebook.auth\n c.NotebookApp.password = notebook.auth.passwd(password)\n del password\n del os.environ['JUPYTER_NOTEBOOK_PASSWORD']\n\nimage_config_file = '/home/jovyan/.jupyter/jupyter_notebook_config.py'\n\nif os.path.exists(image_config_file):\n with open(image_config_file) as fp:\n exec(compile(fp.read(), image_config_file, 'exec'), globals())\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "DeploymentConfig",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
}
|
||||
],
|
||||
"replicas": 1,
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"alpha.image.policy.openshift.io/resolve-names": "*"
|
||||
},
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name": "jupyter-notebook",
|
||||
"image": "${NOTEBOOK_IMAGE}",
|
||||
"command": [
|
||||
"start-notebook.sh",
|
||||
"--config=/etc/jupyter/openshift/jupyter_notebook_config.py",
|
||||
"--no-browser",
|
||||
"--ip=0.0.0.0"
|
||||
],
|
||||
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8888,
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"env": [
|
||||
{
|
||||
"name": "JUPYTER_NOTEBOOK_PASSWORD",
|
||||
"value": "${NOTEBOOK_PASSWORD}"
|
||||
}
|
||||
],
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/etc/jupyter/openshift",
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"automountServiceAccountToken": false,
|
||||
"securityContext": {
|
||||
"supplementalGroups": [100]
|
||||
},
|
||||
"volumes": [
|
||||
{
|
||||
"configMap": {
|
||||
"name": "${APPLICATION_NAME}-cfg"
|
||||
},
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Route",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"host": "",
|
||||
"to": {
|
||||
"kind": "Service",
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"weight": 100
|
||||
},
|
||||
"port": {
|
||||
"targetPort": "8888-tcp"
|
||||
},
|
||||
"tls": {
|
||||
"termination": "edge",
|
||||
"insecureEdgeTerminationPolicy": "Redirect"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Service",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"ports": [
|
||||
{
|
||||
"name": "8888-tcp",
|
||||
"protocol": "TCP",
|
||||
"port": 8888,
|
||||
"targetPort": 8888
|
||||
}
|
||||
],
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"type": "ClusterIP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@@ -1,376 +1,372 @@
|
||||
{
|
||||
"kind": "List",
|
||||
"apiVersion": "v1",
|
||||
"items": [
|
||||
"kind": "List",
|
||||
"apiVersion": "v1",
|
||||
"items": [
|
||||
{
|
||||
"kind": "Template",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "jupyter-notebook-builder",
|
||||
"annotations": {
|
||||
"openshift.io/display-name": "Jupyter Notebook Builder",
|
||||
"description": "Template for building Jupyter Notebook images with bundled notebooks and files.",
|
||||
"iconClass": "icon-python",
|
||||
"tags": "python,jupyter"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"kind": "Template",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "jupyter-notebook-builder",
|
||||
"annotations": {
|
||||
"openshift.io/display-name": "Jupyter Notebook Builder",
|
||||
"description": "Template for building Jupyter Notebook images with bundled notebooks and files.",
|
||||
"iconClass": "icon-python",
|
||||
"tags": "python,jupyter"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "IMAGE_NAME",
|
||||
"value": "notebook",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "BUILDER_IMAGE",
|
||||
"value": "jupyter/minimal-notebook:latest",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "BUILDER_SCRIPTS",
|
||||
"value": "https://raw.githubusercontent.com/jupyter/docker-stacks/master/examples/source-to-image",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REPOSITORY_URL",
|
||||
"value": "",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REFERENCE",
|
||||
"value": "master",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "CONTEXT_DIR",
|
||||
"value": "",
|
||||
"required": false
|
||||
}
|
||||
],
|
||||
"objects": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ImageStream",
|
||||
"metadata": {
|
||||
"name": "${IMAGE_NAME}",
|
||||
"labels": {
|
||||
"app": "${IMAGE_NAME}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "BuildConfig",
|
||||
"metadata": {
|
||||
"name": "${IMAGE_NAME}",
|
||||
"labels": {
|
||||
"app": "${IMAGE_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"output": {
|
||||
"to": {
|
||||
"kind": "ImageStreamTag",
|
||||
"name": "${IMAGE_NAME}:latest"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"memory": "1Gi"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"type": "Git",
|
||||
"git": {
|
||||
"uri": "${GIT_REPOSITORY_URL}",
|
||||
"ref": "${GIT_REFERENCE}"
|
||||
},
|
||||
"contextDir": "${CONTEXT_DIR}"
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Source",
|
||||
"sourceStrategy": {
|
||||
"from": {
|
||||
"kind": "DockerImage",
|
||||
"name": "${BUILDER_IMAGE}"
|
||||
},
|
||||
"scripts": "${BUILDER_SCRIPTS}"
|
||||
}
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
"name": "IMAGE_NAME",
|
||||
"value": "notebook",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"kind": "Template",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "jupyter-notebook-quickstart",
|
||||
"annotations": {
|
||||
"openshift.io/display-name": "Jupyter Notebook QuickStart",
|
||||
"description": "Template for deploying Jupyter Notebook images with bundled notebooks and files.",
|
||||
"iconClass": "icon-python",
|
||||
"tags": "python,jupyter"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "APPLICATION_NAME",
|
||||
"value": "notebook",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "BUILDER_IMAGE",
|
||||
"value": "jupyter/minimal-notebook:latest",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "BUILDER_SCRIPTS",
|
||||
"value": "https://raw.githubusercontent.com/jupyter/docker-stacks/master/examples/source-to-image",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REPOSITORY_URL",
|
||||
"value": "",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REFERENCE",
|
||||
"value": "master",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "CONTEXT_DIR",
|
||||
"value": "",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"name": "NOTEBOOK_PASSWORD",
|
||||
"from": "[a-f0-9]{32}",
|
||||
"generate": "expression"
|
||||
}
|
||||
],
|
||||
"objects": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ImageStream",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "BuildConfig",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"output": {
|
||||
"to": {
|
||||
"kind": "ImageStreamTag",
|
||||
"name": "${APPLICATION_NAME}:latest"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"memory": "1Gi"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"type": "Git",
|
||||
"git": {
|
||||
"uri": "${GIT_REPOSITORY_URL}",
|
||||
"ref": "${GIT_REFERENCE}"
|
||||
},
|
||||
"contextDir": "${CONTEXT_DIR}"
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Source",
|
||||
"sourceStrategy": {
|
||||
"from": {
|
||||
"kind": "DockerImage",
|
||||
"name": "${BUILDER_IMAGE}"
|
||||
},
|
||||
"scripts": "${BUILDER_SCRIPTS}"
|
||||
}
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "ConfigMap",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}-cfg",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"jupyter_notebook_config.py": "import os\n\npassword = os.environ.get('JUPYTER_NOTEBOOK_PASSWORD')\n\nif password:\n import notebook.auth\n c.NotebookApp.password = notebook.auth.passwd(password)\n del password\n del os.environ['JUPYTER_NOTEBOOK_PASSWORD']\n\nimage_config_file = '/home/jovyan/.jupyter/jupyter_notebook_config.py'\n\nif os.path.exists(image_config_file):\n with open(image_config_file) as fp:\n exec(compile(fp.read(), image_config_file, 'exec'), globals())\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "DeploymentConfig",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
},
|
||||
{
|
||||
"type": "ImageChange",
|
||||
"imageChangeParams": {
|
||||
"automatic": true,
|
||||
"containerNames": [
|
||||
"jupyter-notebook"
|
||||
],
|
||||
"from": {
|
||||
"kind": "ImageStreamTag",
|
||||
"name": "${APPLICATION_NAME}:latest"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"replicas": 1,
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"alpha.image.policy.openshift.io/resolve-names": "*"
|
||||
},
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name": "jupyter-notebook",
|
||||
"image": "${APPLICATION_NAME}:latest",
|
||||
"command": [
|
||||
"start-notebook.sh",
|
||||
"--config=/etc/jupyter/openshift/jupyter_notebook_config.py",
|
||||
"--no-browser",
|
||||
"--ip=0.0.0.0"
|
||||
],
|
||||
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8888,
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"env": [
|
||||
{
|
||||
"name": "JUPYTER_NOTEBOOK_PASSWORD",
|
||||
"value": "${NOTEBOOK_PASSWORD}"
|
||||
}
|
||||
],
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/etc/jupyter/openshift",
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"automountServiceAccountToken": false,
|
||||
"securityContext": {
|
||||
"supplementalGroups": [
|
||||
100
|
||||
]
|
||||
},
|
||||
"volumes": [
|
||||
{
|
||||
"configMap": {
|
||||
"name": "${APPLICATION_NAME}-cfg"
|
||||
},
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Route",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"host": "",
|
||||
"to": {
|
||||
"kind": "Service",
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"weight": 100
|
||||
},
|
||||
"port": {
|
||||
"targetPort": "8888-tcp"
|
||||
},
|
||||
"tls": {
|
||||
"termination": "edge",
|
||||
"insecureEdgeTerminationPolicy": "Redirect"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Service",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"ports": [
|
||||
{
|
||||
"name": "8888-tcp",
|
||||
"protocol": "TCP",
|
||||
"port": 8888,
|
||||
"targetPort": 8888
|
||||
}
|
||||
],
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"type": "ClusterIP"
|
||||
}
|
||||
}
|
||||
]
|
||||
"name": "BUILDER_IMAGE",
|
||||
"value": "jupyter/minimal-notebook:latest",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "BUILDER_SCRIPTS",
|
||||
"value": "https://raw.githubusercontent.com/jupyter/docker-stacks/master/examples/source-to-image",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REPOSITORY_URL",
|
||||
"value": "",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REFERENCE",
|
||||
"value": "master",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "CONTEXT_DIR",
|
||||
"value": "",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"objects": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ImageStream",
|
||||
"metadata": {
|
||||
"name": "${IMAGE_NAME}",
|
||||
"labels": {
|
||||
"app": "${IMAGE_NAME}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "BuildConfig",
|
||||
"metadata": {
|
||||
"name": "${IMAGE_NAME}",
|
||||
"labels": {
|
||||
"app": "${IMAGE_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"output": {
|
||||
"to": {
|
||||
"kind": "ImageStreamTag",
|
||||
"name": "${IMAGE_NAME}:latest"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"memory": "1Gi"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"type": "Git",
|
||||
"git": {
|
||||
"uri": "${GIT_REPOSITORY_URL}",
|
||||
"ref": "${GIT_REFERENCE}"
|
||||
},
|
||||
"contextDir": "${CONTEXT_DIR}"
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Source",
|
||||
"sourceStrategy": {
|
||||
"from": {
|
||||
"kind": "DockerImage",
|
||||
"name": "${BUILDER_IMAGE}"
|
||||
},
|
||||
"scripts": "${BUILDER_SCRIPTS}"
|
||||
}
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind": "Template",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "jupyter-notebook-quickstart",
|
||||
"annotations": {
|
||||
"openshift.io/display-name": "Jupyter Notebook QuickStart",
|
||||
"description": "Template for deploying Jupyter Notebook images with bundled notebooks and files.",
|
||||
"iconClass": "icon-python",
|
||||
"tags": "python,jupyter"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "APPLICATION_NAME",
|
||||
"value": "notebook",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "BUILDER_IMAGE",
|
||||
"value": "jupyter/minimal-notebook:latest",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "BUILDER_SCRIPTS",
|
||||
"value": "https://raw.githubusercontent.com/jupyter/docker-stacks/master/examples/source-to-image",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REPOSITORY_URL",
|
||||
"value": "",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "GIT_REFERENCE",
|
||||
"value": "master",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "CONTEXT_DIR",
|
||||
"value": "",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"name": "NOTEBOOK_PASSWORD",
|
||||
"from": "[a-f0-9]{32}",
|
||||
"generate": "expression"
|
||||
}
|
||||
],
|
||||
"objects": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ImageStream",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "BuildConfig",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"output": {
|
||||
"to": {
|
||||
"kind": "ImageStreamTag",
|
||||
"name": "${APPLICATION_NAME}:latest"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"memory": "1Gi"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"type": "Git",
|
||||
"git": {
|
||||
"uri": "${GIT_REPOSITORY_URL}",
|
||||
"ref": "${GIT_REFERENCE}"
|
||||
},
|
||||
"contextDir": "${CONTEXT_DIR}"
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Source",
|
||||
"sourceStrategy": {
|
||||
"from": {
|
||||
"kind": "DockerImage",
|
||||
"name": "${BUILDER_IMAGE}"
|
||||
},
|
||||
"scripts": "${BUILDER_SCRIPTS}"
|
||||
}
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "ConfigMap",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}-cfg",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"jupyter_notebook_config.py": "import os\n\npassword = os.environ.get('JUPYTER_NOTEBOOK_PASSWORD')\n\nif password:\n import notebook.auth\n c.NotebookApp.password = notebook.auth.passwd(password)\n del password\n del os.environ['JUPYTER_NOTEBOOK_PASSWORD']\n\nimage_config_file = '/home/jovyan/.jupyter/jupyter_notebook_config.py'\n\nif os.path.exists(image_config_file):\n with open(image_config_file) as fp:\n exec(compile(fp.read(), image_config_file, 'exec'), globals())\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "DeploymentConfig",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"triggers": [
|
||||
{
|
||||
"type": "ConfigChange"
|
||||
},
|
||||
{
|
||||
"type": "ImageChange",
|
||||
"imageChangeParams": {
|
||||
"automatic": true,
|
||||
"containerNames": ["jupyter-notebook"],
|
||||
"from": {
|
||||
"kind": "ImageStreamTag",
|
||||
"name": "${APPLICATION_NAME}:latest"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"replicas": 1,
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"alpha.image.policy.openshift.io/resolve-names": "*"
|
||||
},
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name": "jupyter-notebook",
|
||||
"image": "${APPLICATION_NAME}:latest",
|
||||
"command": [
|
||||
"start-notebook.sh",
|
||||
"--config=/etc/jupyter/openshift/jupyter_notebook_config.py",
|
||||
"--no-browser",
|
||||
"--ip=0.0.0.0"
|
||||
],
|
||||
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8888,
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"env": [
|
||||
{
|
||||
"name": "JUPYTER_NOTEBOOK_PASSWORD",
|
||||
"value": "${NOTEBOOK_PASSWORD}"
|
||||
}
|
||||
],
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/etc/jupyter/openshift",
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"automountServiceAccountToken": false,
|
||||
"securityContext": {
|
||||
"supplementalGroups": [100]
|
||||
},
|
||||
"volumes": [
|
||||
{
|
||||
"configMap": {
|
||||
"name": "${APPLICATION_NAME}-cfg"
|
||||
},
|
||||
"name": "configs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Route",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"host": "",
|
||||
"to": {
|
||||
"kind": "Service",
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"weight": 100
|
||||
},
|
||||
"port": {
|
||||
"targetPort": "8888-tcp"
|
||||
},
|
||||
"tls": {
|
||||
"termination": "edge",
|
||||
"insecureEdgeTerminationPolicy": "Redirect"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Service",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "${APPLICATION_NAME}",
|
||||
"labels": {
|
||||
"app": "${APPLICATION_NAME}"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"ports": [
|
||||
{
|
||||
"name": "8888-tcp",
|
||||
"protocol": "TCP",
|
||||
"port": 8888,
|
||||
"targetPort": 8888
|
||||
}
|
||||
],
|
||||
"selector": {
|
||||
"app": "${APPLICATION_NAME}",
|
||||
"deploymentconfig": "${APPLICATION_NAME}"
|
||||
},
|
||||
"type": "ClusterIP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Reference in New Issue
Block a user