Omaship

Engine Reference

Technical documentation for each Omaship engine.

omaship_base

Core infrastructure engine. Provides CI/CD workflows, Kamal deployment configuration, and infrastructure-as-code.

What It Provides

  • GitHub Actions workflows for CI and deployment
  • Kamal configuration for containerized deployment
  • Security scanning (Brakeman, bundler-audit)
  • Automated infrastructure updates

Managed Files

.github/workflows/_omaship-ci.yml      # CI workflow
.github/workflows/_omaship-deploy.yml   # Deploy workflow
.github/workflows/_omaship-update.yml   # Update workflow

User Files (customize these)

.github/workflows/ci.yml               # Your CI triggers
.github/workflows/deploy-production.yml # Your deploy triggers
config/deploy.yml                       # Kamal configuration
.kamal/secrets                          # Deployment secrets

omaship_preview

PR preview deployments. Every pull request can get its own preview URL.

What It Provides

  • Per-PR preview environments at pr-N.preview.yourdomain.com
  • /deploy comment command to trigger deployments
  • Automatic cleanup when PR is closed
  • Status updates via GitHub reactions

Configuration

# config/deploy.preview.yml
service: your-app-preview
image: ghcr.io/your-org/your-app
servers:
  web:
    hosts:
      - your.server.ip

DNS Requirement

CNAME *.preview → yourdomain.com

omaship_backup

Automated SQLite database backups with local and cloud storage.

What It Provides

  • Daily automated backups via Solid Queue
  • Local storage with 7-day retention
  • Optional S3-compatible cloud storage with 30-day retention
  • Backup of all databases (primary, queue, cache, cable)

Configuration

Local backups work out of the box. For cloud backups, add to credentials:

# rails credentials:edit --environment=production
s3_backup:
  access_key_id: YOUR_KEY
  secret_access_key: YOUR_SECRET
  endpoint: https://fsn1.your-objectstorage.com
  region: fsn1
  bucket: your-backup-bucket

Customizing Retention

# config/application.rb
config.omaship_backup.local_retention_days = 14
config.omaship_backup.s3_retention_days = 60

omaship_payments

Stripe integration for payments and subscriptions.

What It Provides

  • Stripe Connect integration
  • Subscription management
  • Customer billing portal
  • Webhook handling
  • Invoice history

omaship_admin

Admin dashboard for managing users, content, and settings.

What It Provides

  • User management (list, search, promote, delete)
  • Content management (landing page, blog, pages)
  • Settings panel
  • Analytics overview

omaship_landing

Editable landing page components.

What It Provides

  • Hero section with CTA
  • Feature cards
  • Testimonials
  • Pricing tables
  • FAQ section
  • Admin UI for editing

omaship_newsletter

Email newsletter and campaign management.

What It Provides

  • Subscriber management
  • Campaign creation and scheduling
  • Email templates
  • Open/click tracking
  • Unsubscribe handling

omaship_import

Coming soon

Import content from other platforms like WordPress.

Planned Features

  • WordPress XML export import
  • Post and page migration
  • Media import
  • URL redirect generation