helm: Make the package versions part of the values.yaml file.
authorWard Vandewege <wvandewege@veritasgenetics.com>
Mon, 21 May 2018 19:08:06 +0000 (15:08 -0400)
committerWard Vandewege <wvandewege@veritasgenetics.com>
Fri, 25 May 2018 17:31:56 +0000 (13:31 -0400)
helm: Make the external IP part of the values.yaml file.

No issue #

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <wvandewege@veritasgenetics.com>

23 files changed:
arvados/cert-gen.sh
arvados/config/api-server/application.yml
arvados/config/api-server/create-workbench-api-client.rb
arvados/config/shell-server/99-init-keep.sh
arvados/config/workbench/application.yml
arvados/templates/api-server-configmap.yaml
arvados/templates/api-server-deployment.yaml
arvados/templates/api-server-service.yaml
arvados/templates/keep-proxy-deployment.yaml
arvados/templates/keep-proxy-https.yaml
arvados/templates/keep-store-deployment.yaml
arvados/templates/keep-web-deployment.yaml
arvados/templates/keep-web-https.yaml
arvados/templates/shell-server-configmap.yaml
arvados/templates/shell-server-deployment.yaml
arvados/templates/sso-deployment.yaml
arvados/templates/sso-service.yaml
arvados/templates/workbench-configmap.yaml
arvados/templates/workbench-deployment.yaml
arvados/templates/workbench-service.yaml
arvados/templates/ws-deployment.yaml
arvados/templates/ws-https.yaml
arvados/values.yaml

index aba4432710431b22415a292bdea3deb86a4c51f5..8558cb31597a1c65aff125547304313343fda755 100755 (executable)
@@ -6,7 +6,7 @@
 
 if [[ -z $1 ]] ; then
     echo "ERROR: A floating IP must be supplied."
 
 if [[ -z $1 ]] ; then
     echo "ERROR: A floating IP must be supplied."
-    echo "Usage: $0 <floatingIP>"
+    echo "Usage: $0 <externalIP>"
     exit 1
 fi
 
     exit 1
 fi
 
index 4616d270c959a90bf71dcd57b4485393971f67e8..08a87c55f65a18e3c65864e65aaa8728d8242193 100644 (file)
@@ -42,7 +42,7 @@ common:
   # sso-provider).
   sso_app_secret: app_secret
   sso_app_id: arvados-server
   # sso-provider).
   sso_app_secret: app_secret
   sso_app_id: arvados-server
-  sso_provider_url: http://8.8.8.8:3002
+  sso_provider_url: http://{{ .Values.externalIP }}:3002
 
   # If this is not false, HTML requests at the API server's root URL
   # are redirected to this location, and it is provided in the text of
 
   # If this is not false, HTML requests at the API server's root URL
   # are redirected to this location, and it is provided in the text of
@@ -60,7 +60,7 @@ common:
   #
   # Example:
   #websocket_address: wss://ws.zzzzz.arvadosapi.com/websocket
   #
   # Example:
   #websocket_address: wss://ws.zzzzz.arvadosapi.com/websocket
-  websocket_address: wss://8.8.8.8:9003/websocket
+  websocket_address: wss://{{ .Values.externalIP }}:9003/websocket
 
   # Maximum number of websocket connections allowed
   websocket_max_connections: 500
 
   # Maximum number of websocket connections allowed
   websocket_max_connections: 500
index b5fdf30a09752f9ec0266be38c6254369ba18ae4..379b65aa3c8567485a00db8c6f4beff1d2e4ddcc 100644 (file)
@@ -4,7 +4,7 @@
 
 include CurrentApiClient
 act_as_system_user do
 
 include CurrentApiClient
 act_as_system_user do
-  wb = ApiClient.new(:url_prefix => "8.8.8.8")
+  wb = ApiClient.new(:url_prefix => "{{ .Values.externalIP }}")
   wb.save!
   wb.update_attributes!(is_trusted: true)
 end
   wb.save!
   wb.update_attributes!(is_trusted: true)
 end
