avm-eac_ubuntu_base0 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/avm/eac_ubuntu_base0/apache/resource.rb +59 -0
- data/lib/avm/eac_ubuntu_base0/apache.rb +26 -0
- data/lib/avm/eac_ubuntu_base0/docker_image.rb +15 -0
- data/lib/avm/eac_ubuntu_base0/instances/base.rb +16 -0
- data/lib/avm/eac_ubuntu_base0/instances.rb +11 -0
- data/lib/avm/eac_ubuntu_base0/patches/object/template.rb +7 -0
- data/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +19 -0
- data/lib/avm/eac_ubuntu_base0/runners/base.rb +24 -0
- data/lib/avm/eac_ubuntu_base0/version.rb +7 -0
- data/lib/avm/eac_ubuntu_base0.rb +9 -0
- data/template/avm/eac_ubuntu_base0/docker_image/Dockerfile +11 -0
- metadata +114 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: '0458409a75617694a688f070514704e9bfa76f4455878410c5be04558f98b55e'
|
4
|
+
data.tar.gz: d4f93d4d02fdd2bef2d7b5b4969392ba3b7e0f4c22c9fbf0964abcb9842a6db3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0dd402dd2f54671756ce27651734dcf44ccf3c8dc6740fd7478a0aa298edea6995b0e0168f7baaa5324a72f9a7e91db4746735e8ecba2ba3ea4a2254cc7af12b
|
7
|
+
data.tar.gz: c7c0b33f4bf7dc09bfa27f25b49a31634b715fe7d775d0a1bb34857a2707071052af482fd73acd527a5612dd0dc2d32fa1b16fd7df2bc014427dc6aed78c1043
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacUbuntuBase0
|
7
|
+
class Apache
|
8
|
+
class Resource
|
9
|
+
common_constructor :apache, :type, :directory_prefix, :name
|
10
|
+
|
11
|
+
def available_path
|
12
|
+
::File.join(apache.etc_root, "#{directory_prefix}-available", "#{name}.conf")
|
13
|
+
end
|
14
|
+
|
15
|
+
def available?
|
16
|
+
apache.host_env.file(available_path).exist?
|
17
|
+
end
|
18
|
+
|
19
|
+
def disable
|
20
|
+
apache.host_env.command('sudo', "a2dis#{type}", name).execute!
|
21
|
+
end
|
22
|
+
|
23
|
+
def enable
|
24
|
+
apache.host_env.command('sudo', "a2en#{type}", name).execute!
|
25
|
+
end
|
26
|
+
|
27
|
+
def enabled_path
|
28
|
+
::File.join(apache.etc_root, "#{directory_prefix}-enabled", "#{name}.conf")
|
29
|
+
end
|
30
|
+
|
31
|
+
def enabled?
|
32
|
+
apache.host_env.file(enabled_path).exist?
|
33
|
+
end
|
34
|
+
|
35
|
+
def remove
|
36
|
+
remove_disabled
|
37
|
+
remove_available
|
38
|
+
end
|
39
|
+
|
40
|
+
def remove_available
|
41
|
+
raise 'Remove enabled before' if enabled?
|
42
|
+
|
43
|
+
apache.host_env.command('sudo', 'rm', '-f', available_path).execute! if available?
|
44
|
+
end
|
45
|
+
|
46
|
+
def remove_disabled
|
47
|
+
disable if enabled?
|
48
|
+
apache.host_env.command('sudo', 'rm', '-f', enabled_path).execute! if enabled?
|
49
|
+
end
|
50
|
+
|
51
|
+
def write(content)
|
52
|
+
::EacRubyUtils::Envs.local.command('echo', content).pipe(
|
53
|
+
apache.host_env.command('sudo', 'tee', available_path)
|
54
|
+
).execute!
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacUbuntuBase0
|
7
|
+
class Apache
|
8
|
+
require_sub __FILE__
|
9
|
+
common_constructor :host_env
|
10
|
+
|
11
|
+
def etc_root
|
12
|
+
'/etc/apache2'
|
13
|
+
end
|
14
|
+
|
15
|
+
def service(command)
|
16
|
+
host_env.command('sudo', 'service', 'apache2', command)
|
17
|
+
end
|
18
|
+
|
19
|
+
{ conf: :conf, site: :sites }.each do |type, directory_prefix|
|
20
|
+
define_method type do |name|
|
21
|
+
::Avm::EacUbuntuBase0::Apache::Resource.new(self, type, directory_prefix, name)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/docker/image'
|
4
|
+
require 'avm/eac_ubuntu_base0/patches/object/template'
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacUbuntuBase0
|
9
|
+
class DockerImage < ::Avm::Docker::Image
|
10
|
+
def stereotype_tag
|
11
|
+
'eac_ubuntu_base0'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_ubuntu_base0/docker_image'
|
4
|
+
require 'avm/instances/base'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacUbuntuBase0
|
8
|
+
module Instances
|
9
|
+
class Base < ::Avm::Instances::Base
|
10
|
+
def docker_image_class
|
11
|
+
::Avm::EacUbuntuBase0::DockerImage
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/docker/runner'
|
4
|
+
require 'avm/runners/base'
|
5
|
+
require 'eac_ruby_utils/struct'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacUbuntuBase0
|
9
|
+
module Runners
|
10
|
+
class Base < ::Avm::Runners::Base
|
11
|
+
class Docker < ::Avm::Docker::Runner
|
12
|
+
def use_default_registry?
|
13
|
+
true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/runners/base'
|
4
|
+
require 'avm/eac_ubuntu_base0/instances/base'
|
5
|
+
require 'eac_ruby_utils/patches/module/require_sub'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacUbuntuBase0
|
9
|
+
module Runners
|
10
|
+
class Base < ::Avm::Runners::Base
|
11
|
+
enable_simple_cache
|
12
|
+
require_sub __FILE__
|
13
|
+
|
14
|
+
INSTANCE_ID = 'eac-ubuntu-base0_self'
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def instance_uncached
|
19
|
+
::Avm::EacUbuntuBase0::Instances::Base.by_id(INSTANCE_ID)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
FROM ubuntu:20.04
|
2
|
+
RUN apt-get update -y
|
3
|
+
RUN apt-get install -y sudo tzdata
|
4
|
+
RUN /usr/sbin/useradd --shell /bin/bash --home-dir /home/myuser --create-home myuser
|
5
|
+
RUN /bin/echo 'myuser:myuser' | /usr/sbin/chpasswd
|
6
|
+
RUN /bin/chown myuser:myuser /home/myuser -R
|
7
|
+
RUN /bin/echo "myuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/myuser_all_nopasswd && chmod 0440 /etc/sudoers.d/myuser_all_nopasswd
|
8
|
+
USER myuser
|
9
|
+
WORKDIR /home/myuser
|
10
|
+
ENTRYPOINT /bin/bash
|
11
|
+
CMD apt-get update -y && apt-get dist-upgrade -y
|
metadata
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: avm-eac_ubuntu_base0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Put here the authors
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-11-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: avm
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.7'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.7'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: eac_ruby_utils
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.77'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 0.77.1
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0.77'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.77.1
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: eac_templates
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.2'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.2'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: eac_ruby_gem_support
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0.4'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0.4'
|
75
|
+
description:
|
76
|
+
email:
|
77
|
+
executables: []
|
78
|
+
extensions: []
|
79
|
+
extra_rdoc_files: []
|
80
|
+
files:
|
81
|
+
- lib/avm/eac_ubuntu_base0.rb
|
82
|
+
- lib/avm/eac_ubuntu_base0/apache.rb
|
83
|
+
- lib/avm/eac_ubuntu_base0/apache/resource.rb
|
84
|
+
- lib/avm/eac_ubuntu_base0/docker_image.rb
|
85
|
+
- lib/avm/eac_ubuntu_base0/instances.rb
|
86
|
+
- lib/avm/eac_ubuntu_base0/instances/base.rb
|
87
|
+
- lib/avm/eac_ubuntu_base0/patches/object/template.rb
|
88
|
+
- lib/avm/eac_ubuntu_base0/runners/base.rb
|
89
|
+
- lib/avm/eac_ubuntu_base0/runners/base/docker.rb
|
90
|
+
- lib/avm/eac_ubuntu_base0/version.rb
|
91
|
+
- template/avm/eac_ubuntu_base0/docker_image/Dockerfile
|
92
|
+
homepage:
|
93
|
+
licenses: []
|
94
|
+
metadata: {}
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options: []
|
97
|
+
require_paths:
|
98
|
+
- lib
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
requirements: []
|
110
|
+
rubygems_version: 3.1.6
|
111
|
+
signing_key:
|
112
|
+
specification_version: 4
|
113
|
+
summary: Put here de description.
|
114
|
+
test_files: []
|