pyenv-gunicorn-systemd-service-unit-file

Description

n/a

Variables

Name Type Default Description

app_module

string --

The app entry point. Required

gunicorn_config

string --

The gunicorn config. Required

user

string --

The user who owns/runs the virtualenv. Required

venv_name

string --

The name of the Pyenv virtualenv to use. Required

enabled

boolean --

Whether to enable the service.

group

string --

The group who owns/runs the virtualenv.

port

integer 8088

The port the gunicorn should listen to.

service_config

dict ordereddict()

A map of key/value-pairs to put into a '/etc/conf.d/' file.

This can be used in addition or instead of 'service_environment' and 'service_environment_file'. It is meant as a short-cut, to not have to create the config file (in '/etc/conf.d') in an extra step.

started

boolean --

Whether to start the service.

working_directory

string --

The working directory of the service.

Code

args:
  _import:
  - python-gunicorn-systemd-service-unit-file
  venv_name:
    doc:
      short_help: The name of the Pyenv virtualenv to use.
    type: string
    required: true
  app_module:
    doc:
      short_help: The app entry point.
    type: string
  project_config:
    doc:
      short_help: Environment variables to configure app.
    type: dict
    keyschema:
      type: string
    empty: true
    required: false
    default: {}
  working_directory:
    doc:
      short_help: The working directory of the service.
    type: string
    required: false
  port:
    doc:
      short_help: The port the gunicorn should listen to.
    type: integer
    required: false
    default: 8088
  user:
    doc:
      short_help: The user who owns/runs the virtualenv.
    type: string
    required: true
    cli:
      metavar: USER

frecklets:
- python-gunicorn-systemd-service-unit-file:
    service_name: '{{:: venv_name ::}}'
    venv_path: '/home/{{:: user ::}}/.pyenv/versions/{{:: venv_name ::}}'
    app_module: '{{:: app_module ::}}'
    service_config: '{{:: service_config ::}}'
    working_directory: '{{:: working_directory ::}}'
    gunicorn_config: '{{:: gunicorn_config ::}}'
    port: '{{:: port ::}}'
    user: '{{:: user ::}}'
    group: '{{:: group ::}}'
    enabled: '{{:: enabled ::}}'
    started: '{{:: started ::}}'
frecklecute pyenv-gunicorn-systemd-service-unit-file --help

Usage: frecklecute pyenv-gunicorn-systemd-service-unit-file 
           [OPTIONS]

  n/a

Options:
  --app-module APP_MODULE         The app entry point.  [required]
  --gunicorn-config GUNICORN_CONFIG
                                  The gunicorn config.  [required]
  --user USER                     The user who owns/runs the virtualenv.
                                  [required]
  --venv-name VENV_NAME           The name of the Pyenv virtualenv to use.
                                  [required]
  --enabled / --no-enabled        Whether to enable the service.
  --group GROUP                   The group who owns/runs the virtualenv.
  --port PORT                     The port the gunicorn should listen to.
  --service-config SERVICE_CONFIG
                                  Environment variables to configure the app.
  --started / --no-started        Whether to start the service.
  --working-directory WORKING_DIRECTORY
                                  The working directory of the service.
  --help                          Show this message and exit.
# -*- coding: utf-8 -*-


#
# module path: pycklets.pyenv_gunicorn_systemd_service_unit_file.PyenvGunicornSystemdServiceUnitFile
#


from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class PyenvGunicornSystemdServiceUnitFile(AutoPycklet):
    """No documentation available.

       Args:
         app_module: The app entry point.
         enabled: Whether to enable the service.
         group: The group who owns/runs the virtualenv.
         gunicorn_config: The gunicorn config.
         port: The port the gunicorn should listen to.
         service_config: Environment variables to configure the app.
         started: Whether to start the service.
         user: The user who owns/runs the virtualenv.
         venv_name: The name of the Pyenv virtualenv to use.
         working_directory: The working directory of the service.

    """

    FRECKLET_ID = "pyenv-gunicorn-systemd-service-unit-file"

    app_module: str = None
    enabled: bool = None
    group: str = None
    gunicorn_config: str = None
    port: int = None
    service_config: Dict = None
    started: bool = None
    user: str = None
    venv_name: str = None
    working_directory: str = None


    def __post_init__(self):
        super(PyenvGunicornSystemdServiceUnitFile, self).__init__(var_names=["app_module", "enabled", "group", "gunicorn_config", "port", "service_config", "started", "user", "venv_name", "working_directory"])


frecklet_class = PyenvGunicornSystemdServiceUnitFile
# -*- coding: utf-8 -*-


#
# module path: pycklets.pyenv_gunicorn_systemd_service_unit_file.PyenvGunicornSystemdServiceUnitFile
#


from pyckles import AutoPycklet

class PyenvGunicornSystemdServiceUnitFile(AutoPycklet):
    """No documentation available.

       Args:
         app_module: The app entry point.
         enabled: Whether to enable the service.
         group: The group who owns/runs the virtualenv.
         gunicorn_config: The gunicorn config.
         port: The port the gunicorn should listen to.
         service_config: Environment variables to configure the app.
         started: Whether to start the service.
         user: The user who owns/runs the virtualenv.
         venv_name: The name of the Pyenv virtualenv to use.
         working_directory: The working directory of the service.

    """

    FRECKLET_ID = "pyenv-gunicorn-systemd-service-unit-file"

    def __init__(self, app_module=None, enabled=None, group=None, gunicorn_config=None, port=8088, service_config=None, started=None, user=None, venv_name=None, working_directory=None):

        super(PyenvGunicornSystemdServiceUnitFile, self).__init__(var_names=["app_module", "enabled", "group", "gunicorn_config", "port", "service_config", "started", "user", "venv_name", "working_directory"])
        self._app_module = app_module
        self._enabled = enabled
        self._group = group
        self._gunicorn_config = gunicorn_config
        self._port = port
        self._service_config = service_config
        self._started = started
        self._user = user
        self._venv_name = venv_name
        self._working_directory = working_directory

    @property
    def app_module(self):
        return self._app_module

    @app_module.setter
    def app_module(self, app_module):
        self._app_module = app_module

    @property
    def enabled(self):
        return self._enabled

    @enabled.setter
    def enabled(self, enabled):
        self._enabled = enabled

    @property
    def group(self):
        return self._group

    @group.setter
    def group(self, group):
        self._group = group

    @property
    def gunicorn_config(self):
        return self._gunicorn_config

    @gunicorn_config.setter
    def gunicorn_config(self, gunicorn_config):
        self._gunicorn_config = gunicorn_config

    @property
    def port(self):
        return self._port

    @port.setter
    def port(self, port):
        self._port = port

    @property
    def service_config(self):
        return self._service_config

    @service_config.setter
    def service_config(self, service_config):
        self._service_config = service_config

    @property
    def started(self):
        return self._started

    @started.setter
    def started(self, started):
        self._started = started

    @property
    def user(self):
        return self._user

    @user.setter
    def user(self, user):
        self._user = user

    @property
    def venv_name(self):
        return self._venv_name

    @venv_name.setter
    def venv_name(self, venv_name):
        self._venv_name = venv_name

    @property
    def working_directory(self):
        return self._working_directory

    @working_directory.setter
    def working_directory(self, working_directory):
        self._working_directory = working_directory



frecklet_class = PyenvGunicornSystemdServiceUnitFile