From fd3ca3ab4134e451dc374b63e157e698497566b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz> Date: Wed, 2 Feb 2022 20:54:21 +0100 Subject: [PATCH] Swagger spec renderer, image version from spec --- .gitlab-ci.yml | 7 ++++--- Dockerfile | 3 ++- lib/CF.pm | 8 +++++++- openapi.yaml | 2 +- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fa18d79..a11cc56 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,18 +2,19 @@ image: docker:20.10.9 variables: DOCKER_TLS_CERTDIR: "/certs" - IMAGE_VER: 2.6.0 services: - docker:20.10.9-dind before_script: + - apk add --no-cache yq - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY build: stage: build script: + - VERSION=`yq '.info.version' openapi.yaml` - docker pull $CI_REGISTRY_IMAGE:latest || true - - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$IMAGE_VER --tag $CI_REGISTRY_IMAGE:latest . - - docker push $CI_REGISTRY_IMAGE:$IMAGE_VER + - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$VERSION --tag $CI_REGISTRY_IMAGE:latest . + - docker push $CI_REGISTRY_IMAGE:$VERSION - docker push $CI_REGISTRY_IMAGE:latest diff --git a/Dockerfile b/Dockerfile index 5b65619..c8dd4cc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,8 @@ RUN cpanm \ Mojo::Pg \ Mojo::Redis \ Mojo::JWT \ - Mojolicious::Plugin::OpenAPI + Mojolicious::Plugin::OpenAPI \ + Mojolicious::Plugin::SwaggerUI ADD . /opt/cf WORKDIR /opt/cf diff --git a/lib/CF.pm b/lib/CF.pm index 1fd445f..fbcce86 100644 --- a/lib/CF.pm +++ b/lib/CF.pm @@ -102,13 +102,19 @@ sub startup { } }); + $self->plugin( SwaggerUI => { + url => "/api", + title => "CF Online", + }); + + $self->defaults( openapi_cors_allowed_origins => ['*'] ); # Router my $r = $self->routes; - $r->get('/')->to(cb => sub { shift->redirect_to('/api.html');}); + $r->get('/')->to(cb => sub { shift->redirect_to('/swagger-ui');}); $r->websocket('/ws')->to('Websockets#main'); } diff --git a/openapi.yaml b/openapi.yaml index abc2f27..f32c79e 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: - version: "2.0" + version: "2.6.1" title: CF Online description: CF Online license: -- GitLab