[rpp] Re: Why the limit to RMM level 2?

Pawel Kowalik <kowalik@denic.de> Tue, 24 February 2026 17:39 UTC

Return-Path: <kowalik@denic.de>
X-Original-To: rpp@mail2.ietf.org
Delivered-To: rpp@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id B405EBD4D337 for <rpp@mail2.ietf.org>; Tue, 24 Feb 2026 09:39:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=denic.de
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Sd5tu-h7K7J2 for <rpp@mail2.ietf.org>; Tue, 24 Feb 2026 09:39:16 -0800 (PST)
Received: from mout-b-203.mailbox.org (mout-b-203.mailbox.org [IPv6:2001:67c:2050:102:465::203]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id A9E34BD4D2FE for <rpp@ietf.org>; Tue, 24 Feb 2026 09:39:16 -0800 (PST)
Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-b-203.mailbox.org (Postfix) with ESMTPS id 4fL4hp2YZyz9xgs; Tue, 24 Feb 2026 18:39:06 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denic.de; s=MBO0001; t=1771954746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=cKt4y+GX5OUSW/homfgxYrQD1iy3AgK5isM2UdOPcQY=; b=oEdDpJv4DAQSvgcVtwWds0juF2J7fbkd7QIKsUfBJAnGfZI+fo6WqSV/ikcJlxk8s9tAPj lopGPGVO3bkq9mLpec2S1XgAFqrJ6jmKmdgTHmgs6dRGIFZEtN9+FlTKYOZ/09nyy+/tV8 jWsERrwyKKohRjztMljpq1gPOlfvR5alPiPROmXyv1NXNwoObSN+uiFJw1ZYyo1QhxaFfN gaeBro+0+z8CDXZgVolH8jymSA927VCTbw7c7PYtCuQkXjLQegq9xDeam4iC26Qh2XEuhH 3WtIqC3obx7ZwNwubQcK6Zl1zJo3mgBXjHycMVd2tNksbY7AK9+SE6973dKOPg==
Message-ID: <03429da4-33e2-4105-bc39-9b63b632800c@denic.de>
Date: Tue, 24 Feb 2026 18:38:47 +0100
MIME-Version: 1.0
From: Pawel Kowalik <kowalik@denic.de>
To: Pierre Thierry <pierre@nothos.net>, rpp@ietf.org
References: <5835bb17-790d-4606-83fa-e8eacadf0ac3@nothos.net>
Content-Language: en-GB, de-DE
In-Reply-To: <5835bb17-790d-4606-83fa-e8eacadf0ac3@nothos.net>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-512"; boundary="------------ms050706020307090400040007"
X-MBO-RS-META: ispaa6jw1drnqixqhoycwnid5bieog7e
X-MBO-RS-ID: aba5918006ff98277b9
Message-ID-Hash: 6AVUURN5LBDSZTIPBWHJJFSGP72LDE7A
X-Message-ID-Hash: 6AVUURN5LBDSZTIPBWHJJFSGP72LDE7A
X-MailFrom: kowalik@denic.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [rpp] Re: Why the limit to RMM level 2?
List-Id: "This list discusses a provisioning protocol based on RESTful principles and corresponding data representations using JSON." <rpp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/rpp/Pe886zJLWLPoJPA6dUC783tWoP8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rpp>
List-Help: <mailto:rpp-request@ietf.org?subject=help>
List-Owner: <mailto:rpp-owner@ietf.org>
List-Post: <mailto:rpp@ietf.org>
List-Subscribe: <mailto:rpp-join@ietf.org>
List-Unsubscribe: <mailto:rpp-leave@ietf.org>

Hi Pierre,

We didn't put level 3 as requirement or ambition basically because of 
split opinions in the WG about usefulness of those mechanisms for a 
provisioning protocol.
I am convinced however, that some of these mechanism would be useful. On 
the other end a provisioning protocol does not necessarily have to drive 
application
state in a way unpredictable to the client and the clients rarely have a 
need to follow breadcrumbs of path they don't know. Just the opposite - 
the clients need
to know business logic of the server (registry) to know what payloads 
and parameters they have to provide in the requests.
Here the WG opted also for strict handling of data validation, so a more 
coupled design between clients and servers is to be expected.

However, there is a great bit of discoverability capabilities already in 
architecture and in design.

We have already an almost ready updated text about discoverability in 
the architecture document:
https://github.com/ietf-wg-rpp/RPP-architecture/blob/f94960bc14f12da944238d58ab430b32c886a27a/draft-ietf-rpp-architecture-01.adoc#5121-definition-of-special-resources

This will be released with -01 prior to IETF 125.

When working on a new version of rpp-core document Maarten started some 
design work on Discovery documents, but this is still on an early stage, 
so likely won't make it into the version we plan to release prior to 
IETF 125.

If you are interested to participate in the review/discussion, here the PR:
https://github.com/SIDN/ietf-rpp-core/pull/36/changes

Kind Regards,
Pawel

On 24.02.26 14:06, Pierre Thierry wrote:
>
> Hi,
>
> I started reading the RPP RFCs and as there already is a good level of 
> discoverability in the requirements, I was wondering why the level 2 
> of the Richardson Maturity Model was set as a requirement instead of 
> fully adhering to REST and using State Transfers in Representations?
>
> As a concrete example, in RPP Core, message deletion goes through the 
> hard-coded but relative URI of "/messages/{id}", but the response 
> message for message polling could as well contain a "deletion" link.
>
> Section 3.2 from RFC 9205 lists a few advantages of that approach.
>
> I'll note that fully using REST would also accomodate some exisiting 
> requirements better than stopping at RMM L2:
>
>   * R9.11/R10.1: representational state transfers make it possible for
>     the RPP server to present links to attenuated facets of the
>     provisioning objects
>       o a read-only view (that needs authenticated access or not,
>         depending on the use case)
>       o a link to a provisioning process that has single-use
>         confirm/abort links
>   * R10.1/R10.2: when collections and object operations are provided
>     as representational state transfers, a generic RPP UI can present
>     new data elements, new object types and even some new operations
>     to some extent, even without prior knowledge
>
> Curiously,
> Pierre Thierry
> -- 
>
> pierre@nothos.net
> 0xD9D50D8A
>
> _______________________________________________
> rpp mailing list --rpp@ietf.org
> To unsubscribe send an email torpp-leave@ietf.org