diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 76c421ea..e44a5cfa 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -26,6 +26,24 @@ sboms: documents: - '${artifact}.spdx.json' +nfpms: + - package_name: pgedge-control-plane + vendor: pgEdge + homepage: https://www.pgedge.com + maintainer: pgEdge Support + description: pgEdge Control Plane + license: PostgreSQL License + formats: + - rpm + bindir: /usr/sbin + contents: + - src: packaging/pgedge-control-plane.service + dst: /usr/lib/systemd/system/pgedge-control-plane.service + type: config + - src: packaging/config.json + dst: /etc/pgedge-control-plane/config.json + type: config|noreplace + release: github: owner: pgEdge diff --git a/packaging/config.json b/packaging/config.json new file mode 100644 index 00000000..223c5bb0 --- /dev/null +++ b/packaging/config.json @@ -0,0 +1,4 @@ +{ + "orchestrator": "systemd", + "data_dir": "/var/lib/pgedge-control-plane" +} diff --git a/packaging/pgedge-control-plane.service b/packaging/pgedge-control-plane.service new file mode 100644 index 00000000..909619e5 --- /dev/null +++ b/packaging/pgedge-control-plane.service @@ -0,0 +1,16 @@ +[Unit] +Description=pgEdge Control Plane +Documentation=https://docs.pgedge.com +After=network-online.target +Wants=network-online.target + +[Service] +Type=simple +ExecStart=/usr/sbin/pgedge-control-plane run --config-path /etc/pgedge-control-plane/config.json +Restart=on-failure +RestartSec=5s +StateDirectory=pgedge-control-plane +ConfigurationDirectory=pgedge-control-plane + +[Install] +WantedBy=multi-user.target