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>
if [[ -z $1 ]] ; then
echo "ERROR: A floating IP must be supplied."
- echo "Usage: $0 <floatingIP>"
+ echo "Usage: $0 <externalIP>"
exit 1
fi
# 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
#
# 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
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
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"
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:
- 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.
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
-{{ (.Files.Glob "config/api-server/*").AsConfig | indent 2 }}
+{{ (tpl (.Files.Glob "config/api-server/*").AsConfig . ) | indent 2 }}
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"
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
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
- value: "8.8.8.8:444"
+ value: "{{ .Values.externalIP }}:444"
- name : ARVADOS_API_HOST_INSECURE
value: "true"
- name : ARVADOS_API_TOKEN
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
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
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
- value: "8.8.8.8:444"
+ value: "{{ .Values.externalIP }}:444"
- name : ARVADOS_API_HOST_INSECURE
value: "true"
- name : ARVADOS_API_TOKEN
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
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
-{{ (.Files.Glob "config/shell-server/*").AsConfig | indent 2 }}
+{{ (tpl (.Files.Glob "config/shell-server/*").AsConfig . ) | indent 2 }}
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
- value: "8.8.8.8:444"
+ value: "{{ .Values.externalIP }}:444"
- name : ARVADOS_API_HOST_INSECURE
value: "true"
- name : ARVADOS_API_TOKEN
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"
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
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
-{{ (.Files.Glob "config/workbench/*").AsConfig | indent 2 }}
+{{ (tpl (.Files.Glob "config/workbench/*").AsConfig . ) | indent 2 }}
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"
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
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
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
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