Commit Graph

84 Commits

Author SHA1 Message Date
dzmitry-lahoda
a997c1fccf
fix(postgres): include find in runtimeInputs of setup script (#340)
CI didn’t catch this earlier because `findutils` is part of `initialPath` in `stdenv`: c9e4eba8f1/pkgs/stdenv/generic/common-path.nix (L3)
2024-09-28 22:14:32 +05:30
Seggy Umboh
67f91ab407
fix(elasticsearch): Fixed permission to add to directories in elasticsearch plugins (#332)
We need to add the write permission to directories in elasticsearch
plugins, not execute, which they already have.

Sorry @shivaraj-bh this was a typo in my suggestion in #331
2024-09-24 01:26:19 +05:30
Shivaraj B H
5960a2c553
elasticsearch: copy plugins to dataDir (#331)
resolves #325

---------

Co-authored-by: Seggy Umboh <seg@seg.gy>
2024-09-19 00:08:59 +05:30
Seggy Umboh
c196208ff6
feat: Added memcached service (#314) 2024-09-08 11:46:48 +05:30
Shivaraj B H
e88a85265d
feat: Add max_restarts to all services to avoid restarting indefinitely (#311)
resolves #309
2024-09-04 17:00:56 +05:30
Pol Dellaiera
3e023c9df3
feat(tika): add enableOcr option (#275)
Following `nixpkgs` PR @ https://github.com/NixOS/nixpkgs/pull/327886,
this PR add the `enableOcr` option.
2024-07-22 03:06:13 +05:30
Pol Dellaiera
f041f87b27 feat(tika): init 2024-07-15 22:08:20 +05:30
Pol Dellaiera
e5c2e7cb1b chore(searxng): use http_get 2024-07-15 22:08:20 +05:30
Sridhar Ratnakumar
7200b458b5
refactor(fmt): group outputs options 2024-07-09 16:52:09 -04:00
Sridhar Ratnakumar
dfbf5ddf9e
refactor: keep options/config top-level 2024-07-09 16:49:49 -04:00
Sridhar Ratnakumar
b02b6c8025
refactor: Move services under ./nix/services (#262)
So as to distinguish from non-service files, like `./nix/lib.nix`.
2024-07-06 11:23:05 -04:00
shivaraj-bh
ea3a18a991 refactor: Do not repeat enable option 2024-07-05 23:35:35 +05:30
shivaraj-bh
dfcdbbca02 refactor: Do not repeat dataDir
chore: Elaborate description for `dataDir`

Co-authored-by: Sridhar Ratnakumar <3998+srid@users.noreply.github.com>
2024-07-05 23:35:35 +05:30
Sridhar Ratnakumar
d6d9cf2de1
feat: Allow overriding namespace + make default namespace fully qualified (#258)
**PR description**

- The user can now set `namespace` for the processes under each service
- Default namespace is now `${service}.${name}` (previously, just
`${name}`)


**Tasks**

- [x] Do this for postgres, to begin with.
- [x] Rest of the services


![image](https://github.com/juspay/services-flake/assets/3998/9ffea918-6481-42ad-ac47-cb5c1c81bd92)

After the user overrides it:

<img width="460" alt="image"
src="https://github.com/juspay/services-flake/assets/3998/da6fb51e-e39f-4c33-bb47-e6b7cfd8c2b5">

After the user overrides the local processes as well:

<img width="460" alt="image"
src="https://github.com/juspay/services-flake/assets/3998/ae493309-4449-4cde-b239-c6e234b9f8af">
2024-07-05 22:49:51 +05:30
Sridhar Ratnakumar
b713baa32b
docs(postgres): Fully document initialDatabases.schemas (#259)
cf.
dea27be987/nix/postgres/setup-script.nix (L11-L17)
2024-07-05 13:04:52 +05:30
shivaraj-bh
8145ba10cb fix(ollama): kernelPackages are irrelevant on non-NixOS distributions 2024-06-24 17:09:21 +05:30
Pol Dellaiera
f3098faecd
feat(searxng): init (#241) 2024-06-21 01:38:45 +05:30
shivaraj-bh
db7ab711d9 fix(ollama): Broken dataDir convention; Allow ENVs in dataDir
Easy to break the convention, see:
https://github.com/juspay/services-flake/issues/200

double-quotting in shell script prevents globbing:
https://www.shellcheck.net/wiki/SC2086
2024-06-14 03:11:07 +05:30
shivaraj-bh
e7eb9dec41 feat(open-webui): init
ported from:
https://github.com/shivaraj-bh/ollama-flake/blob/main/services/open-webui.nix

This was also recently upstreamed to
[nixpkgs](https://github.com/NixOS/nixpkgs/tree/master):
https://github.com/NixOS/nixpkgs/pull/316248

---------

Co-authored-by: Pol Dellaiera <pol.dellaiera@protonmail.com>
Co-authored-by: Sridhar Ratnakumar <3998+srid@users.noreply.github.com>
2024-06-14 03:11:07 +05:30
shivaraj-bh
d84efa4788 feat(ollama): init
ported from
https://github.com/shivaraj-bh/ollama-flake/blob/main/services/ollama.nix

Also see the nixos module:
https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/ollama.nix
2024-06-12 16:09:12 +05:30
Alex Pearwin
eb3bac5543
feat(grafana): add providers configuration (#211)
Addresses juspay/services-flake#210.

I've tested this by hand with configuration:

```nix
services.grafana."grafana" = {
  enable = true;
  providers = [
    {
      name = "Databases";
      type = "file";
      options = {
        path = ./dashboards;
        foldersFromFilesStructure = true;
      };
    }
  ];
};
```

I haven't looked into it, but it might be possible to extend the
existing Grafana test to check that a folder of dashboards is loaded.
2024-06-06 21:39:45 +05:30
shivaraj-bh
12e74823f4 fix(postgres): stop init on error in sql scripts
From psql docs (https://www.postgresql.org/docs/current/app-psql.html):

> psql returns 0 to the shell if it finished normally, 1 if a fatal
error of its own occurs (e.g., out of memory, file not found), 2 if the
connection to the server went bad and the session was not interactive,
and 3 if an error occurred in a script and the variable ON_ERROR_STOP
was set.

Also resolves https://github.com/juspay/services-flake/issues/107
2024-06-06 20:47:29 +05:30
Mahdi Seyedan
2fba2e0009
feat: Add Weaviate service (#195)
resolves #90
2024-05-28 12:30:40 +05:30
Tim
c6b5977f65
feat: add tempo service (#192) 2024-05-19 17:06:45 +05:30
Adam Szucs-Matyas
75a42b9e9e fix(nginx): link nginx.conf to dataDir (#173) 2024-05-09 21:56:38 +05:30
Adam Szucs-Matyas
c93d0ad98f chore(nginx): move nginx files to their own folder 2024-05-09 21:56:38 +05:30
Attila Ersek
dbb93b39ce feat(mysql): allow configuring socketDir on mysql. if not provided, uses dataDir as default. solves #171 2024-04-26 18:42:04 +05:30
Attila Ersek
b5d29b0734 chore(mysql): cover mysql importTimezones with tests 2024-04-24 14:29:24 +05:30
Attila Ersek
3082fcf5ca fix(mysql): use absolute socket path in configureTimezones. this fixes #169 2024-04-24 14:29:24 +05:30
John Hampton
4d363b6d22 test(postgres): set socketDir with empty listen_addresses
Test a postgres service with socketDir set and empty listen_addresses.
2024-04-14 08:57:42 +05:30
John Hampton
6c9b34f0b1 fix(postgres): fix pg_isready issue with empty listen_addresses
This commit resolves the issue where `pg_isready` would fail when
`socketDir` is set and `listen_addresses` is empty. `pg_isready` is now
modified to leverage `socketDir` when it is available.
2024-04-14 08:57:42 +05:30
Shivaraj B H
04b5f77604
fix(grafana): add coreutils as runtimeInput for the startScript (#164)
`readlink` shipped by default in macOS doesn't support `-m` flag
2024-04-11 00:42:46 +05:30
Javier Pollak
8d390cb955
fix(pgadmin): Fix pgadmin scripts on MacOS (#163)
`readlink -m` is invalid on mac. Added coreutils as a runtime input for darwin.
2024-04-11 00:31:33 +05:30
shivaraj-bh
423b85482d refactor(deprecation): replace types.string with types.str
see https://github.com/NixOS/nixpkgs/pull/66346
2024-03-29 21:20:23 +05:30
shivaraj-bh
ecc409436c chore(postgres): default value for listen_addresses is already localhost
This is true after https://github.com/juspay/services-flake/pull/160
2024-03-27 12:43:35 +05:30
Shivaraj B H
18d5c1d168
fix(postgres): empty socketDir by default (#160)
resolves #139 

> empty `unix_socket_directories` means not listening on any Unix-domain sockets, in which case only TCP/IP sockets can be used to connect to the server.

see: https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-UNIX-SOCKET-DIRECTORIES

* use TCP/IP by default for health check
2024-03-26 18:44:11 +05:30
Shivaraj B H
819ab20e8e
refactor: writeShellScriptBin -> writeShellApplication (#155)
Provides us with following benefits:
- use `runtimeInputs` instead of manually exporting `PATH`
- get shellcheck by default

---------

Co-authored-by: Sridhar Ratnakumar <3998+srid@users.noreply.github.com>
2024-03-19 01:47:25 +05:30
Shivaraj B H
f158353b59
fix(mysql)!: look for *.sql files in the top-level schema directory (#154)
* mysql service would assume that all the `*.sql` files in the directory, provided by `initialDatabases [{ schema = <directory>; … }]`, exists in a folder named [mysql-databases](291e7be83a/nix/mysql.nix (L239-L241)), after this change it would just look for all the `*.sql` files in the top-level schema directory.
* add tests
2024-03-18 22:32:08 +05:30
Shivaraj B H
18f9decf13
refactor(postgres): replace string argument with attrset for connectionURI (#146)
for justification, see:
https://github.com/juspay/services-flake/pull/143#discussion_r1521290361
2024-03-13 00:40:13 +05:30
Shivaraj B H
8c25972cfb
feat(postgres): add connectionURI option (#143)
resolves #141
2024-03-12 14:24:28 +05:30
Abhishek Singh
e0a1074f8a
bump: update flake lock (#117)
* fix: pgadmin-init

in pgadmin-8.2, the command to setup configuration db is `setup-db`

* fix: add grafana overlay
grafana 10.3.3 from upstream nixpkgs doesn’t work in darwin

* chore: free up space in ubuntu-latest

---------

Co-authored-by: shivaraj-bh <sbh69840@gmail.com>
2024-03-06 16:55:00 +05:30
Abhishek Singh
6aeb0eafe6
cassandra: init service (#116)
* cassandra: init service

* cassandra: add cassandra/conf files

* cassandra_test: change package to cassandra_4

* update readiness_probe

* update cassandra_test

* cassandra: add doc

* cassandra_4 doesn't require python-2

---------

Co-authored-by: shivaraj-bh <sbh69840@gmail.com>
2024-03-03 16:07:36 +05:30
Abhishek Singh
5e48c5a965
add pgAdmin service (#115) 2024-02-29 18:10:22 +05:30
Abhishek Singh
bdd6dde41a
add prometheus service (#114)
* prometheus: init service

* prometheus: add doc

* prometheus: update doc
2024-02-28 11:00:52 +05:30
Shivaraj B H
65ebef12e5
clickhouse: fix test regression (#109) 2024-02-27 19:35:08 +05:30
Abhishek Singh
ef2f930e1a
clickhouse: use lib.recursiveUpdate to deep merge extraConfig (#110) 2024-02-22 22:32:52 +05:30
Abhishek Singh
625f207034
add grafana service (#108) 2024-02-22 22:25:51 +05:30
Adrian
f8cd3fbcb5
postgres init: use -U ${config.superuser} with psql if superuser != null (#106) 2024-02-21 23:36:56 +05:30
Abhishek Singh
76beca31cc
change clickhouse extraConfig type to yaml (#99)
* change clickhouse `extraConfig` type to yaml

* update clickhouse doc
2024-02-19 11:08:14 +05:30
Shivaraj B H
7593351c71
Mysql: add initialScript option (#98)
—

Co-authored-by: rsrohitsingh682 <rsrohitsingh682@gmail.com>
2024-02-15 16:36:18 +05:30