Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ PyHSS uses a queued microservices model. Each service performs a specific set of

The following services make up PyHSS:
- diameterService.py: Handles receiving and sending of diameter messages, and diameter client connection state.
- gsupService.py: Handles receiving and sending of GSUP messages to interact with 2G/3G Osmocom components.
- hssService.py: Provides decoding and encoding of diameter requests and responses, as well as logic to perform as a HSS.
- apiService.py: Provides the API, to allow management of PyHSS.
- georedService.py: Sends georaphic redundancy messages to geored peers when defined. Also handles webhook messages.
Expand Down
1 change: 1 addition & 0 deletions debian/pyhss.install
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# * pyhss_geored.service: disabled in the default config
# * pyhss_log.service: using systemd's journal instead
# * pyhss.service: meta-service making assumptions about what services are used
/systemd/pyhss_api.service /lib/systemd/system/
/systemd/pyhss_diameter.service /lib/systemd/system/
/systemd/pyhss_gsup.service /lib/systemd/system/
/systemd/pyhss_hss.service /lib/systemd/system/
Expand Down
4 changes: 4 additions & 0 deletions systemd/pyhss.service
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Legacy meta-service with possibly outdated assumptions on which database
# (mysql, default is now sqlite and postgres is also supported) and services
# (log and geored are typically not needed) are being used. Consider running
# individual services that you actually want to have in your setup instead.
[Unit]
Description=PyHSS
After=network-online.target mysql.service
Expand Down
3 changes: 3 additions & 0 deletions systemd/pyhss_api.service
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Optional HTTP server providing an API for managing PyHSS.
[Unit]
Description=PyHSS API Service
After=network.target
Requires=pyhss_hss.service
After=pyhss_hss.service

[Service]
Environment="PYTHONUNBUFFERED=1"
Expand Down
2 changes: 2 additions & 0 deletions systemd/pyhss_database.service
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Optional legacy service that may get removed in the future:
# https://github.com/nickvsnetworking/pyhss/issues/264
Comment thread
osmith42 marked this conversation as resolved.
[Unit]
Description=PyHSS Database Service
PartOf=pyhss.service
Expand Down
4 changes: 4 additions & 0 deletions systemd/pyhss_diameter.service
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Handling of receiving and sending of diameter messages, and diameter client
# connection state.
[Unit]
Description=PyHSS Diameter Service
PartOf=pyhss.service
Requires=pyhss_hss.service
After=pyhss_hss.service

[Service]
Environment="PYTHONUNBUFFERED=1"
Expand Down
2 changes: 2 additions & 0 deletions systemd/pyhss_geored.service
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Optional geographic redundancy service that may get removed in the future:
# https://github.com/nickvsnetworking/pyhss/issues/334
[Unit]
Description=PyHSS Geored Service
PartOf=pyhss.service
Expand Down
3 changes: 3 additions & 0 deletions systemd/pyhss_gsup.service
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Optional GSUP message handler for interacting with 2G/3G Osmocom components.
[Unit]
Description=PyHSS GSUP Service
PartOf=pyhss.service
Requires=pyhss_hss.service
After=pyhss_hss.service

[Service]
Environment="PYTHONUNBUFFERED=1"
Expand Down
5 changes: 5 additions & 0 deletions systemd/pyhss_hss.service
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# The main PyHSS service: Initializes the database, provides decoding and
# encoding of diameter requests and responses, as well as logic to perform as a
# HSS.
[Unit]
Description=PyHSS HSS Service
PartOf=pyhss.service
Requires=redis-server.service
After=redis-server.service

[Service]
Environment="PYTHONUNBUFFERED=1"
Expand Down
2 changes: 2 additions & 0 deletions systemd/pyhss_log.service
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Optional service for writing to log files. Consider reading logs through
# journalctl instead.
[Unit]
Description=PyHSS Log Service
PartOf=pyhss.service
Expand Down
3 changes: 3 additions & 0 deletions systemd/pyhss_metric.service
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Optional service for exposing prometheus metrics.
[Unit]
Description=PyHSS Metric Service
PartOf=pyhss.service
Requires=pyhss_hss.service
After=pyhss_hss.service

[Service]
Environment="PYTHONUNBUFFERED=1"
Expand Down