kiosk-all 0.5.20 → 0.6.28

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +144 -0
  3. data/README.md +37 -16
  4. data/lib/kiosk/all/version.rb +1 -1
  5. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc2033fb24171c243f3eeb9274e6dcd50974d1620f19ebd60153e4b746995c27
4
- data.tar.gz: a230076b610f50081ab9e7364dd5042604f5c8545a22ceeda2ddeb8da9e62bac
3
+ metadata.gz: fc9f77abd1d31d88f0105e15bd39363b0d3d5e43d7198b1de59b41a2715aa2c0
4
+ data.tar.gz: bfce00226e39ade5f9ac011e50ec126e8a99af4832e7123357bdaed529cb4a30
5
5
  SHA512:
6
- metadata.gz: 392b32aa91be55295fe6230b2c0295ba3987f39e6abe68377dbc4732c45f62c1e32f39b92a448696977f5fc9f10cb6ab797898ccd0658fdf624a03a115105753
7
- data.tar.gz: fc3c0f521524d526762c2f5c0d52713830d4f03d92d7586839313631f3a8cfb279f27a4550d0b81e68166b52c004722f6daf3552f14f71efcd9e35cb4376b281
6
+ metadata.gz: d8411cdd458539c0208ce9dc0d9f8e5c39eed10f2c8e339a88badfa4e778757308343728fff21f4ddf4fa8b5aa2e452eaaa59c132eb28efd396ab31ab4c5f446
7
+ data.tar.gz: 4b7ddc45faf6aa8292acc647ad573a75775e4e0b8d44eb71d82f0666b9743f81863df6182d354a92e9f44814ef1582e759bc409670b675caaa7e48fc9e7d5db0
data/CHANGELOG.md CHANGED
@@ -12,6 +12,150 @@ already written is edited.
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ## [0.6.28] — 2026-10-26
16
+
17
+ - 2026-10-26: Version 0.6.28, the tree cut that matches skill 0.6.28.
18
+
19
+ ## [0.6.27] — 2026-10-26
20
+
21
+ - 2026-10-26: Version 0.6.27, the tree cut that matches skill 0.6.27.
22
+ ## [0.6.26] — 2026-10-26
23
+
24
+ - 2026-10-26: Version 0.6.26, the tree cut that matches skill 0.6.26.
25
+ ## [0.6.25] — 2026-10-26
26
+
27
+ - 2026-10-26: Version 0.6.25, the tree cut that matches skill 0.6.25.
28
+ - 2026-10-26: The README names the gems the proof-of-work toll needs, and the generator that creates the functions RLS policies call.
29
+
30
+ ## [0.6.24] — 2026-10-26
31
+
32
+ - 2026-10-26: Version 0.6.24, the tree cut that matches skill 0.6.24.
33
+
34
+ ## [0.6.23] — 2026-10-26
35
+
36
+ - 2026-10-26: Version 0.6.23, the tree cut that matches skill 0.6.23.
37
+
38
+ ## [0.6.22] — 2026-10-26
39
+
40
+ - 2026-10-26: Version 0.6.22, the tree cut that matches skill 0.6.22.
41
+
42
+ ## [0.6.21] — 2026-10-26
43
+
44
+ - 2026-10-26: Version 0.6.21, the tree cut that matches skill 0.6.21.
45
+
46
+ ## [0.6.20] — 2026-10-26
47
+
48
+ - 2026-10-26: Version 0.6.20, the tree cut that matches skill 0.6.20.
49
+
50
+ ## [0.6.19] — 2026-10-26
51
+
52
+ - 2026-10-26: Version 0.6.19, the tree cut that matches skill 0.6.19.
53
+
54
+ ## [0.6.18] — 2026-10-25
55
+
56
+ - 2026-10-25: Version 0.6.18, the tree cut that matches skill 0.6.18.
57
+
58
+ ## [0.6.17] — 2026-10-25
59
+
60
+ - 2026-10-25: Version 0.6.17, the tree cut that matches skill 0.6.17.
61
+
62
+ ## [0.6.16] — 2026-10-25
63
+
64
+ - 2026-10-25: Version 0.6.16, the tree cut that matches skill 0.6.16.
65
+
66
+ ## [0.6.15] — 2026-10-25
67
+
68
+ - 2026-10-25: Version 0.6.15, the tree cut that matches skill 0.6.15.
69
+
70
+ ## [0.6.14] — 2026-10-25
71
+
72
+ - 2026-10-25: Version 0.6.14, the tree cut that matches skill 0.6.14.
73
+
74
+ ## [0.6.13] — 2026-10-25
75
+
76
+ - 2026-10-25: Version 0.6.13, the tree cut that matches skill 0.6.13.
77
+
78
+ ## [0.6.12] — 2026-10-24
79
+
80
+ - 2026-10-24: Version 0.6.12, the tree cut that matches skill 0.6.12.
81
+
82
+ ## [0.6.11] — 2026-10-24
83
+
84
+ - 2026-10-24: Version 0.6.11, the tree cut that matches skill 0.6.11.
85
+
86
+ ## [0.6.10] — 2026-10-23
87
+
88
+ - 2026-10-23: Version 0.6.10, the tree cut that matches skill 0.6.10.
89
+
90
+ ## [0.6.9] — 2026-10-23
91
+
92
+ - 2026-10-23: Version 0.6.9, the tree cut that matches skill 0.6.9.
93
+
94
+ ## [0.6.8] — 2026-10-22
95
+
96
+ - 2026-10-22: Version 0.6.8, the tree cut that matches skill 0.6.8.
97
+
98
+ ## [0.6.7] — 2026-10-22
99
+
100
+ - 2026-10-22: Version 0.6.7, the tree cut that matches skill 0.6.7.
101
+
102
+ ## [0.6.6] — 2026-10-22
103
+
104
+ - 2026-10-22: Version 0.6.6, the tree cut that matches skill 0.6.6.
105
+
106
+ ## [0.6.5] — 2026-10-22
107
+
108
+ - 2026-10-22: Version 0.6.5, the tree cut that matches skill 0.6.5.
109
+
110
+ ## [0.6.4] — 2026-10-22
111
+
112
+ - 2026-10-22: Version 0.6.4, the tree cut that matches skill 0.6.4.
113
+ - 2026-10-22: The gem description names the OAuth registration and token endpoints.
114
+
115
+ ## [0.6.3] — 2026-10-22
116
+
117
+ - 2026-10-22: Version 0.6.3, the tree cut that matches skill 0.6.3.
118
+
119
+ ## [0.6.2] — 2026-10-22
120
+
121
+ - 2026-10-22: Version 0.6.2, the tree cut that matches skill 0.6.2.
122
+
123
+ ## [0.6.1] — 2026-10-22
124
+
125
+ - 2026-10-22: Version 0.6.1, the tree cut that matches skill 0.6.1.
126
+
127
+ ## [0.6.0] — 2026-10-21
128
+
129
+ - 2026-10-21: Version 0.6.0, the tree cut that matches skill 0.6.0.
130
+
131
+ ## [0.5.27] — 2026-10-21
132
+
133
+ - 2026-10-21: Version 0.5.27, the tree cut that matches skill 0.5.27.
134
+
135
+ ## [0.5.26] — 2026-10-21
136
+
137
+ - 2026-10-21: Version 0.5.26, the tree cut that matches skill 0.5.26.
138
+
139
+ ## [0.5.25] — 2026-10-21
140
+
141
+ - 2026-10-21: Version 0.5.25, the tree cut that matches skill 0.5.25.
142
+
143
+ ## [0.5.24] — 2026-10-21
144
+
145
+ - 2026-10-21: Version 0.5.24, the tree cut that matches skill 0.5.24.
146
+
147
+ ## [0.5.23] — 2026-10-21
148
+
149
+ - 2026-10-21: Version 0.5.23, the tree cut that matches skill 0.5.23.
150
+
151
+ ## [0.5.22] — 2026-10-21
152
+
153
+ - 2026-10-21: Version 0.5.22, the tree cut that matches skill 0.5.22.
154
+
155
+ ## [0.5.21] — 2026-10-21
156
+
157
+ - 2026-10-21: Version 0.5.21, the tree cut that matches skill 0.5.21.
158
+
15
159
  ## [0.5.20] — 2026-10-20
