Merge branch '14885-ciso-and-conda-packaging-pr'
[arvados.git] / doc / install / install-api-server.html.textile.liquid
index 1e762706f6b4833a153560561c11c99d7e772a82..a6b843b160ba39161850005b0de858daab867ac4 100644 (file)
@@ -158,13 +158,18 @@ Example @application.yml@:
 </code></pre>
 </notextile>
 
-h3(#disable_api_methods). disable_api_methods
+h3(#enable_legacy_jobs_api). enable_legacy_jobs_api
 
-Set the @disable_api_methods@ configuration option to disable the deprecated @jobs@ API.  This will prevent users from accidentally submitting jobs that won't run.  "All new installations should use the containers API.":crunch2-slurm/install-prerequisites.html
+Enable the legacy "Jobs API":install-crunch-dispatch.html .  Note: new installations should use the "Containers API":crunch2-slurm/install-prerequisites.html
+
+Disabling the jobs API means methods involving @jobs@, @job_tasks@, @pipeline_templates@ and @pipeline_instances@ are disabled.  This functionality is superceded by the containers API which consists of @container_requests@, @containers@ and @workflows@.  Arvados clients (such as @arvados-cwl-runner@) detect which APIs are available and adjust behavior accordingly.
+
+* auto -- (default) enable the Jobs API only if it has been used before (i.e., there are job records in the database), otherwise disable jobs API .
+* true -- enable the Jobs API even if there are no existing job records.
+* false -- disable the Jobs API even in the presence of existing job records.
 
 <notextile>
-<pre><code>
-  disable_api_methods: ["jobs.create", "pipeline_instances.create"]
+<pre><code>  enable_legacy_jobs_api: <span class="userinput">auto</span>
 </code></pre>
 </notextile>
 
@@ -174,10 +179,11 @@ The Nginx server will serve API requests using Passenger. It will also be used t
 
 First, "Install Nginx and Phusion Passenger":https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/nginx/oss/install_passenger_main.html.
 
-Edit the http section of your Nginx configuration to run the Passenger server, and serve SSL requests. Add a block like the following, adding SSL and logging parameters to taste:
+Edit the http section of your Nginx configuration to run the Passenger server. Add a block like the following, adding SSL and logging parameters to taste:
 
 <notextile>
-<pre><code>server {
+<pre><code>
+server {
   listen 127.0.0.1:8000;
   server_name localhost-api;
 
@@ -212,33 +218,6 @@ geo $external_client {
   default        1;
   <span class="userinput">10.20.30.0/24</span>  0;
 }
-
-server {
-  listen       <span class="userinput">[your public IP address]</span>:443 ssl;
-  server_name  <span class="userinput">uuid_prefix.your.domain</span>;
-
-  ssl on;
-  ssl_certificate     <span class="userinput">/YOUR/PATH/TO/cert.pem</span>;
-  ssl_certificate_key <span class="userinput">/YOUR/PATH/TO/cert.key</span>;
-
-  index  index.html index.htm index.php;
-
-  # Refer to the comment about this setting in the server section above.
-  client_max_body_size 128m;
-
-  location / {
-    proxy_pass            http://api;
-    proxy_redirect        off;
-    proxy_connect_timeout 90s;
-    proxy_read_timeout    300s;
-
-    proxy_set_header      X-Forwarded-Proto https;
-    proxy_set_header      Host $http_host;
-    proxy_set_header      X-External-Client $external_client;
-    proxy_set_header      X-Real-IP $remote_addr;
-    proxy_set_header      X-Forwarded-For $proxy_add_x_forwarded_for;
-  }
-}
 </code></pre>
 </notextile>