Class: RubyYacht::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_yacht/dsl/project.rb

Overview

This class provides a configuration for a project in our system.

A project is a family of apps that communicate with each other and share a database.

You can configure this with RubyYacht::Project::DSL

Defined Under Namespace

Classes: DSL

Instance Attribute Summary collapse

Instance Attribute Details

#appsObject

The configuration for the apps. Each entry is a RubyYacht::App.



32
33
34
# File 'lib/ruby_yacht/dsl/project.rb', line 32

def apps
  @apps
end

#check_out_locallyObject

Whether we should check out the code on the host machine, rather than keeping it entirely inside the container.



26
27
28
# File 'lib/ruby_yacht/dsl/project.rb', line 26

def check_out_locally
  @check_out_locally
end

#databasesObject

The configuration for the databases. Each entry is a RubyYacht::Database.



29
30
31
# File 'lib/ruby_yacht/dsl/project.rb', line 29

def databases
  @databases
end

#dns_serverObject

The configuration for the DNS for the apps. This is a RubyYacht::DnsServer.



40
41
42
# File 'lib/ruby_yacht/dsl/project.rb', line 40

def dns_server
  @dns_server
end

#nameObject

The name of the project.



15
16
17
# File 'lib/ruby_yacht/dsl/project.rb', line 15

def name
  @name
end

#primary_appObject

The name of the primary app for the project.

This app will respond to requests to the bare domain with no app subdomain. It will also respond under its normal subdomain.

If this is not provided, this will create a special index page for the bare domain, with links to each app.



49
50
51
# File 'lib/ruby_yacht/dsl/project.rb', line 49

def primary_app
  @primary_app
end

#repositoryObject

The hostname for the repository that contains the code for the apps.



22
23
24
# File 'lib/ruby_yacht/dsl/project.rb', line 22

def repository
  @repository
end

#system_prefixObject

The prefix that we use before all of the images and containers for the project.



19
20
21
# File 'lib/ruby_yacht/dsl/project.rb', line 19

def system_prefix
  @system_prefix
end

#web_serversObject

The configuration for the web servers. Each entry is a RubyYacht::WebServer.



36
37
38
# File 'lib/ruby_yacht/dsl/project.rb', line 36

def web_servers
  @web_servers
end