Module: Buildizer::Packager::DockerCacheMod

Included in:
Buildizer::Packager
Defined in:
lib/buildizer/packager/docker_cache_mod.rb

Instance Method Summary collapse

Instance Method Details

#docker_cacheObject



4
5
6
7
8
9
10
11
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 4

def docker_cache
  return unless repo = ENV['BUILDIZER_DOCKER_CACHE']
  {user: ENV['BUILDIZER_DOCKER_CACHE_USERNAME'],
   password: ENV['BUILDIZER_DOCKER_CACHE_PASSWORD'],
   email: ENV['BUILDIZER_DOCKER_CACHE_EMAIL'],
   server: ENV['BUILDIZER_DOCKER_CACHE_SERVER'],
   repo: repo}
end

#docker_cache_clear_settings?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 70

def docker_cache_clear_settings?
  cli.options['clear_docker_cache']
end

#docker_cache_setup!Object



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 74

def docker_cache_setup!
  if docker_cache_update_settings?
    raise Error, error: :input_error,
                 message: "docker cache user required" unless setup_docker_cache_user
    raise Error, error: :input_error,
                 message: "bad docker cache user" if setup_docker_cache_user.empty?

    user_list = (setup_docker_cache_org)
    user_list.push(setup_docker_cache_user) unless user_list.include? setup_docker_cache_user

    raise Error, error: :input_error,
                 message: 'docker cache email required' unless setup_docker_cache_email
    raise Error, error: :input_error,
                 message: "bad docker cache email" unless setup_docker_cache_email =~ /.+@.+/

    (setup_docker_cache_user)['email'] = setup_docker_cache_email
    (setup_docker_cache_user)['server'] = setup_docker_cache_server
    (setup_docker_cache_user)['password'] = setup_docker_cache_password

    repo_list = (setup_docker_cache_org)
    repo_list.push(setup_docker_cache_repo) unless repo_list.include? setup_docker_cache_repo

    
  end

  ci.docker_cache_setup!
end

#docker_cache_update_settings?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 66

def docker_cache_update_settings?
  not setup_docker_cache_repo.nil?
end

#setup_docker_cache_emailObject



36
37
38
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 36

def setup_docker_cache_email
  cli.options['docker_cache_email'] || (setup_docker_cache_user)['email']
end

#setup_docker_cache_orgObject



17
18
19
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 17

def setup_docker_cache_org
  setup_docker_cache_repo.split('/').first
end

#setup_docker_cache_passwordObject



25
26
27
28
29
30
31
32
33
34
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 25

def setup_docker_cache_password
  @setup_docker_cache_password ||= begin
    settings_password = (setup_docker_cache_user)['password']
    if cli.options['reset_docker_cache_password'] or settings_password.nil?
      cli.ask("Docker cache user '#{setup_docker_cache_user}' password:", echo: false).tap{puts}
    else
      settings_password
    end
  end
end

#setup_docker_cache_repoObject



13
14
15
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 13

def setup_docker_cache_repo
  cli.options['docker_cache']
end

#setup_docker_cache_serverObject



40
41
42
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 40

def setup_docker_cache_server
  cli.options['docker_cache_server'] || (setup_docker_cache_user)['server']
end

#setup_docker_cache_userObject



21
22
23
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 21

def setup_docker_cache_user
  cli.options['docker_cache_user'] || (setup_docker_cache_org).first
end

#user_settings_docker_cacheObject



44
45
46
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 44

def 
  ['docker_cache'] ||= {}
end

#user_settings_docker_cache_org(org) ⇒ Object



48
49
50
51
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 48

def (org)
  ['org'] ||= {}
  ['org'][org] ||= {}
end

#user_settings_docker_cache_repo_list(org) ⇒ Object



62
63
64
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 62

def (org)
  (org)['repo'] ||= []
end

#user_settings_docker_cache_user(user) ⇒ Object



53
54
55
56
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 53

def (user)
  ['user'] ||= {}
  ['user'][user] ||= {}
end

#user_settings_docker_cache_user_list(org) ⇒ Object



58
59
60
# File 'lib/buildizer/packager/docker_cache_mod.rb', line 58

def (org)
  (org)['user'] ||= []
end