Add serve script using openapi-mock

Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
This commit is contained in:
Oliver Davies 2025-09-23 13:33:27 +01:00
parent 9cb8710505
commit 7ef0759b2e
4 changed files with 32 additions and 1 deletions

1
openapi/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/result

View file

@ -2,16 +2,24 @@
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs =
{ nixpkgs, ... }:
{ nixpkgs, self, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in
{
packages.${system} = {
openapi-mock = import ./openapi-mock.nix {
inherit (pkgs) buildGoModule fetchFromGitHub;
};
};
devShells.${system}.default = pkgs.mkShell {
packages = with pkgs; [
openapi-generator-cli
openapi-tui
self.packages.${system}.openapi-mock
];
};
};

15
openapi/openapi-mock.nix Normal file
View file

@ -0,0 +1,15 @@
{ buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "openapi-mock";
version = "0.3.9";
src = fetchFromGitHub {
owner = "muonsoft";
repo = pname;
rev = "v${version}";
hash = "sha256-7u//uwcVV1/EI6Rr3ju7KOwMYt/dXivyvBWIpTaoWZk=";
};
vendorHash = "sha256-KPCRunuCIbBX+YpHgshixmrxM3Ey0LIdEC0Z4CtpQoI=";
}

7
openapi/serve Executable file
View file

@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
openapi-mock serve \
--specification-url petstore.yaml \
"$@"