contributions and running on self-infrastructure #25

Closed
opened 2022-12-12 00:46:07 +02:00 by Ghost · 7 comments

i recently learned about selfprivacy projekt. in testing it's very good. i research in the nixos, security, infrastructure, and cryptography space and would like to assist.

python is not my strong language but can help where needed. i also can speak and translate en, de, and ru.

what is the best way the deploy rest and storage api(s) to my private infrastructure to realize further architectual structure?

-sova

i recently learned about selfprivacy projekt. in testing it's very good. i research in the nixos, security, infrastructure, and cryptography space and would like to assist. python is not my strong language but can help where needed. i also can speak and translate en, de, and ru. what is the best way the deploy rest and storage api(s) to my private infrastructure to realize further architectual structure? -sova

Hi! If you only need an API, you may inspect the infection script and use our nixos config with the hand-crafted userdata files. You may want to adjust acme.nix to use another method of getting TLS certs.

Hi! If you only need an API, you may inspect the [infection script](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect/src/branch/providers/hetzner/nixos-infect) and use our [nixos config](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/src/branch/master) with the hand-crafted userdata files. You may want to adjust acme.nix to use another method of getting TLS certs.

thank you. yes, i wish to self-host the api behind proxy for end-to-end/smoke testing of changes as i go. i have some other ideas to make the api, ci, and infect more flexible within hetzner so i can post issues about it.

thank you. yes, i wish to self-host the api behind proxy for end-to-end/smoke testing of changes as i go. i have some other ideas to make the api, ci, and infect more flexible within hetzner so i can post issues about it.
Collaborator

this is great news, welcome!

this is great news, welcome!

@def @inex

what is best way to setup my own infrastructure to host the ci, api(s), so that i can mimic selfprivacy.org functionality? the code is open of course, but do you have some bootstrapping text to show how i can setup the api and ci so when i'm testing changeset i can test end to end from a forked version of android app?

thanks for allowing me to assist.

@def @inex what is best way to setup my own infrastructure to host the ci, api(s), so that i can mimic selfprivacy.org functionality? the code is open of course, but do you have some bootstrapping text to show how i can setup the api and ci so when i'm testing changeset i can test end to end from a forked version of android app? thanks for allowing me to assist.

Simulating our entire infrastructure is a big task, and we probably should write more documentation regarding it. You may want to start with a smaller scope. In a nutshell, the process is following:

  1. You fork our API, make relevant changes ( https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api )
  2. You fork our nix-repo and change the link, revision and ref to your fork https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nix-repo/src/branch/master/pkgs/selfprivacy-graphql-api/default.nix
  3. You fork our nixos-config. In configuration.nix change the overlay link to your fork of nix-repo. You may also make any changes you need. https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config
  4. You fork our infect script and change the link in git clone command to your nixos-config fork. https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect
  5. In app, change the link to the infection script in cloud-init payload. For Hetzner, it is here: https://git.selfprivacy.org/kherel/selfprivacy.org.app/src/branch/master/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart#L399
Simulating our entire infrastructure is a big task, and we probably should write more documentation regarding it. You may want to start with a smaller scope. In a nutshell, the process is following: 1. You fork our API, make relevant changes ( https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api ) 2. You fork our nix-repo and change the link, revision and ref to your fork https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nix-repo/src/branch/master/pkgs/selfprivacy-graphql-api/default.nix 3. You fork our nixos-config. In configuration.nix change the overlay link to your fork of nix-repo. You may also make any changes you need. https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config 4. You fork our infect script and change the link in git clone command to your nixos-config fork. https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect 5. In app, change the link to the infection script in cloud-init payload. For Hetzner, it is here: https://git.selfprivacy.org/kherel/selfprivacy.org.app/src/branch/master/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart#L399

@inex understood. since i posted the comment, i researched the different items required. i will bootstrap things and maybe reach out on tg or matrix.

if it serves the projekt purpose i can document as i self-bootstrap then make pr against docs.

@inex understood. since i posted the comment, i researched the different items required. i will bootstrap things and maybe reach out on tg or matrix. if it serves the projekt purpose i can document as i self-bootstrap then make pr against docs.

closing, thank you for interaction.

closing, thank you for interaction.
Ghost closed this issue 2022-12-17 00:49:30 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: SelfPrivacy/selfprivacy-rest-api#25
There is no content yet.