16
160
 
17
161
  - 2026-10-20: Version 0.5.20, the tree cut that matches skill 0.5.20.
data/README.md CHANGED
@@ -6,33 +6,54 @@ The «I just want to start» meta-gem for the [Kiosk](https://kiosk.tech) framew
6
6
 
7
7
  `kiosk-all` declares runtime dependencies on the two production data-plane gems:
8
8
 
9
- - **`kiosk-core`** — value types (`Identity`, `Mandate`), abstract adapter base classes, GUC namespace constants, `Kiosk.configure`, protocol version surface
10
- - **`kiosk-server`** — the whole host-side surface: the wire controllers (one endpoint per registered verb — `GET /kiosk/<query-name>`, `POST /kiosk/<action-name>` — plus `/kiosk/{schema,openapi.json,pay}`), the register/login proof-of-possession auth plane, JWKS, KYC attestation, `agents.txt` / `agents.json` / `/.well-known/kiosk.json` discovery, the account-binding ceremony, `Kiosk::Server::Executor`, the PoW gate, the Rails engine, the headers middleware and the `kiosk:install` generator
9
+ - **`kiosk-core`** — value types (`Identity`, `Mandate::CheckoutMandate`, `Mandate::PaymentMandate`), abstract adapter base classes, GUC namespace constants, `Kiosk.configure`, protocol version surface
10
+ - **`kiosk-server`** — the whole host-side surface: the Kiosk controllers (one path per operation — `GET /kiosk/<query-name>`, `POST /kiosk/<action-name>` — plus `/kiosk/{schema,openapi.json,pay}`), OAuth client registration and the token request with a client assertion and a DPoP proof, JWKS, KYC attestation, `agents.txt` / `agents.json` / `/.well-known/kiosk.json` discovery, the account-binding ceremony, `Kiosk::Server::Executor`, the proof-of-work toll, the Rails engine, the headers middleware and the `kiosk:install` generator
11
11
 
12
12
  Requiring `kiosk-all` loads `Kiosk` and `Kiosk::Server`.
13
13
 
14
14
  ## Install
15
15
 
16
- > **Not on RubyGems yet** — so every `gem` line below carries `github: "kiosk-hq/kiosk"`, which is what makes it copy-pasteable today. Publication status and the canonical install are stated once, in the monorepo README's [Install](https://github.com/kiosk-hq/kiosk#install) section.
16
+ ```ruby
17
+ gem "kiosk-all"
18
+ ```
19
+
20
+ That's it for the data plane. Optional pieces you add for your stack:
21
+
22
+ ### Proof-of-work toll — opt-in
23
+
24
+ The toll needs two gems that `kiosk-all` does not pull in: `kiosk-reputation`
25
+ (the policy that sets the toll, and the challenges) and `kiosk-pow-equihash`
26
+ (the proof-of-work backend). Add both, and `require` them:
17
27
 
18
28
  ```ruby
19
- gem "kiosk-all", github: "kiosk-hq/kiosk"
29
+ gem "kiosk-reputation"
30
+ gem "kiosk-pow-equihash"
20
31
  ```
21
32
 
22
- That's it for the data plane. Optional pieces you add per stack:
33
+ `c.reputation_policy` sets the call toll and `c.registration_pow_count` the
34
+ registration toll; both need `c.pow_secret`. The kiosk-server README tells how
35
+ to configure them.
23
36
 
24
37
  ### RLS defense-in-depth — opt-in
25
38
 
26
- `kiosk-all` does **not** pull in `kiosk-rls`. Kiosk's isolation comes from the sanctioned per-verb query/action/pay surface with app-layer authz; Postgres RLS is available as belt-and-suspenders hardening. Opt in explicitly:
39
+ `kiosk-all` does **not** pull in `kiosk-rls`. Kiosk's isolation comes from the declared queries, actions and `pay`, each authorized in the application; Postgres RLS is available as belt-and-suspenders hardening. Opt in explicitly:
27
40
 
28
41
  ```ruby
29
- gem "kiosk-rls", github: "kiosk-hq/kiosk" # opt-in: DB-level RLS defense-in-depth
42
+ gem "kiosk-rls" # opt-in: DB-level RLS defense-in-depth
43
+ ```
44
+
45
+ The gem puts `enable_rls_on` and its siblings on `ActiveRecord::Migration`
46
+ itself. A policy reads the request's customer through `kiosk_current_*()` SQL
47
+ functions, and the install generator writes the migration that creates them:
48
+
49
+ ```sh
50
+ bin/rails generate kiosk:rls:install --user-id-type=uuid
51
+ bin/rails db:migrate
30
52
  ```
31
53
 
32
- That line is the whole installation: kiosk-rls's railtie puts `enable_rls_on`
33
- and its siblings on `ActiveRecord::Migration` itself. See the kiosk-rls README
34
- for the DSL and for the role posture (`app_role`, `enforce_db_role`), which is
35
- the part you do configure.
54
+ Give it the `--user-id-type` that you gave `kiosk:install`. See the kiosk-rls
55
+ README for the policy language and for the role settings (`app_role`,
56
+ `enforce_db_role`), which you configure.
36
57
 
37
58
  ### Test harness — pick one
38
59
 
@@ -40,8 +61,8 @@ the part you do configure.
40
61
 
41
62
  ```ruby
42
63
  group :test do
43
- gem "kiosk-rls-rspec", github: "kiosk-hq/kiosk" # if you use RSpec
44
- # gem "kiosk-rls-minitest", github: "kiosk-hq/kiosk" # if you use Minitest
64
+ gem "kiosk-rls-rspec" # if you use RSpec
65
+ # gem "kiosk-rls-minitest" # if you use Minitest
45
66
  end
46
67
  ```
47
68
 
@@ -52,13 +73,13 @@ Why not bundled: test-support gems pull in `rspec`/`minitest` and host-test infr
52
73
  `kiosk-all` does **not** pull in any adapter gem. Add the ones you actually use:
53
74
 
54
75
  ```ruby
55
- gem "kiosk-user-idp-devise", github: "kiosk-hq/kiosk" # only shipped user-IdP adapter today
56
- gem "kiosk-pay-stripe", github: "kiosk-hq/kiosk" # only shipped PSP adapter today
76
+ gem "kiosk-user-idp-devise" # the one shipped sign-in adapter
77
+ gem "kiosk-pay-stripe" # only shipped PSP adapter today
57
78
  ```
58
79
 
59
80
  Those two are the whole set: `git ls-files 'kiosk-user-idp-*/*.gemspec' 'kiosk-pay-*/*.gemspec'` names one gem each. For a stack or a market neither covers, subclass `Kiosk::UserIdentityProviders::Base` or `Kiosk::PaymentProviders::Base` in your own app and assign it in the initializer.
60
81
 
61
- Why not bundled: there is no «one PSP per provider» or «one IdP per provider» globally; bundling Stripe + Paddle + every IdP would pull five unused gems into every Gemfile. Providers pick per market (`kiosk-pay-*`) and per existing identity stack (`kiosk-user-idp-*`) — this is the same reason `kiosk-pay-all` is deliberately not provided.
82
+ Why not bundled: each operator picks a payment provider for its market (`kiosk-pay-*`) and an identity adapter for the sign-in it already has (`kiosk-user-idp-*`). A bundle of every adapter would put unused gems into every Gemfile.
62
83
 
63
84
  ## Status
64
85
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kiosk
4
4
  module All
5
- VERSION = '0.5.20'
5
+ VERSION = '0.6.28'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kiosk-all
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.20
4
+ version: 0.6.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phil Pirozhkov
@@ -15,38 +15,38 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.5.0
18
+ version: 0.6.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 0.5.0
25
+ version: 0.6.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: kiosk-server
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.5.0
32
+ version: 0.6.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.5.0
39
+ version: 0.6.0
40
40
  description: |
41
41
  kiosk-all is the «I just want to start» entry point for the Kiosk
42
42
  framework. Installing it pulls in the production data-plane gems:
43
43
  kiosk-core (value types, abstract bases, configuration) and
44
- kiosk-server — the whole host-side surface: the wire controllers
44
+ kiosk-server — the whole host-side surface: the Kiosk controllers
45
45
  (one endpoint per verb — GET /kiosk/<query-name>, POST
46
46
  /kiosk/<action-name> — plus /kiosk/{schema,openapi.json,pay}), the
47
- register/login auth plane, JWKS,
47
+ OAuth registration and token endpoints, JWKS,
48
48
  KYC attestation, discovery, the account-binding ceremony, the
49
- Executor, the PoW gate, the headers middleware and the `kiosk:install`
49
+ Executor, the proof-of-work toll, the headers middleware and the `kiosk:install`
50
50
  generator.
51
51
 
52
52
  Deliberately out of scope: