harbr 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90e673e0e33206181428629abfc84ab183035492ac8cc2086db07044508e2837
4
- data.tar.gz: 50e1981a9f69c5bc1ee39ad0c7c9cbb4f0109026f7c34df7c291d5915ee16416
3
+ metadata.gz: 757a47e061cb1c14cf31efdd949df3536a9671b5dbe9673ba5479e89e4ec1b8d
4
+ data.tar.gz: 6d3e93523572bf11b506ed803869b2494b83d1abb26d1db57232dd24e18c2dd8
5
5
  SHA512:
6
- metadata.gz: ae41ff56df3bc5a5792a3285deb68eb1bcfc8f52377b2616260750ab848fe673066f5401385400c590a1d1c8abcbde2bd18e2645ced9c9978ea6755371e514c4
7
- data.tar.gz: c6161573a840e91d343fdc7fad17074e06d352cbd722b8147b34178f7218771436f953ccd82e8408cdee6d327d72423b7ccaab457214c837ac0d7e6f38d4bfef
6
+ metadata.gz: 3c840f224d4dca5540997f1a5dc4bd18b0eb00cb29af201a9fe161ab4ab593ab6b19d2b8873a469d9a38de2fa21d3b584e528894a4da69fe0858f4f9fb90b03a
7
+ data.tar.gz: 19e91fef482a15854c26020429b0a2e2c508394773807b84d26b4da88eacbc431b807d3572150e4bbda118a3912ca91671afa7cb97e1e120783c48a982fe3ef0
File without changes
data/exe/harbr CHANGED
@@ -1,12 +1,41 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'thor'
3
3
  require 'listen'
4
+ require 'dddr'
5
+ require 'harbr'
6
+ require 'terminal-table'
4
7
 
5
8
  class HarbrCLI < Thor
6
9
  DEFAULT_DIRECTORY = '/var/harbr'
10
+ DEFAULT_DIRECTORY_DATA_DIR = "#{DEFAULT_DIRECTORY}/.data"
7
11
  @@listener = nil
8
12
 
13
+ Dddr.configure do |config|
14
+ config.data_dir = DEFAULT_DIRECTORY_DATA_DIR
15
+ end
16
+
17
+
9
18
  no_commands do
19
+
20
+ def display_containers_table(containers)
21
+ return puts "No containers available." if containers.empty?
22
+
23
+ # Define headers based on Container attributes
24
+ headers = ['Name', 'Host Header', 'IP', 'Port']
25
+
26
+ rows = containers.map do |container|
27
+ [container.name, container.host_header, container.ip, container.port]
28
+ end
29
+
30
+ table = ::Terminal::Table.new(headings: headers, rows: rows)
31
+ puts ""
32
+ puts "Harbr Containers"
33
+ puts ""
34
+ puts table
35
+ puts ""
36
+ end
37
+
38
+
10
39
  def check_and_create_directory(path)
11
40
  unless Dir.exist?(path)
12
41
  puts "Creating directory: #{path}"
@@ -89,6 +118,13 @@ class HarbrCLI < Thor
89
118
  puts "Harbr is not running or already active."
90
119
  end
91
120
  end
121
+
122
+ desc "containers", "show all containers"
123
+ def containers
124
+ container_repo = Harbr::Container::Repository.new
125
+ display_containers_table(container_repo.all)
126
+ end
127
+
92
128
  end
93
129
 
94
130
  HarbrCLI.start(ARGV)
@@ -0,0 +1,43 @@
1
+ # Define HTTP routers
2
+ [http.routers]
3
+ [http.routers.traefik-dashboard]
4
+ rule = "Host(`traefik.harbr.zero2one.ee`)"
5
+ service = "api@internal"
6
+ entryPoints = ["http"]
7
+
8
+
9
+ # Define the router for the Traefik Dashboard and API
10
+ [http.routers.traefik-dashboard]
11
+ rule = "Host(`traefik.harbr.zero2one.ee`)"
12
+ service = "api@internal"
13
+ entryPoints = ["http"]
14
+
15
+ [http.routers.tallinn-router]
16
+ rule = "Host(`tallinn.laki.zero2one.ee`)"
17
+ service = "tallinn-service"
18
+
19
+ [http.routers.vidtreon-router]
20
+ rule = "Host(`vidtreon.harbr.zero2one.ee`)"
21
+ service = "vidtreon-service"
22
+
23
+ [http.routers.sild-router]
24
+ rule = "Host(`sild.harbr.zero2one.ee`)"
25
+ service = "sild-service"
26
+
27
+
28
+
29
+ [http.services]
30
+ [http.services.tallinn-service]
31
+ [http.services.tallinn-service.loadBalancer]
32
+ [[http.services.tallinn-service.loadBalancer.servers]]
33
+ url = "http://10.80.172.9:80"
34
+
35
+ [http.services.vidtreon-service]
36
+ [http.services.vidtreon-service.loadBalancer]
37
+ [[http.services.vidtreon-service.loadBalancer.servers]]
38
+ url = "http://127.0.0.1:9292"
39
+
40
+ [http.services.sild-service]
41
+ [http.services.sild-service.loadBalancer]
42
+ [[http.services.sild-service.loadBalancer.servers]]
43
+ url = "http://127.0.0.1:9393"
data/lib/harbr/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Harbr
4
- VERSION = "0.0.3"
4
+ VERSION = "0.0.4"
5
5
  end
data/lib/harbr.rb CHANGED
@@ -1,8 +1,13 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  require_relative "harbr/version"
3
+ require 'dddr'
4
4
 
5
5
  module Harbr
6
6
  class Error < StandardError; end
7
- # Your code goes here...
7
+ class Container
8
+ include Dddr::Entity
9
+ attr_accessor :name, :host_header, :ip, :port
10
+ end
11
+
12
+ # Your code goes here...
8
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harbr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Kuldvee Burke
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-02 00:00:00.000000000 Z
11
+ date: 2023-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: listen
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dddr
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.0.3
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: terminal-table
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 3.0.2
41
69
  description: Harbr is a versatile tool designed to streamline the deployment, management,
42
70
  and scaling of Rack-based applications. It integrates with version control and process
43
71
  supervision systems to ensure smooth and consistent application delivery.
@@ -48,6 +76,8 @@ executables:
48
76
  extensions: []
49
77
  extra_rdoc_files: []
50
78
  files:
79
+ - ".data/development/Harbr::Container.dir"
80
+ - ".data/development/Harbr::Container.pag"
51
81
  - ".rspec"
52
82
  - ".standard.yml"
53
83
  - CHANGELOG.md
@@ -57,6 +87,7 @@ files:
57
87
  - Rakefile
58
88
  - exe/harbr
59
89
  - hero.png
90
+ - lib/examples/harbr.toml
60
91
  - lib/harbr.rb
61
92
  - lib/harbr/version.rb
62
93
  - sig/harbr.rbs