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.



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

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.



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

def check_out_locally
  @check_out_locally
end

#databasesObject

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



34
35
36
# File 'lib/ruby_yacht/dsl/project.rb', line 34

def databases
  @databases
end

#dns_serverObject

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



45
46
47
# File 'lib/ruby_yacht/dsl/project.rb', line 45

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.



54
55
56
# File 'lib/ruby_yacht/dsl/project.rb', line 54

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

#repository_protocolObject

The protocol that we use to check out the repository.

This can be ssh, http, or https.



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

def repository_protocol
  @repository_protocol
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.



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

def web_servers
  @web_servers
end