Class: RubyYacht::Project
- Inherits:
-
Object
- Object
- RubyYacht::Project
- 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
-
#apps ⇒ Object
The configuration for the apps.
-
#check_out_locally ⇒ Object
Whether we should check out the code on the host machine, rather than keeping it entirely inside the container.
-
#databases ⇒ Object
The configuration for the databases.
-
#dns_server ⇒ Object
The configuration for the DNS for the apps.
-
#name ⇒ Object
The name of the project.
-
#primary_app ⇒ Object
The name of the primary app for the project.
-
#repository ⇒ Object
The hostname for the repository that contains the code for the apps.
-
#repository_protocol ⇒ Object
The protocol that we use to check out the repository.
-
#system_prefix ⇒ Object
The prefix that we use before all of the images and containers for the project.
-
#web_servers ⇒ Object
The configuration for the web servers.
Instance Attribute Details
#apps ⇒ Object
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_locally ⇒ Object
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 |
#databases ⇒ Object
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_server ⇒ Object
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 |
#name ⇒ Object
The name of the project.
15 16 17 |
# File 'lib/ruby_yacht/dsl/project.rb', line 15 def name @name end |
#primary_app ⇒ Object
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 |
#repository ⇒ Object
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_protocol ⇒ Object
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_prefix ⇒ Object
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_servers ⇒ Object
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 |