harbr 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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