Skip to content

Instantly share code, notes, and snippets.

@riuvshin
Last active February 14, 2018 16:23
Show Gist options
  • Save riuvshin/17f081d4360da4ecd99b5aeadea45159 to your computer and use it in GitHub Desktop.
Save riuvshin/17f081d4360da4ecd99b5aeadea45159 to your computer and use it in GitHub Desktop.
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: che
name: che
- apiVersion: v1
kind: Service
metadata:
labels:
app: che
name: che-host
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: che
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: che
name: che-data-volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
- apiVersion: v1
kind: ConfigMap
metadata:
labels:
app: che
name: che
data:
CHE_HOST: "192.168.99.100.nip.io"
CHE_DOCKER_IP_EXTERNAL: "192.168.99.100"
CHE_PORT: "8080"
CHE_API: "http://192.168.99.100.nip.io/api"
CHE_WEBSOCKET_ENDPOINT: ws://192.168.99.100.nip.io/api/websocket
CHE_DEBUG_SERVER: "true"
CHE_INFRASTRUCTURE_ACTIVE: kubernetes
CHE_INFRA_KUBERNETES_BOOTSTRAPPER_BINARY__URL: http://192.168.99.100.nip.io/agent-binaries/linux_amd64/bootstrapper/bootstrapper
CHE_INFRA_KUBERNETES_MACHINE__START__TIMEOUT__MIN: "5"
CHE_INFRA_KUBERNETES_MASTER__URL: ""
CHE_INFRA_KUBERNETES_OAUTH__TOKEN: ""
CHE_INFRA_KUBERNETES_PASSWORD: ""
CHE_INFRA_KUBERNETES_USERNAME: ""
CHE_INFRA_KUBERNETES_NAMESPACE: ""
CHE_INFRA_KUBERNETES_TRUST__CERTS: "false"
CHE_INFRA_KUBERNETES_PVC_STRATEGY: "common"
CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS: "false"
CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_RUN__AS__USER: "0"
CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_FS__GROUP: "0"
CHE_LOCAL_CONF_DIR: /etc/conf
CHE_LOGS_DIR: /data/logs
CHE_LOG_LEVEL: "INFO"
CHE_MULTIUSER: "false"
CHE_OAUTH_GITHUB_CLIENTID: ""
CHE_OAUTH_GITHUB_CLIENTSECRET: ""
CHE_PREDEFINED_STACKS_RELOAD__ON__START: "false"
JAVA_OPTS: "-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -Xms20m "
CHE_WORKSPACE_AUTO_START: "false"
CHE_INFRA_KUBERNETES_INGRESS_ANNOTATIONS__JSON: '{"nginx.ingress.kubernetes.io/rewrite-target": "/","nginx.ingress.kubernetes.io/ssl-redirect": "false","nginx.ingress.kubernetes.io/proxy-connect-timeout": "3600","nginx.ingress.kubernetes.io/proxy-read-timeout": "3600"}'
- apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: che-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600"
spec:
rules:
- host: 192.168.99.100.nip.io
http:
paths:
- backend:
serviceName: che-host
servicePort: 8080
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: che
name: che
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: che
strategy:
type: Recreate
template:
metadata:
annotations:
pod.alpha.kubernetes.io/init-containers: '[{"image":"busybox","imagePullPolicy":"IfNotPresent","name":"fmp-volume-permission","command":["chmod","777","/data"],"volumeMounts":[{"mountPath":"/data","name":"che-data-volume"}]}]'
labels:
app: che
spec:
containers:
- env:
- name: CHE_HOST
valueFrom:
configMapKeyRef:
key: CHE_HOST
name: che
- name: CHE_DOCKER_IP_EXTERNAL
valueFrom:
configMapKeyRef:
key: CHE_DOCKER_IP_EXTERNAL
name: che
- name: CHE_PORT
valueFrom:
configMapKeyRef:
key: CHE_PORT
name: che
- name: CHE_API
valueFrom:
configMapKeyRef:
key: CHE_API
name: che
- name: CHE_WEBSOCKET_ENDPOINT
valueFrom:
configMapKeyRef:
key: CHE_WEBSOCKET_ENDPOINT
name: che
- name: CHE_DEBUG_SERVER
valueFrom:
configMapKeyRef:
key: CHE_DEBUG_SERVER
name: che
- name: CHE_INFRASTRUCTURE_ACTIVE
valueFrom:
configMapKeyRef:
key: CHE_INFRASTRUCTURE_ACTIVE
name: che
- name: CHE_INFRA_KUBERNETES_BOOTSTRAPPER_BINARY__URL
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_BOOTSTRAPPER_BINARY__URL
name: che
- name: CHE_INFRA_KUBERNETES_MACHINE__START__TIMEOUT__MIN
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_MACHINE__START__TIMEOUT__MIN
name: che
- name: CHE_INFRA_KUBERNETES_MASTER__URL
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_MASTER__URL
name: che
- name: CHE_INFRA_KUBERNETES_OAUTH__TOKEN
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_OAUTH__TOKEN
name: che
- name: CHE_INFRA_KUBERNETES_PVC_STRATEGY
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_PVC_STRATEGY
name: che
- name: CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS
name: che
- name: CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_RUN__AS__USER
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_RUN__AS__USER
name: che
- name: CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_FS__GROUP
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_FS__GROUP
name: che
- name: JAVA_OPTS
valueFrom:
configMapKeyRef:
key: JAVA_OPTS
name: che
- name: CHE_INFRA_KUBERNETES_PASSWORD
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_PASSWORD
name: che
- name: CHE_INFRA_KUBERNETES_TRUST__CERTS
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_TRUST__CERTS
name: che
- name: CHE_INFRA_KUBERNETES_USERNAME
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_USERNAME
name: che
- name: CHE_INFRA_KUBERNETES_NAMESPACE
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_NAMESPACE
name: che
- name: CHE_LOCAL_CONF_DIR
valueFrom:
configMapKeyRef:
key: CHE_LOCAL_CONF_DIR
name: che
- name: CHE_LOGS_DIR
valueFrom:
configMapKeyRef:
key: CHE_LOGS_DIR
name: che
- name: CHE_LOG_LEVEL
valueFrom:
configMapKeyRef:
key: CHE_LOG_LEVEL
name: che
- name: CHE_MULTIUSER
valueFrom:
configMapKeyRef:
key: CHE_MULTIUSER
name: che
- name: CHE_OAUTH_GITHUB_CLIENTID
valueFrom:
configMapKeyRef:
key: CHE_OAUTH_GITHUB_CLIENTID
name: che
- name: CHE_OAUTH_GITHUB_CLIENTSECRET
valueFrom:
configMapKeyRef:
key: CHE_OAUTH_GITHUB_CLIENTSECRET
name: che
- name: CHE_PREDEFINED_STACKS_RELOAD__ON__START
valueFrom:
configMapKeyRef:
key: CHE_PREDEFINED_STACKS_RELOAD__ON__START
name: che
- name: CHE_WORKSPACE_AUTO_START
valueFrom:
configMapKeyRef:
key: CHE_WORKSPACE_AUTO_START
name: che
- name: CHE_INFRA_KUBERNETES_INGRESS_ANNOTATIONS__JSON
valueFrom:
configMapKeyRef:
key: CHE_INFRA_KUBERNETES_INGRESS_ANNOTATIONS__JSON
name: che
image: eclipse/che-server:nightly
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /api/system/state
port: 8080
scheme: HTTP
initialDelaySeconds: 120
timeoutSeconds: 10
name: che
ports:
- containerPort: 8080
name: http
- containerPort: 8000
name: http-debug
readinessProbe:
httpGet:
path: /api/system/state
port: 8080
scheme: HTTP
initialDelaySeconds: 15
timeoutSeconds: 60
resources:
limits:
memory: 600Mi
requests:
memory: 256Mi
volumeMounts:
- mountPath: /data
name: che-data-volume
serviceAccountName: che
volumes:
- name: che-data-volume
persistentVolumeClaim:
claimName: che-data-volume
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment