Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,581 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Finding Aid Discovery

Overview

This repository contains the infrastructure and application code for the PACSCL/Penn Libraries Finding Aids discovery site.

Development is done in a Docker-based environment managed by Taskfile. This README covers setup and deployment details for development, staging, and production.

For Rails app-specific documentation, see rails_app/README.md.

Development

The development environment uses Taskfile and Docker. Running task up creates a Docker container that executes Ansible provisioning tasks.

Requirements

  1. Install Task (go-task):

  2. Install Docker:

Starting the environment

  1. Change to the .dev directory:

    cd .dev
  2. Start the environment:

    task up

    On first run, Task will fetch remote taskfiles and prompt for confirmation (Y).

    During startup, you may be prompted for:

    • your local machine password (to update /etc/hosts)
    • your LDAP credentials (to retrieve secrets from HashiCorp Vault)
  3. After provisioning finishes, verify the app is running at:
    https://findingaids-dev.library.upenn.edu/

Docker context

When the environment is running, switch Docker context to the app environment:

task docker:context:use:app

After switching, local Docker commands (for example, docker ps) operate against the development environment.

When finished, switch back to your default context:

task docker:context:use:default

Accessing the app container

Once your environment is set up:

  1. Switch Docker context (see Docker context):

    task docker:context:use:app
  2. Open a shell in the app container:

    docker exec -it fad_finding_aid_discovery.1.{container-id} sh

Rails application

For Rails application details (tests, harvesting tasks, style guide, and general app development), see rails_app/README.md.

Solr Admin

Solr runs in SolrCloud mode, using Apache ZooKeeper for centralized cluster management.

ZooNavigator is used to manage ZooKeeper in deployed environments.

Access Solr Admin at:
http://findingaids-dev.library.upenn.int/solr/#/

Deployment

GitLab deploys to staging and production under specific conditions.

Staging

Production

Production deployments are triggered by creating a Git tag that matches Semantic Versioning (for example, v1.0.0).

Create production tags by creating a new GitLab Release:

  1. Go to Create Release
  2. Create the next semantic version tag in sequence.
  3. Associate a milestone (if applicable).
  4. Set the release title to match the tag.
  5. Click Create Release.

Production URL: https://findingaids.library.upenn.edu/

Harvesting

Harvesting jobs are scheduled with sidekiq-cron:

  • Production: Monday, Wednesday, Friday at 5:00 AM
  • Staging: Monday, Wednesday, Friday at 1:00 AM

Schedule configuration lives in rails_app/config/schedule.yml.

About

Application powering the aggregation of EAD Finding Aids for the University of Pennsylvania and PACSCL partner organizations.

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages