service_skeleton 1.0.4 → 2.0.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 +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: []
|