We recommend committing .env to your repo with good defaults. .env.development, .env.production etc can be used for local overrides and should not be in the repo. See Handling Secrets with SOPS for how to manage secrets.
-
Install Docker.app
-
Install stack car
gem install stack_car
-
# with dory
dory up
-
Start the server
sc up
-
Load and seed the database
sc be rake db:migrate sc be rake ams:reset_data sc be rake db:seed
-
The app should be visible at in the browser at
hyku.test
- Run rspec
bundle exec rspec
- Access the rails console
bundle exec rails c
SOPS is used to handle this project's secrets.
The secrets in this repository include:
.env*
files*-values.yaml
files
Scripts (bin/decrypt-secrets
and bin/encrypt-secrets
) are included in this project to help with managing secrets.
To decrypt secrets:
You will need to do this if you are new to the project or there have been changes to any secrets files that are required for development.
In terminal:
bin/decrypt-secrets
This will find and decrypt files with the .enc
extension.
To encrypt secrets:
You will need to do this when you have edited secrets and are ready to commit them.
In terminal:
bin/encrypt-secrets
This will find and output an encrypted version of secret files with an .enc
extension.
Release and Deployment are handled by the gitlab ci by default. See ops/deploy-app to deploy from locally, but note all Rancher install pull the currently tagged registry image
Staging builds and deploys to Notch8 infrastructure are handled by Gitlab CI.
Setup your gitlab
git remote
You'll only need to do this once. You need to set this remote to push, build and deploy your work.
- Run
git remote add gitlab git@gitlab.com:notch8/GBH.git
- Run
git remote
. You've successfully added the gitlab remote if your output lists it. It will look like:
> git remote # Run git remote
gitlab # New gitlab remote
origin
Archival Management System to support the American Archive of Public Broadcasting
The Archival Managment System is an application using the Hyrax gem to provide a repository for PBCore data about externally hosted AV content. It includes models, controllers, actors, and presenters for PBCore-based worktypes of Assets, Contributions, Physical Instantiations, Digital Instantiations, and Essence Tracks.
AMS also adds the ability to export records in several user-friendly CSV reports and PBCore XML files, as well as using hyrax-batch_ingest gem to implement batch ingest of PBCore XML and spreadsheets, and batch metadata updates via spreadsheets.
- Add SETTINGS__BULKRAX__ENABLED=true to .env files
- Add
require bulkrax/application
to app/assets/javascripts/application.js and app/assets/stylesheets/application.css files.
(in a docker-compose exec web bash
if you're doing docker otherwise in your terminal)
bundle exec rails db:migrate
- Fedora Commons Repository is the data repository platform. Fedora provides an HTTP endpoint that the AMS application
- Solr is used for search.
- Redis is used for storing information about background jobs.
- Sidekiq is used for scheduling and processing background jobs.
- Ruby on Rails is the web framework used for building the application.
- Hyrax is the Ruby on Rails plugin that provides many repository features for AMS.
- MySQL is the relational database used used by both the web application and by Fedora.