index 1a20c1f2c86f2800bfce9cc4063f4a417e612678..093995e23cf41205e51e4ffe5485947cb29f0ca8 100644 (file)
@@ -27,7 +27,7 @@ EOF
 
 arv keep_service create --keep-service "$(cat <<EOF
 {
 
 arv keep_service create --keep-service "$(cat <<EOF
 {
- "service_host":"8.8.8.8",
+ "service_host":"{{ .Values.externalIP }}",
  "service_port":25107,
  "service_ssl_flag":true,
  "service_type":"proxy"
  "service_port":25107,
  "service_ssl_flag":true,
  "service_type":"proxy"
index 111a3dafdd8515958d048618acb158eaefeb2547..cb332b53a180bd11d300f738883f3a4f471e4fc9 100644 (file)
@@ -32,11 +32,11 @@ production:
   secret_token: 69f1fd650250e925cb1d9428094add92
 
   # You probably also want to point to your API server.
   secret_token: 69f1fd650250e925cb1d9428094add92
 
   # You probably also want to point to your API server.
-  arvados_login_base: https://8.8.8.8:444/login
-  arvados_v1_base: https://8.8.8.8:444/arvados/v1
+  arvados_login_base: https://{{ .Values.externalIP }}:444/login
+  arvados_v1_base: https://{{ .Values.externalIP }}:444/arvados/v1
   arvados_insecure_https: true # TODO: Change this to false.
 
   # You need to configure at least one of these:
   arvados_insecure_https: true # TODO: Change this to false.
 
   # You need to configure at least one of these:
-  keep_web_url: https://8.8.8.8:9002/c=%{uuid_or_pdh}
-  keep_web_download_url: https://8.8.8.8:9002/c=%{uuid_or_pdh}
+  keep_web_url: https://{{ .Values.externalIP }}:9002/c=%{uuid_or_pdh}
+  keep_web_download_url: https://{{ .Values.externalIP }}:9002/c=%{uuid_or_pdh}
   trust_all_content: true # TODO: remove this.
   trust_all_content: true # TODO: remove this.
index d1f3818a788a65cd8e2edcbbcf76a45c5db682b4..3465e1828de75c67349c60ed03fff9463019e36d 100644 (file)
@@ -12,4 +12,4 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
-{{ (.Files.Glob "config/api-server/*").AsConfig | indent 2 }}
+{{ (tpl (.Files.Glob "config/api-server/*").AsConfig . ) | indent 2 }}
index 95027ceb145e78022d2f37ac303bc5692989fd56..94c3a1f1c2b3d52cd4c3481c6e96abc341a21e72 100644 (file)
@@ -30,7 +30,7 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            - "install /init-scripts/*.sh /etc/my_init.d && /usr/local/bin/bootstrap.sh arvados-api-server=1.1.3.20180405021932* && cd /var/www/arvados-api/current && exec /sbin/my_init"
+            - "install /init-scripts/*.sh /etc/my_init.d && /usr/local/bin/bootstrap.sh arvados-api-server={{ .Values.arvados.versions.distribution.arvadosApiServer }} && cd /var/www/arvados-api/current && exec /sbin/my_init"
           env:
             - name: RAILS_ENV
               value: "production"
           env:
             - name: RAILS_ENV
               value: "production"
index bbb003f9334cc51c22b1165f0acb66a0917925f9..0582af2e4f34c36d1fd00be22bb86175bb0efa76 100644 (file)
@@ -13,7 +13,7 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
-  loadBalancerIP: "8.8.8.8"
+  loadBalancerIP: {{ required "A valid externalIP is required!" .Values.externalIP }}
   ports:
   - name: http
     port: 444
   ports:
   - name: http
     port: 444
index dad4fac70666892eecf6f9aa0adf26574dc46107..4d2b3b9fb26b80ca113c236873c223931e5a50db 100644 (file)
@@ -31,11 +31,10 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            # TODO: the apt-get update should be run in the Dockerfile
-            - "apt-get update && /usr/local/bin/bootstrap.sh keepproxy=1.1.3.20180404192345* && keepproxy"
+            - "/usr/local/bin/bootstrap.sh keepproxy={{ .Values.arvados.versions.distribution.keepProxy }} && keepproxy"
           env:
             - name : ARVADOS_API_HOST
           env:
             - name : ARVADOS_API_HOST
-              value: "8.8.8.8:444"
+              value: "{{ .Values.externalIP }}:444"
             - name : ARVADOS_API_HOST_INSECURE
               value: "true"
             - name : ARVADOS_API_TOKEN
             - name : ARVADOS_API_HOST_INSECURE
               value: "true"
             - name : ARVADOS_API_TOKEN
index 2a90519e9ea5c8cb1d97098b5ba511f82aa16add..9c6b1af55d1060faefb2c2af476c10765a81eda8 100644 (file)
@@ -99,7 +99,7 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
-  loadBalancerIP: "8.8.8.8"
+  loadBalancerIP: {{ required "A valid externalIP is required!" .Values.externalIP }}
   ports:
   - name: https
     port: 25107
   ports:
   - name: https
     port: 25107
index 92a80e3eb8f5aec63f59ceff4e696cc450dbba1d..c1224e4bfd2b5f564eef687c37ede85a688be9ca 100644 (file)
@@ -31,8 +31,7 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            # TODO: the apt-get update should be run in the Dockerfile
-            - "apt-get update && mkdir /keepdata && /usr/local/bin/bootstrap.sh keepstore=1.1.3.20180404192345* && GOGC=10 keepstore -enforce-permissions=true -blob-signing-key-file=/etc/keepstore/blob-signing.key -max-buffers=100 -serialize=true -never-delete=false -volume=/keepdata"
+            - "mkdir /keepdata && /usr/local/bin/bootstrap.sh keepstore={{ .Values.arvados.versions.distribution.keepStore }} && GOGC=10 keepstore -enforce-permissions=true -blob-signing-key-file=/etc/keepstore/blob-signing.key -max-buffers=100 -serialize=true -never-delete=false -volume=/keepdata"
           volumeMounts:
             - name: keep-store-configmap
               mountPath: /etc/keepstore/blob-signing.key
           volumeMounts:
             - name: keep-store-configmap
               mountPath: /etc/keepstore/blob-signing.key
index 6758cae47d54dacba733b119c956f877f9e6b96b..999edaabcde9ea5240f4a40af7a2982597f560c7 100644 (file)
@@ -31,11 +31,10 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            # TODO: the apt-get update should be run in the Dockerfile
-            - "apt-get update && /usr/local/bin/bootstrap.sh keep-web=1.1.3.20180404192345* && keep-web -listen=:9002 -trust-all-content"
+            - "/usr/local/bin/bootstrap.sh keep-web={{ .Values.arvados.versions.distribution.keepWeb }} && keep-web -listen=:9002 -trust-all-content"
           env:
             - name : ARVADOS_API_HOST
           env:
             - name : ARVADOS_API_HOST
-              value: "8.8.8.8:444"
+              value: "{{ .Values.externalIP }}:444"
             - name : ARVADOS_API_HOST_INSECURE
               value: "true"
             - name : ARVADOS_API_TOKEN
             - name : ARVADOS_API_HOST_INSECURE
               value: "true"
             - name : ARVADOS_API_TOKEN
index 1fa54e23904ba55c5d05c3ae01babb35aeda0a6e..e132b5ddd281493e7ad51654a33fc3706c807717 100644 (file)
@@ -99,7 +99,7 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
-  loadBalancerIP: "8.8.8.8"
+  loadBalancerIP: {{ required "A valid externalIP is required!" .Values.externalIP }}
   ports:
   - name: https
     port: 9002
   ports:
   - name: https
     port: 9002
index b5ac2f058291a0b5ed57d55974c4c7994f9e49e3..6c7649f68656ddc24f7a64ac4f562c6f5c650d3e 100644 (file)
@@ -12,4 +12,4 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
-{{ (.Files.Glob "config/shell-server/*").AsConfig | indent 2 }}
+{{ (tpl (.Files.Glob "config/shell-server/*").AsConfig . ) | indent 2 }}
index b4df56d5f68ab1e16e2467bc9a13f02b1643e981..455d2ffd1c421347610a4685e390913b769d07b5 100644 (file)
@@ -30,13 +30,12 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            # TODO: the apt-get update should be run in the Dockerfile
-            - "apt-get update && /usr/local/bin/bootstrap.sh python-arvados-python-client=1.1.3.20180404223512* gem:arvados-cli=1.1.4.20180412190507 gem:arvados-login-sync=1.1.4.20180412190507 crunchrunner=1.1.3.20180403215323* python-arvados-fuse=1.1.3.20180404223512* && install /init-scripts-staging/* /etc/my_init.d && /sbin/my_init"
+            - "/usr/local/bin/bootstrap.sh python-arvados-python-client={{ .Values.arvados.versions.distribution.pythonArvadosPythonClient }} gem:arvados-cli={{ .Values.arvados.versions.gem.arvadosCLI }} gem:arvados-login-sync={{ .Values.arvados.versions.gem.arvadosLoginSync }} crunchrunner={{ .Values.arvados.versions.distribution.crunchRunner }} python-arvados-fuse={{ .Values.arvados.versions.distribution.pythonArvadosFuse }} && install /init-scripts-staging/* /etc/my_init.d && /sbin/my_init"
           env:
             - name: RAILS_ENV
               value: "production"
             - name: ARVADOS_API_HOST
           env:
             - name: RAILS_ENV
               value: "production"
             - name: ARVADOS_API_HOST
-              value: "8.8.8.8:444"
+              value: "{{ .Values.externalIP }}:444"
             - name : ARVADOS_API_HOST_INSECURE
               value: "true"
             - name : ARVADOS_API_TOKEN
             - name : ARVADOS_API_HOST_INSECURE
               value: "true"
             - name : ARVADOS_API_TOKEN
index d407b832078beb4979d313938a1c792a71c5fcda..507c4822656453dc06ee64ec2aafe73c16e71d2f 100644 (file)
@@ -30,7 +30,7 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            - "install /init-scripts/*.sh /etc/my_init.d && /usr/local/bin/bootstrap.sh arvados-sso-server=0.1.20171122141118.ba584a7* && cd /var/www/arvados-sso/current && exec /sbin/my_init"
+            - "install /init-scripts/*.sh /etc/my_init.d && /usr/local/bin/bootstrap.sh arvados-sso-server={{ .Values.arvados.versions.distribution.arvadosSSOServer }} && cd /var/www/arvados-sso/current && exec /sbin/my_init"
           env:
             - name: RAILS_ENV
               value: "production"
           env:
             - name: RAILS_ENV
               value: "production"
index 43cdc0802037eadb78df75918a8ca179a5b5d8e5..fd9ad1a472ac45df083cbd04404044b3ed3d04bd 100644 (file)
@@ -13,7 +13,7 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
-  loadBalancerIP: "8.8.8.8"
+  loadBalancerIP: {{ required "A valid externalIP is required!" .Values.externalIP }}
   ports:
   - name: http
     port: 3002
   ports:
   - name: http
     port: 3002
index 0929859e8c4363d5200993340c85798ca13b9ac5..09fb669380ad010845529d7557de7318d4a38262 100644 (file)
@@ -12,4 +12,4 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
-{{ (.Files.Glob "config/workbench/*").AsConfig | indent 2 }}
+{{ (tpl (.Files.Glob "config/workbench/*").AsConfig . ) | indent 2 }}
index 1b1e0f8b9bcbefecadeafa8edb9d891b9ca8f09a..6ed3a44a4e2fbd7b7d1910a3af0f57f2d796fe1e 100644 (file)
@@ -30,7 +30,7 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            - "/usr/local/bin/bootstrap.sh arvados-workbench=1.1.3.20180323182125* && exec /sbin/my_init"
+            - "/usr/local/bin/bootstrap.sh arvados-workbench={{ .Values.arvados.versions.distribution.arvadosWorkbench }} && exec /sbin/my_init"
           env:
             - name: RAILS_ENV
               value: "production"
           env:
             - name: RAILS_ENV
               value: "production"
index 05fed6e2a4cd15da92b7d04c737e6f8310751b96..86ee2cb54ac8a8cdb2d4680a1026bd058252e681 100644 (file)
@@ -13,7 +13,7 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
-  loadBalancerIP: "8.8.8.8"
+  loadBalancerIP: {{ required "A valid externalIP is required!" .Values.externalIP }}
   ports:
   - name: http
     port: 443
   ports:
   - name: http
     port: 443
index dd918b2309ef25b0a1487f5c4ee1e192dbc27b0b..ad8087409f9dafe44c0754bd61e46df029a431f2 100644 (file)
@@ -30,7 +30,7 @@ spec:
           command:
             - "sh"
             - "-c"
           command:
             - "sh"
             - "-c"
-            - "/usr/local/bin/bootstrap.sh arvados-ws=1.1.3.20180403215323* && arvados-ws"
+            - "/usr/local/bin/bootstrap.sh arvados-ws={{ .Values.arvados.versions.distribution.arvadosWs }} && arvados-ws"
           volumeMounts:
             - name: ws-configmap
               mountPath: /etc/arvados/ws/ws.yml
           volumeMounts:
             - name: ws-configmap
               mountPath: /etc/arvados/ws/ws.yml
index 41215dbdea1c0ec92cb7fd27ef2259ae825a7d4e..8824e41980bb8c26c3cf0f387f48e59e43bcc614 100644 (file)
@@ -99,7 +99,7 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
     heritage: {{ .Release.Service }}
 spec:
   type: LoadBalancer
-  loadBalancerIP: "8.8.8.8"
+  loadBalancerIP: {{ required "A valid externalIP is required!" .Values.externalIP }}
   ports:
   - name: https
     port: 9003
   ports:
   - name: https
     port: 9003
index b7fc0f2a3ce19ff9a2ade5ddd56333fb8840d7e7..55e276e808927f831052ec44e20b86a6a709c2bb 100644 (file)
@@ -47,3 +47,35 @@ nodeSelector: {}
 tolerations: []
 
 affinity: {}
 tolerations: []
 
 affinity: {}
+
+# The external IP address for this Arvados cluster.
+# Must be set to a valid IP address, e.g. by using --set when invoking helm
+externalIP: ~
+
+# The package versions for this Arvados cluster. Also see
+#
+#   curl http://versions.arvados.org/v1/commit/ | jq .
+#
+arvados:
+  versions:
+    distribution:
+      arvadosApiServer: 1.1.4.20180521175419*
+      arvadosGitHttpd: 1.1.4.20180516205929*
+      arvadosHealth: 1.1.4.20180516205929*
+      arvadosWorkbench: 1.1.4.20180521175419*
+      arvadosWs: 1.1.4.20180516205929*
+      arvadosSSOServer: 0.1.20171122141118.ba584a7*
+      crunchDispatchSlurm: 1.1.4.20180516205929*
+      crunchRun: 1.1.4.20180516205929*
+      crunchRunner: 1.1.4.20180516205929*
+      keepBalance: 1.1.4.20180516205929*
+      keepStore: 1.1.4.20180516205929*
+      keepWeb: 1.1.4.20180516205929*
+      keepProxy: 1.1.4.20180516205929*
+      libPamArvados: 1.1.4.20180404223512*
+      pythonArvadosFuse: 1.1.4.20180507184611*
+      pythonArvadosPythonClient: 1.1.4.20180510153813*
+    gem:
+      arvados: 1.1.4.20180412190507
+      arvadosCLI: 1.1.4.20180412190507
+      arvadosLoginSync: 1.1.4.20180424214444