Skip to content
Snippets Groups Projects
Commit cdcba26f authored by nimrod's avatar nimrod
Browse files

More scaffolding.

- Empty service (just the healthcheck).
- Docker image.
- Pre-commit.
- GitLab CI.
parent 5f2808a7
No related branches found
No related tags found
No related merge requests found
Pipeline #1156 failed
*
!app.py
!requirements.txt
---
include:
- project: shore/ci-templates
file: templates/pre-commit.yml
- project: shore/ci-templates
file: templates/docker.yml
stages:
- test
- build
- deploy
build:
extends: .docker-build-shore
push:
extends: .docker-push
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: check-toml
files: Pipfile
- id: trailing-whitespace
- repo: https://github.com/Yelp/detect-secrets
rev: v0.14.3
hooks:
- id: detect-secrets
- repo: https://github.com/adrienverge/yamllint
rev: v1.25.0
hooks:
- id: yamllint
- repo: https://github.com/amperser/proselint/
rev: 0.10.2
hooks:
- id: proselint
types: [plain-text]
exclude: LICENSE
- repo: https://github.com/ambv/black
rev: 20.8b1
hooks:
- id: black
args:
- |
--line-length=79
- repo: https://github.com/PyCQA/prospector
rev: 1.3.1
hooks:
- id: prospector
args:
- |-
--max-line-length=79
- |-
--with-tool=pyroma
- |-
--with-tool=bandit
- |-
--without-tool=pep257
- |-
--doc-warnings
- |-
--test-warnings
- |-
--full-pep8
- |-
--strictness=high
- |-
--no-autodetect
additional_dependencies:
- bandit
- pyroma
- repo: https://gitlab.com/pycqa/flake8.git
rev: 3.8.4
hooks:
- id: flake8
args:
- |-
--doctests
additional_dependencies:
- flake8-bugbear
- repo: https://github.com/executablebooks/mdformat.git
rev: 0.5.3
hooks:
- id: mdformat
- repo: https://git.shore.co.il/nimrod/docker-pre-commit.git/
rev: v0.3.0
hooks:
- id: hadolint
FROM registry.hub.docker.com/library/python:3.9-alpine3.13
WORKDIR /app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY * ./
EXPOSE 8080
ENV FORWARDED_ALLOW_IPS "*"
HEALTHCHECK CMD wget --spider --quiet http://localhost:8080/ping --user-agent 'Docker Healthcheck' || exit 1
CMD ["gunicorn", "--bind", "0.0.0.0:8080", "--log-file", "-", "--workers", "2", "app:app"]
# Nextcloud notifier
[![pipeline status](https://git.shore.co.il/nimrod/nextcloud-notifier/badges/master/pipeline.svg)](https://git.shore.co.il/nimrod/nextcloud-notifier/-/commits/master)
A simple web service to push notifications to me without authentication.
## Rationale
......
app.py 0 → 100644
"""Anonymous push notification service for Nextcloud."""
# pylint: disable=import-error
import os
import docker
from flask import Flask
from ruamel.yaml import YAML
app = Flask(__name__)
@app.route("/ping")
def ping():
"""Healthcheck."""
return "pong"
docker
flask
ruamel.yaml
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment