service_skeleton 1.0.4 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +1 -1
- data/README.md +1 -53
- data/service_skeleton.gemspec +2 -11
- metadata +8 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e244f5193b33614d8466ccb26d2d2d10f8d8d7917c94af1d8a2ddbd492c96cab
|
4
|
+
data.tar.gz: 1a80f5e1ed63a03bc4eb9920bc83a4f175fcd383f7aab1c5e732da2e764416ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f06bfeab8ad7401e2cdfde6ca9b2d89bf2946a65cc319b2861608a3b23a71cab91b9c438f7d212ed8326413a939dbc885d9bbd59871a78172c33e51c8b467a6
|
7
|
+
data.tar.gz: 3b3f6caf8be8d1cb07505b1a84f8212621faddf890c89f21988bc611d5e795e023eacb99ea31ab64de0afbf8c919fcfb1da64269494d3e3a9891ba8aa54b6039
|
data/.github/workflows/ci.yml
CHANGED
data/README.md
CHANGED
@@ -448,8 +448,7 @@ portion is the all-uppercase [service name](#the-service-name).
|
|
448
448
|
|
449
449
|
INFO,buggy=DEBUG,/noisy/i=ERROR
|
450
450
|
|
451
|
-
Logging levels can be changed at runtime
|
452
|
-
[the HTTP admin interface](#http-admin-interface).
|
451
|
+
Logging levels can be changed at runtime via [signals](#default-signals).
|
453
452
|
|
454
453
|
* **`<SERVICENAME>_LOGSTASH_SERVER`** (string; default `""`) -- if set to a
|
455
454
|
non-empty string, we will engage the services of the [loggerstash
|
@@ -686,57 +685,6 @@ When the service is shutdown, all signal handlers will be automatically
|
|
686
685
|
unhooked, which saves you having to do it yourself.
|
687
686
|
|
688
687
|
|
689
|
-
## HTTP Admin Interface
|
690
|
-
|
691
|
-
In these modern times we live in, it seems everything from nuclear reactors to
|
692
|
-
toasters can be controlled from a browser. Why should your services be any
|
693
|
-
different?
|
694
|
-
|
695
|
-
|
696
|
-
### HTTP Admin Configuration
|
697
|
-
|
698
|
-
In the spirit of "secure by default", you must explicitly enable the HTTP admin
|
699
|
-
interface, and configure an authentication method. To do that, use the
|
700
|
-
following environment variables, where `<SERVICENAME>_` is the all-uppercase
|
701
|
-
version of [the service name](#the-service-name).
|
702
|
-
|
703
|
-
* **`<SERVICENAME>_HTTP_ADMIN_PORT`** (integer; range 1..65535; default: `""`)
|
704
|
-
-- if set to a valid port number (`1` to `65535` inclusive), the HTTP admin
|
705
|
-
interface will listen on that port, if also enabled by configuring
|
706
|
-
authentication.
|
707
|
-
|
708
|
-
* **`<SERVICENAME>_HTTP_ADMIN_BASIC_AUTH`** (string; default: `""`) -- if set
|
709
|
-
to a string containing a username and password separated by a colon, then
|
710
|
-
authentication via [HTTP Basic auth](https://tools.ietf.org/html/rfc7617)
|
711
|
-
will be supported. Note that in addition to this setting, an admin port must
|
712
|
-
also be specified in order for the admin interface to be enabled.
|
713
|
-
|
714
|
-
* **`<SERVICENAME>_HTTP_ADMIN_PROXY_USERNAME_HEADER`** (string; default: `""`)
|
715
|
-
-- if set to a non-empty string, then incoming requests will be examined for
|
716
|
-
a HTTP header with the specified name. If such a header exists and has a
|
717
|
-
non-empty value, then the request will be deemed to have been authenticated
|
718
|
-
by an upstream authenticating proxy (such as
|
719
|
-
[`discourse-auth-proxy`](https://github.com/discourse/discourse-auth-proxy))
|
720
|
-
as the user given in the header value. Note that in addition to this
|
721
|
-
setting, an admin port must also be specified in order for the admin
|
722
|
-
interface to be enabled.
|
723
|
-
|
724
|
-
|
725
|
-
### HTTP Admin Usage
|
726
|
-
|
727
|
-
The HTTP admin interface provides both an interactive, browser-based mode,
|
728
|
-
as well as a RESTful interface, which should, in general, provide equivalent
|
729
|
-
functionality.
|
730
|
-
|
731
|
-
* Visiting the service's `IP address:port` in a web browser will bring up an HTML
|
732
|
-
interface showing all the features that are available. Usage should
|
733
|
-
(hopefully) be self-explanatory.
|
734
|
-
|
735
|
-
* Visiting the service's `IP address:port` whilst accepting `application/json`
|
736
|
-
responses will provide a directory of links to available endpoints which you
|
737
|
-
can use to interact with the HTTP admin interface programmatically.
|
738
|
-
|
739
|
-
|
740
688
|
# Contributing
|
741
689
|
|
742
690
|
Patches can be sent as [a Github pull
|
data/service_skeleton.gemspec
CHANGED
@@ -1,16 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
begin
|
4
|
-
require 'git-version-bump'
|
5
|
-
rescue LoadError
|
6
|
-
nil
|
7
|
-
end
|
8
|
-
|
9
3
|
Gem::Specification.new do |s|
|
10
4
|
s.name = "service_skeleton"
|
11
5
|
|
12
|
-
s.version =
|
13
|
-
s.date = GVB.date rescue Time.now.strftime("%Y-%m-%d")
|
6
|
+
s.version = '2.0.0'
|
14
7
|
|
15
8
|
s.platform = Gem::Platform::RUBY
|
16
9
|
|
@@ -33,14 +26,12 @@ Gem::Specification.new do |s|
|
|
33
26
|
s.required_ruby_version = ">= 2.5.0"
|
34
27
|
|
35
28
|
s.add_runtime_dependency "frankenstein", "~> 2.0"
|
36
|
-
s.add_runtime_dependency "loggerstash", "
|
29
|
+
s.add_runtime_dependency "loggerstash", "~> 1"
|
37
30
|
s.add_runtime_dependency "prometheus-client", "~> 2.0"
|
38
31
|
s.add_runtime_dependency "sigdump", "~> 0.2"
|
39
32
|
s.add_runtime_dependency "to_regexp", "~> 0.2"
|
40
33
|
|
41
34
|
s.add_development_dependency 'bundler'
|
42
|
-
s.add_development_dependency 'github-release'
|
43
|
-
s.add_development_dependency 'git-version-bump'
|
44
35
|
s.add_development_dependency 'guard-rspec'
|
45
36
|
s.add_development_dependency 'guard-rubocop'
|
46
37
|
s.add_development_dependency 'rack-test'
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: service_skeleton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Palmer
|
8
8
|
- Sam Saffron
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-03-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: frankenstein
|
@@ -29,20 +29,14 @@ dependencies:
|
|
29
29
|
name: loggerstash
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 0.0.9
|
35
|
-
- - "<"
|
32
|
+
- - "~>"
|
36
33
|
- !ruby/object:Gem::Version
|
37
34
|
version: '1'
|
38
35
|
type: :runtime
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
38
|
requirements:
|
42
|
-
- - "
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: 0.0.9
|
45
|
-
- - "<"
|
39
|
+
- - "~>"
|
46
40
|
- !ruby/object:Gem::Version
|
47
41
|
version: '1'
|
48
42
|
- !ruby/object:Gem::Dependency
|
@@ -101,34 +95,6 @@ dependencies:
|
|
101
95
|
- - ">="
|
102
96
|
- !ruby/object:Gem::Version
|
103
97
|
version: '0'
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: github-release
|
106
|
-
requirement: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
type: :development
|
112
|
-
prerelease: false
|
113
|
-
version_requirements: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
- !ruby/object:Gem::Dependency
|
119
|
-
name: git-version-bump
|
120
|
-
requirement: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
type: :development
|
126
|
-
prerelease: false
|
127
|
-
version_requirements: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
98
|
- !ruby/object:Gem::Dependency
|
133
99
|
name: guard-rspec
|
134
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -353,7 +319,7 @@ files:
|
|
353
319
|
homepage: https://github.com/discourse/service_skeleton
|
354
320
|
licenses: []
|
355
321
|
metadata: {}
|
356
|
-
post_install_message:
|
322
|
+
post_install_message:
|
357
323
|
rdoc_options: []
|
358
324
|
require_paths:
|
359
325
|
- lib
|
@@ -368,8 +334,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
368
334
|
- !ruby/object:Gem::Version
|
369
335
|
version: '0'
|
370
336
|
requirements: []
|
371
|
-
rubygems_version: 3.
|
372
|
-
signing_key:
|
337
|
+
rubygems_version: 3.0.3
|
338
|
+
signing_key:
|
373
339
|
specification_version: 4
|
374
340
|
summary: The bare bones of a service
|
375
341
|
test_files: []
|