2.4 KiB
hsadminNg Development
Setting up the Development Environment
PostgreSQL Server
So far the spike contains almost only PostgreSQL Code. All you need so far, is a PostgreSQL database, for now with full admin rights. The easiest way to set it up is using docker:
Initially, pull an image compatible to current PostgreSQL version of Hostsharing:
docker pull postgres:13.7-bullseye
Create and run a container with the given PostgreSQL version:
docker run --name hsadmin-ng-postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres:13.7-bullseye
To check if the PostgreSQL container is running, the following command should list a container with the name "hsadmin-ng-postgres":
docker container ls
Stop the PostgreSQL container:
docker stop hsadmin-ng-postgres
Start the PostgreSQL container again:
docker container start hsadmin-ng-postgres
Remove the PostgreSQL container:
docker rm hsadmin-ng-postgres
After the PostgreSQL container is removed, you need to create it again as shown in "Create and run ..." above.
Given the container is running, to create a backup in ~/backup, run:
docker exec -i hsadmin-ng-postgres /usr/bin/pg_dump --clean --create -U postgres postgres | gzip -9 > ~/backup/hsadmin-ng-postgres2.sql.gz
Again, given the container is running, to restore the backup from ~/backup, run:
gunzip --stdout --keep ~/backup/hsadmin-ng-postgres.sql.gz | docker exec -i hsadmin-ng-postgres psql -U postgres -d postgres
Markdown with PlantUML plugin
Can you see the following diagram?
@startuml
me -> you: Can you see this diagram?
you -> me: Sorry, I don't :-(
me -> you: Install some tooling!
@enduml
If not, you need to install some tooling.
for IntelliJ IDEA (or derived products)
You just need the bundled Markdown plugin enabled and install and activate the PlantUML plugin in its settings:
jetbrains://idea/settings?name=Languages+%26+Frameworks--Markdown
You might also need to install Graphviz on your operating system. For Debian-based Linux systems this might work:
sudo apt install graphviz
Ubuntu Linux command line
sudo apt-get install pandoc texlive-latex-base texlive-fonts-recommended texlive-extra-utils texlive-latex-extra pandoc-plantuml-filter
pandoc --filter pandoc-plantuml rbac.md -o rbac.pdf
for other IDEs / operating systems
If you have figured out how it works, please add instructions above this section.