Commit aa428b11d99295b6dbfd0ac60b03ad6b6813a76a
Exists in
master
and in
9 other branches
Merge branch 'aws_fog' into 'master'
Support AWS S3 attachment storage
Showing
6 changed files
with
58 additions
and
1 deletions
Show diff stats
CHANGELOG
README.md
@@ -426,6 +426,20 @@ redis['uid'] = 1236 | @@ -426,6 +426,20 @@ redis['uid'] = 1236 | ||
426 | redis['gid'] = 1236 | 426 | redis['gid'] = 1236 |
427 | ``` | 427 | ``` |
428 | 428 | ||
429 | +## Storing user attachments on Amazon S3 | ||
430 | + | ||
431 | +Instead of using local storage you can also store the user attachments for your | ||
432 | +GitLab instance on Amazon S3. | ||
433 | + | ||
434 | +``` | ||
435 | +# /etc/gitlab/gitlab.rb | ||
436 | +gitlab_rails['aws_enable'] = true | ||
437 | +gitlab_rails['aws_access_key_id'] = 'AKIA1111111111111UA' | ||
438 | +gitlab_rails['aws_secret_access_key'] = 'secret' | ||
439 | +gitlab_rails['aws_bucket'] = 'my_gitlab_bucket' | ||
440 | +gitlab_rails['aws_region'] = 'us-east-1' | ||
441 | +``` | ||
442 | + | ||
429 | ## Building your own package | 443 | ## Building your own package |
430 | 444 | ||
431 | See [the separate build documentation](doc/build.md). | 445 | See [the separate build documentation](doc/build.md). |
files/gitlab-cookbooks/gitlab/attributes/default.rb
@@ -103,6 +103,12 @@ default['gitlab']['gitlab-rails']['git_bin_path'] = "/opt/gitlab/embedded/bin/gi | @@ -103,6 +103,12 @@ default['gitlab']['gitlab-rails']['git_bin_path'] = "/opt/gitlab/embedded/bin/gi | ||
103 | default['gitlab']['gitlab-rails']['git_max_size'] = 5242880 | 103 | default['gitlab']['gitlab-rails']['git_max_size'] = 5242880 |
104 | default['gitlab']['gitlab-rails']['git_timeout'] = 10 | 104 | default['gitlab']['gitlab-rails']['git_timeout'] = 10 |
105 | 105 | ||
106 | +default['gitlab']['gitlab-rails']['aws_enable'] = false | ||
107 | +default['gitlab']['gitlab-rails']['aws_access_key_id'] = nil | ||
108 | +default['gitlab']['gitlab-rails']['aws_secret_access_key'] = nil | ||
109 | +default['gitlab']['gitlab-rails']['aws_bucket'] = nil | ||
110 | +default['gitlab']['gitlab-rails']['aws_region'] = nil | ||
111 | + | ||
106 | default['gitlab']['gitlab-rails']['db_adapter'] = "postgresql" | 112 | default['gitlab']['gitlab-rails']['db_adapter'] = "postgresql" |
107 | default['gitlab']['gitlab-rails']['db_encoding'] = "unicode" | 113 | default['gitlab']['gitlab-rails']['db_encoding'] = "unicode" |
108 | default['gitlab']['gitlab-rails']['db_database'] = "gitlabhq_production" | 114 | default['gitlab']['gitlab-rails']['db_database'] = "gitlabhq_production" |
files/gitlab-cookbooks/gitlab/definitions/template_symlink.rb
@@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
15 | # limitations under the License. | 15 | # limitations under the License. |
16 | # | 16 | # |
17 | 17 | ||
18 | -define :template_symlink, :link_from => nil, :source => nil, :owner => nil, :group => nil, :mode => nil, :variables => nil, :helpers => nil, :notifies => nil, :restarts => [] do | 18 | +define :template_symlink, :link_from => nil, :source => nil, :owner => nil, :group => nil, :mode => nil, :variables => nil, :helpers => nil, :notifies => nil, :restarts => [], :action => :create do |
19 | template params[:name] do | 19 | template params[:name] do |
20 | source params[:source] | 20 | source params[:source] |
21 | owner params[:owner] | 21 | owner params[:owner] |
@@ -27,9 +27,11 @@ define :template_symlink, :link_from => nil, :source => nil, :owner => nil, :gro | @@ -27,9 +27,11 @@ define :template_symlink, :link_from => nil, :source => nil, :owner => nil, :gro | ||
27 | params[:restarts].each do |resource| | 27 | params[:restarts].each do |resource| |
28 | notifies :restart, resource | 28 | notifies :restart, resource |
29 | end | 29 | end |
30 | + action params[:action] | ||
30 | end | 31 | end |
31 | 32 | ||
32 | link params[:link_from] do | 33 | link params[:link_from] do |
33 | to params[:name] | 34 | to params[:name] |
35 | + action params[:action] | ||
34 | end | 36 | end |
35 | end | 37 | end |
files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb
@@ -86,6 +86,19 @@ template_symlink File.join(gitlab_rails_etc_dir, "resque.yml") do | @@ -86,6 +86,19 @@ template_symlink File.join(gitlab_rails_etc_dir, "resque.yml") do | ||
86 | restarts dependent_services | 86 | restarts dependent_services |
87 | end | 87 | end |
88 | 88 | ||
89 | +template_symlink File.join(gitlab_rails_etc_dir, "aws.yml") do | ||
90 | + link_from File.join(gitlab_rails_source_dir, "config/aws.yml") | ||
91 | + owner "root" | ||
92 | + group "root" | ||
93 | + mode "0644" | ||
94 | + variables(node['gitlab']['gitlab-rails'].to_hash) | ||
95 | + restarts dependent_services | ||
96 | + | ||
97 | + unless node['gitlab']['gitlab-rails']['aws_enable'] | ||
98 | + action :delete | ||
99 | + end | ||
100 | +end | ||
101 | + | ||
89 | template_symlink File.join(gitlab_rails_etc_dir, "gitlab.yml") do | 102 | template_symlink File.join(gitlab_rails_etc_dir, "gitlab.yml") do |
90 | link_from File.join(gitlab_rails_source_dir, "config/gitlab.yml") | 103 | link_from File.join(gitlab_rails_source_dir, "config/gitlab.yml") |
91 | source "gitlab.yml.erb" | 104 | source "gitlab.yml.erb" |
files/gitlab-cookbooks/gitlab/templates/default/aws.yml.erb
0 → 100644
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +# This file is managed by gitlab-ctl. Manual changes will be | ||
2 | +# erased! To change the contents below, edit /etc/gitlab/gitlab.rb | ||
3 | +# and run `sudo gitlab-ctl reconfigure`. | ||
4 | + | ||
5 | +production: | ||
6 | + access_key_id: <%= @aws_access_key_id %> | ||
7 | + secret_access_key: <%= @aws_secret_access_key %> | ||
8 | + bucket: <%= @aws_bucket %> | ||
9 | + region: <%= @aws_region %> | ||
10 | + | ||
11 | +development: | ||
12 | + access_key_id: AKIA1111111111111UA | ||
13 | + secret_access_key: secret | ||
14 | + bucket: mygitlab.development.us | ||
15 | + region: us-east-1 | ||
16 | + | ||
17 | +test: | ||
18 | + access_key_id: AKIA1111111111111UA | ||
19 | + secret_access_key: secret | ||
20 | + bucket: mygitlab.test.us | ||
21 | + region: us-east-1 |