This commit is contained in:
2026-10-27 16:53:45 -04:00
parent 18a94f0eb0
commit b64bb5683b
3 changed files with 26 additions and 18 deletions
+2 -1
View File
@@ -94,7 +94,8 @@ tiers. SHKeeper needs both its flag and URL/currencies plus API key in the Secre
It prepays one calendar month per invoice, without automatic renewal.
Defaults reuse product `prod_Sc9N5J0vNAdLCn` and the same five live Price IDs as
the application. Provision dedicated `www-level-0` through `www-level-4`
the application. Level 0 is the free account baseline; paid offers are levels
1–5. Provision dedicated `www-level-1` through `www-level-5`
groupOfUniqueNames groups, sentinel and ACLs separately. Override group DNs if
needed; sandbox testing requires separate test-mode prices.
+22 -16
View File
@@ -88,36 +88,42 @@ www_membership_environment:
SHKEEPER_CURRENCIES: ""
SHKEEPER_CA_CERT_FILE: ""
# Existing LIVE Stripe prices. Provision the dedicated group DNs separately.
# Existing LIVE Stripe prices. Level 0 is free and is not configured as a paid tier.
# Provision the dedicated paid-group DNs separately.
# Override with {} to disable paid tiers, or test-mode prices for a sandbox.
www_membership_tiers:
level-0:
label: Level 0
level-1:
level: 1
label: Supporter
price_id: price_1Rgv4xC5KPXqTvVLfMd6z7wn
price_label: $4 USD / month
usd_amount: "4.00"
group_dn: cn=www-level-0,ou=groups,dc=eom,dc=dev
level-1:
label: Level 1
group_dn: cn=www-level-1,ou=groups,dc=eom,dc=dev
level-2:
level: 2
label: Insider
price_id: price_1Rgv5QC5KPXqTvVLv1PaHWb5
price_label: $8 USD / month
usd_amount: "8.00"
group_dn: cn=www-level-1,ou=groups,dc=eom,dc=dev
level-2:
label: Level 2
group_dn: cn=www-level-2,ou=groups,dc=eom,dc=dev
level-3:
level: 3
label: Collaborator
price_id: price_1Rgv5rC5KPXqTvVL8Ol8sMUf
price_label: $16 USD / month
usd_amount: "16.00"
group_dn: cn=www-level-2,ou=groups,dc=eom,dc=dev
level-3:
label: Level 3
group_dn: cn=www-level-3,ou=groups,dc=eom,dc=dev
level-4:
level: 4
label: Sustainer
price_id: price_1Rgv6FC5KPXqTvVL39mAxYjm
price_label: $32 USD / month
usd_amount: "32.00"
group_dn: cn=www-level-3,ou=groups,dc=eom,dc=dev
level-4:
label: Level 4
group_dn: cn=www-level-4,ou=groups,dc=eom,dc=dev
level-5:
level: 5
label: Patron
price_id: price_1Rgv6mC5KPXqTvVLkcmznWZa
price_label: $64 USD / month
usd_amount: "64.00"
group_dn: cn=www-level-4,ou=groups,dc=eom,dc=dev
group_dn: cn=www-level-5,ou=groups,dc=eom,dc=dev
+2 -1
View File
@@ -51,7 +51,8 @@ assert plaintext_config["LDAP_URL"] == "ldap://openldap.openldap.svc.cluster.loc
assert all(isinstance(value, str) for value in plaintext_config.values())
assert "MEMBERSHIP_SECRET_KEY" not in config and "SHKEEPER_API_KEY" not in config
tiers = json.loads(find(all_objects, "ConfigMap", "membership-tiers")["data"]["tiers.json"])
assert len(tiers) == 5 and tiers["level-4"]["usd_amount"] == "64.00"
assert len(tiers) == 5 and tiers["level-5"]["usd_amount"] == "64.00"
assert [tiers[f"level-{level}"]["level"] for level in range(1, 6)] == list(range(1, 6))
for name in ["membership", "membership-worker"]:
deployment = find(all_objects, "Deployment", name)
pod_checks(deployment["spec"]["template"]["spec"])