Skip to content

Commit

Permalink
commiting to main
Browse files Browse the repository at this point in the history
  • Loading branch information
R. S. Doiel committed Oct 9, 2024
1 parent 0722fd1 commit 472d71f
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 78 deletions.
69 changes: 23 additions & 46 deletions INSTALL.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,22 @@
<section>
<h1 id="installation-for-development-of-cold">Installation for
development of <strong>cold</strong></h1>
<p><strong>cold</strong> is experimental software providing a read only
view of managed controlled object lists and datum (e.g. controlled
<p><strong>cold</strong> is experimental software providing a curation
of managed controlled object lists and datum (e.g. controlled
vocabularies). The <strong>cold</strong> repository provides the public
facing JSON API for integration with other services.</p>
<p>The management interface is found in the <strong>admin</strong>
directory. It contains the source to compile the curatorial services for
cold.</p>
<p><strong>cold</strong> public and admin services are intended to run
behind a front facing web server (e.g. Apache 2) providing access
control and authentication. In a development setting this can be as
simple as configuring BasicAuth. In a production setting you need
something robust like Shibboleth. An example apache2 configuration is
included in the source repository for <strong>cold</strong>. It will
require adaptation to your specific web server configuration.</p>
<p><strong>cold</strong> web services are intended to run behind a front
facing web server (e.g. Apache 2) providing access control and
authentication. In a development setting this can be as simple as
configuring BasicAuth. In a production setting you need something robust
like Shibboleth. An example apache2 configuration is included in the
source repository for <strong>cold</strong>. It will require adaptation
to your specific web server configuration.</p>
<p><strong>cold</strong> requires the datasetd web service to provide
access to people.ds and group.ds collections. For <strong>cold</strong>
and <strong>cold_admin</strong> you should configure your collections to
use sql storage, e.g. SQLite3 or PostgreSQL. This can be done form the
cold_admin submodule using a Deno task or via the Makefile (which calls
the deno task).</p>
access to people.ds, group.ds and other collections. For
<strong>cold</strong> your collections to use sql storage, e.g. SQLite3
or PostgreSQL. This can be done using a Deno task or via the Makefile
(which calls the deno task).</p>
<p>If you are setting up to run in production you should compile the
services and install the systemd service scripts so that systemd can
manage the applications.</p>
Expand All @@ -56,8 +52,7 @@ <h2 id="required-software">Required software</h2>
and admin services)</li>
<li>Pandoc &gt; 3.1 (to build or update documation)</li>
</ol>
<h2 id="setting-up-cold-and-cold_admin">Setting up cold and
cold_admin</h2>
<h2 id="setting-up-cold">Setting up cold</h2>
<p>These are setup instructions for testing and development. Step four
changes if you are setting up for production.</p>
<ol type="1">
Expand All @@ -68,55 +63,37 @@ <h2 id="setting-up-cold-and-cold_admin">Setting up cold and
<li><code>cd cold</code></li>
<li><code>git pull origin main</code></li>
</ol></li>
<li>Setup cold public services
<li>Setup cold services
<ol type="a">
<li><code>deno task build</code></li>
</ol></li>
<li>Setup cold admin services
<ol type="a">
<li><code>cd admin</code></li>
<li><code>deno task setup</code></li>
<li>(optional) <code>deno task load_data</code> (initially populate COLD
from CSV files)</li>
</ol></li>
<li>You need to start three web services, I recommend using tmux. You
can then split the window to create each session and still see
everything going on.
<li>You need to start two web services, I recommend using tmux. You can
then split the window to create each session and still see everything
going on.
<ol type="a">
<li>from the cold admin directory start up tmux</li>
<li>start up tmux</li>
<li><code>tmux</code></li>
<li>change to the admin directory, start the JSON API and setup your
dataset collections</li>
<li><code>cd admin</code></li>
<li>start the JSON API and setup your dataset collections</li>
<li><code>deno task setup</code></li>
<li><code>deno task json_api</code></li>
<li>open another tmux window, change to the admin directory, start the
admin web service</li>
<li>split the screen, e.g. <code>Ctl-%</code></li>
<li><code>cd admin</code></li>
<li><code>deno task start</code></li>
<li>open a third tmux window, change to the cold repository location and
start the public web service</li>
<li>split the screen, e.g. <code>Ctl-"</code></li>
<li><code>deno task start</code></li>
</ol></li>
</ol>
<p>You should now have three web services running running on localhost
at ports 8110 (public service), 8111 (admin service), 8112 (JSON
API).</p>
<p>You should now have two web services running on localhost at ports
8111 (admin service), 8112 (JSON API).</p>
<dl>
<dt>Port 8110</dt>
<dd>
This is the public web service
</dd>
<dt>Port 8111</dt>
<dd>
This is the management web service
</dd>
<dt>Port 8112</dt>
<dd>
This is the management JSON API for <code>cold_admin</code> and
<code>cold</code>
This is the management JSON API for <code>cold</code>
</dd>
</dl>
<p>In a remote deployment you’d setup up to run these services using
Expand Down
47 changes: 16 additions & 31 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
Installation for development of **cold**
========================================

