Machines OpenAPI spec omissions

I have been testing the Pulumi provider. It mostly works. The following are a few of the observations I made.

Network Policies

Network policies API is listed in the docs here but it’s missing in the spec. I don’t see any other way to manage them.

Moreover, POST /v1/apps/<app_name>/network_policies is used for both create and update. It would be great if there was a separate endpoint for updating a policy similar to the DELETE endpoint: DELETE /v1/apps/<app_name>/network_policies/<policy_id>.

There is also no endpoint to fetch a single network policy by its id.

Storage Objects

I am curious if there is any plan to add APIs to manage the following resources:

  • Fly.io Storage (Tigris) Buckets to the Machines API?
  • Fly Kubernetes Service

I realize it’s Machines API, so maybe a separate “platform” API group?

Rate Limits

The rate limit is easily triggered by the metadata endpoints. Trying to mutate (add/update/delete) multiple metadata keys for a machine will result in 429s. I can work around this by slowing-down the metadata requests for a machine but I wanted to mention it in case there is any room for easing the limits for certain endpoints. The alternate, of course, is that a user manages metadata as part of the machine config rather than using the dedicated /metadata/{key} endpoint. I am going to do more testing and part of it is to port something off Render.