Discussion
Loading...

#Tag

Log in
  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Aral Balkan
Aral Balkan
@aral@mastodon.ar.al  ·  activity timestamp 4 days ago

🥳 New module release: Hetzner Cloud OpenAPI Client

https://codeberg.org/small-tech/hetzner-cloud-openapi-client

This is an OpenAPI client for Node.js generated from the official Hetzner Cloud OpenAPI specification using Massimo.

Recently, while reviewing the code for Catalyst¹, I realised that the Hetzner library I was using was deprecated. The only other client library listed on Awesome Hetzner Cloud for JavaScript was updated seven years ago². So I did a bit of research and discovered that Hetzner has an official OpenAPI specification (useful little things that you can generate documentation as well as working client code from). I also discovered Massimo³, a lightweight and easy to use OpenAPI client generator.

So, anyway, a few minutes later, I had a working Node.js client generated but I thought I’d take a little more time to make it into a module in case anyone else wanted to use it.

In the process, I also created a simple web app example with Kitten⁴ where you can enter your Hetzner API key in a web interface, have it persisted to the default Kitten database⁴ and then carry out a simple call to list your servers. It’s 99 lines of code, including comments, in a single file. (Because Kitten loves you.)

The example uses the new/advanced class and event-based way of working with Kitten so you might find it interesting for that reason too (I haven’t had the chance to document this workflow properly yet). It also showcases Kitten’s Streaming HTML⁵ workflow, as well as its built-in support for semantic default styles and its first-class Markdown support.

You can see the source code for the Kitten example here:
https://codeberg.org/small-tech/hetzner-cloud-openapi-client/src/branch/main/example/index.page.js

The cool thing is that because the client is generated from the official Hetzner OpenAPI specification, it’s one command to update it should the specification change and you can be sure it matches exactly what’s in the API documentation.

Enjoy!

💕

CC @hetzner @lenzgr

¹ https://catalyst.small-web.org
² https://github.com/hetznercloud/awesome-hcloud#javascript
³ https://massimohttp.dev/
⁴ https://kitten.small-web.org/tutorials/persistence/
⁵ https://kitten.small-web.org/tutorials/streaming-html/

#Hetzner #HetznerCloud #API #OpenAPI #Massimo #NodeJS #JavaScript #servers #hosting #VPS #Kitten #SmallWeb #SmallTech

Screenshot of the Hetzner Cloud OpenAPI Client Example running in a browser at https://localhost

Heading: Cloud OpenAPI Client Example.

This is a Kitten app that demonstrates basic usage of the Hetzner Cloud OpenAPI client generated using Massimo from Hetzner's official OpenAPI specification.

H2: Setup

Label: API Token
Password input box with 64 dots

H2: Test
List servers button

Result of having pressed the button is a list of seven servers (the scrollbar indicates there are more that are not visible):

1. small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
2. owncast.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
3. kittens.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
4. kitten.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
5. draw-together.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
6. accessibilityforeveryone.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
7. kitten-kawaii.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
Screenshot of the Hetzner Cloud OpenAPI Client Example running in a browser at https://localhost Heading: Cloud OpenAPI Client Example. This is a Kitten app that demonstrates basic usage of the Hetzner Cloud OpenAPI client generated using Massimo from Hetzner's official OpenAPI specification. H2: Setup Label: API Token Password input box with 64 dots H2: Test List servers button Result of having pressed the button is a list of seven servers (the scrollbar indicates there are more that are not visible): 1. small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 2. owncast.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 3. kittens.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 4. kitten.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 5. draw-together.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 6. accessibilityforeveryone.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 7. kitten-kawaii.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
Screenshot of the Hetzner Cloud OpenAPI Client Example running in a browser at https://localhost Heading: Cloud OpenAPI Client Example. This is a Kitten app that demonstrates basic usage of the Hetzner Cloud OpenAPI client generated using Massimo from Hetzner's official OpenAPI specification. H2: Setup Label: API Token Password input box with 64 dots H2: Test List servers button Result of having pressed the button is a list of seven servers (the scrollbar indicates there are more that are not visible): 1. small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 2. owncast.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 3. kittens.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 4. kitten.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 5. draw-together.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 6. accessibilityforeveryone.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage) 7. kitten-kawaii.small-web.org (running) – CPX 11 (x86, 2 cores, 2GB RAM, 40GB storage)
  • Copy link
  • Flag this post
  • Block
Claudius Link boosted
Lenz Grimmer
Lenz Grimmer
@lenzgr@mastodon.social  ·  activity timestamp 4 weeks ago

Das Platform-Team, das bei Hetzner Cloud für die Cloud-Infrastruktur (Virtualisierung und Hostsysteme) verantwortlich ist, sucht einen Softwareentwickler/Site Reliability Engineer!

Remote innerhalb Deutschlands (inkl. Bereitschaftsrotation)

Tech Stack: QEMU/KVM, Linux, Go, Ruby, Python, Ansible, QEMU, KVM, Redfish, OpenBMC

Mehr Info unter https://hetzner-cloud.de/jobs/2479946

#hetznercloud #hetzner #getfedihired #fedijob #remotejobs #PlatformEngineer #SRE #SoftwareDeveloper

Softwareentwickler/Site Reliability Engineer (m/w/d) – Platform

Jeder nutzt die Cloud. Wir bauen sie. Hilf uns dabei!
  • Copy link
  • Flag this post
  • Block
Lenz Grimmer
Lenz Grimmer
@lenzgr@mastodon.social  ·  activity timestamp 4 weeks ago

Das Platform-Team, das bei Hetzner Cloud für die Cloud-Infrastruktur (Virtualisierung und Hostsysteme) verantwortlich ist, sucht einen Softwareentwickler/Site Reliability Engineer!

Remote innerhalb Deutschlands (inkl. Bereitschaftsrotation)

Tech Stack: QEMU/KVM, Linux, Go, Ruby, Python, Ansible, QEMU, KVM, Redfish, OpenBMC

Mehr Info unter https://hetzner-cloud.de/jobs/2479946

#hetznercloud #hetzner #getfedihired #fedijob #remotejobs #PlatformEngineer #SRE #SoftwareDeveloper

Softwareentwickler/Site Reliability Engineer (m/w/d) – Platform

Jeder nutzt die Cloud. Wir bauen sie. Hilf uns dabei!
  • Copy link
  • Flag this post
  • Block

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.2-alpha.7 no JS en
Automatic federation enabled
Log in
  • Explore
  • About
  • Members
  • Code of Conduct