**cold** is experimental software providing a read only view of managed controlled object lists and datum (e.g. controlled vocabularies). The **cold** repository provides the public facing JSON API for integration with other services.
**cold** is experimental software providing a curation of managed controlled object lists and datum (e.g. controlled vocabularies). The **cold** repository provides the public facing JSON API for integration with other services.

The management interface is found in the **admin** directory. It contains the source to compile the curatorial services for cold.
**cold** web services are intended to run behind a front facing web server (e.g. Apache 2) providing access control and authentication. In a development setting this can be as simple as configuring BasicAuth. In a production setting you need something robust like Shibboleth. An example apache2 configuration is included in the source repository for **cold**. It will require adaptation to your specific web server configuration.

**cold** public and admin services are intended to run behind a front facing web server (e.g. Apache 2) providing access control and authentication. In a development setting this can be as simple as configuring BasicAuth. In a production setting you need something robust like Shibboleth. An example apache2 configuration is included in the source repository for **cold**. It will require adaptation to your specific web server configuration.
**cold** requires the datasetd web service to provide access to people.ds, group.ds and other collections. For **cold** your collections to use sql storage, e.g. SQLite3 or PostgreSQL. This can be done using a Deno task or via the Makefile (which calls the deno task).

**cold** requires the datasetd web service to provide access to people.ds and group.ds collections. For **cold** and **cold_admin** you should configure your collections to use sql storage, e.g. SQLite3 or PostgreSQL. This can be done form the cold_admin submodule using a Deno task or via the Makefile (which calls the deno task).

If you are setting up to run in production you should compile the services and
install the systemd service scripts so that systemd can manage the applications.
If you are setting up to run in production you should compile the services and install the systemd service scripts so that systemd can manage the applications.

Required software
-----------------
Expand All @@ -20,8 +17,8 @@ Required software
3. Dataset >= 2.1.22 (datasetd provides the JSON API for cold public and admin services)
4. Pandoc > 3.1 (to build or update documation)

Setting up cold and cold_admin
---------------------------
Setting up cold
---------------

These are setup instructions for testing and development. Step four changes
if you are setting up for production.
Expand All @@ -31,37 +28,25 @@ if you are setting up for production.
b. `git clone https://github.com/caltechlibrary/cold`
c. `cd cold`
d. `git pull origin main`
2. Setup cold public services
a. `deno task build`
3. Setup cold admin services
a. `cd admin`
b. `deno task setup`
c. (optional) `deno task load_data` (initially populate COLD from CSV files)
4. You need to start three web services, I recommend using tmux. You can then split the window to create each session and still see everything going on.
a. from the cold admin directory start up tmux
2. Setup cold services
a. `deno task setup`
b. (optional) `deno task load_data` (initially populate COLD from CSV files)
3. You need to start two web services, I recommend using tmux. You can then split the window to create each session and still see everything going on.
a. start up tmux
a. `tmux`
a. change to the admin directory, start the JSON API and setup your dataset collections
a. `cd admin`
b. `deno task setup`
c. `deno task json_api`
a. start the JSON API and setup your dataset collections
a. `deno task setup`
b. `deno task json_api`
b. open another tmux window, change to the admin directory, start the admin web service
a. split the screen, e.g. `Ctl-%`
b. `cd admin`
c. `deno task start`
c. open a third tmux window, change to the cold repository location and start the public web service
a. split the screen, e.g. `Ctl-"`
a. `deno task start`

You should now have three web services running running on localhost at ports 8110 (public service), 8111 (admin service), 8112 (JSON API).

Port 8110
: This is the public web service
You should now have two web services running on localhost at ports 8111 (admin service), 8112 (JSON API).

Port 8111
: This is the management web service

Port 8112
: This is the management JSON API for `cold_admin` and `cold`
: This is the management JSON API for `cold`

In a remote deployment you'd setup up to run these services using systemd service scripts. See [deployments](deployment.md) documentation for details.

Binary file added pagefind/fragment/en-US_6c19d36.pf_fragment
Binary file not shown.
Binary file added pagefind/index/en-US_9c2f547.pf_index
Binary file not shown.
2 changes: 1 addition & 1 deletion pagefind/pagefind-entry.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"version":"1.1.1","languages":{"en-US":{"hash":"en-US_6deb7a744c33d","wasm":"en-US","page_count":11}}}
{"version":"1.1.1","languages":{"en-US":{"hash":"en-US_ffd14d23a92b1","wasm":"en-US","page_count":11}}}
Binary file added pagefind/pagefind.en-US_ffd14d23a92b1.pf_meta
Binary file not shown.

0 comments on commit 472d71f

Please sign in to comment.