gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-deployment] 01/02: fix everything


From: gnunet
Subject: [taler-deployment] 01/02: fix everything
Date: Sun, 21 Apr 2024 17:58:13 +0200

This is an automated email from the git hooks/post-receive script.

nora-grothoff pushed a commit to branch master
in repository deployment.

commit 0e4fd4ffaf89a4501afe3c954966557990c0c583
Author: Nullptrderef <nullptrderef@proton.me>
AuthorDate: Sun Apr 21 17:55:51 2024 +0200

    fix everything
---
 packaging/docker-alpine/.gitignore                 |  3 +
 packaging/docker-alpine/Makefile                   |  5 +-
 packaging/docker-alpine/README.anastasis.md        | 77 ++++++++++++++++++++++
 packaging/docker-alpine/anastasis-compose.yml      | 38 +++++++++++
 packaging/docker-alpine/anastasis.Containerfile    |  6 +-
 .../build-files/anastasis-entrypoint.sh            |  7 +-
 packaging/docker-alpine/contrib/clean.sh           |  3 +
 packaging/docker-alpine/contrib/publish.sh         | 10 +++
 8 files changed, 145 insertions(+), 4 deletions(-)

diff --git a/packaging/docker-alpine/.gitignore 
b/packaging/docker-alpine/.gitignore
new file mode 100644
index 0000000..8135b62
--- /dev/null
+++ b/packaging/docker-alpine/.gitignore
@@ -0,0 +1,3 @@
+.env
+anastasis-data
+anastasis-config
diff --git a/packaging/docker-alpine/Makefile b/packaging/docker-alpine/Makefile
index b240d7b..4fbc4e2 100644
--- a/packaging/docker-alpine/Makefile
+++ b/packaging/docker-alpine/Makefile
@@ -40,6 +40,9 @@ build-anastasis: build-anastasis-builder
        ./contrib/build-image.sh $(author) anastasis anastasis
 
 clean:
-       docker rm $(docker image ls -a | awk '{print $1 " " $3}' | awk 'NR > 1' 
| grep taler-alpine-imaging/ | awk '{print $2}')
+       ./contrib/clean.sh
+
+publish:
+       ./contrib/publish.sh $(author)
 
 build: build-builder build-libmicrohttpd build-libgnunet 
build-libtalerexchange build-libtalermerchant build-anastasis
diff --git a/packaging/docker-alpine/README.anastasis.md 
b/packaging/docker-alpine/README.anastasis.md
new file mode 100644
index 0000000..c241982
--- /dev/null
+++ b/packaging/docker-alpine/README.anastasis.md
@@ -0,0 +1,77 @@
+# nullptrderef/anastasis
+
+An [Anastasis](https://anastasis.lu) Image
+
+## Tags
+
+- 
[latest](https://hub.docker.com/repository/docker/nullptrderef/anastasis/tags?page=&page_size=&ordering=&name=latest):
 An image built form [Anastasis Master](https://git.taler.net/anastasis.git) at 
some point in time, hopefully recently.
+- 
[builder](https://hub.docker.com/repository/docker/nullptrderef/anastasis/tags?page=&page_size=&ordering=&name=builder):
 The image used to build `latest`'s binaries.
+
+## Usage
+
+The Image exposes a `/etc/anastasis` volume, which contains the anastasis 
configuration. By default, Anastasis listens on port `9977` in the container, 
however this behaviour can natuarlly be changed.
+
+### Docker CLI
+
+An example usage via the docker CLI may look like:
+
+`docker run -d -v './anastasis-config:/etc/anastasis' -p '127.0.0.1:9977:9977' 
nullptrderef/anastasis:latest`
+
+### Docker Compose
+
+```yml
+services:
+  database:
+    container_name: anastasis-db
+    image: postgres:alpine
+    hostname: database
+    ports:
+      - 127.0.0.1:15432:5432
+    networks:
+      anastasis-pg-net:
+        ipv4_address: 172.168.111.10
+    environment:
+      - POSTGRES_DB=postgres
+      - POSTGRES_USERNAME=postgres
+      - POSTGRES_PASSWORD=password
+      - PGDATA=/var/lib/postgresql/data/
+    volumes:
+      - ./anastasis-data/:/var/lib/postgresql/data/:rw
+
+  anastasis:
+    container_name: anastasis
+    image: nullptrderef/anastasis:latest
+    depends_on:
+      - database
+    networks:
+      - anastasis-pg-net
+    ports:
+      - 127.0.0.1:9977:9977
+    volumes:
+      - ./anastasis-config:/etc/anastasis
+    command: sh -c "while true; do sleep 1; done"
+
+networks:
+  anastasis-pg-net:
+    driver: bridge
+    ipam:
+      driver: default
+      config:
+        - subnet: "172.168.111.0/24"
+```
+
+(Change the password ofc)
+
+### First Execution
+
+Upon first execution, it will exit before getting anywhere, as you'll need to 
edit the configuation to specify the correct postgres URL.
+
+The config file is created on this first execution.
+
+## Source
+
+This image was packaged from 
[deployment.git:packaging/docker-alpine](https://git.taler.net/deployment.git/tree/packaging/docker-alpine).
 It is licensed under the AGPL-3.0-ONLY
+
+```
+
+```
diff --git a/packaging/docker-alpine/anastasis-compose.yml 
b/packaging/docker-alpine/anastasis-compose.yml
new file mode 100644
index 0000000..fc90745
--- /dev/null
+++ b/packaging/docker-alpine/anastasis-compose.yml
@@ -0,0 +1,38 @@
+services:
+  database:
+    container_name: anastasis-db
+    image: postgres:alpine
+    hostname: database
+    ports:
+      - 127.0.0.1:15432:5432
+    networks:
+      anastasis-pg-net:
+        ipv4_address: 172.168.111.10
+    environment:
+      - POSTGRES_DB=postgres
+      - POSTGRES_USERNAME=postgres
+      - POSTGRES_PASSWORD=password
+      - PGDATA=/var/lib/postgresql/data/
+    volumes:
+      - ./anastasis-data/:/var/lib/postgresql/data/:rw
+
+  anastasis:
+    container_name: anastasis
+    image: nullptrderef/anastasis:latest
+    depends_on:
+      - database
+    networks:
+      - anastasis-pg-net
+    ports:
+      - 127.0.0.1:9977:9977
+    volumes:
+      - ./anastasis-config:/etc/anastasis
+    command: sh -c "while true; do sleep 1; done"
+
+networks:
+  anastasis-pg-net:
+    driver: bridge
+    ipam:
+      driver: default
+      config:
+        - subnet: "172.168.111.0/24"
diff --git a/packaging/docker-alpine/anastasis.Containerfile 
b/packaging/docker-alpine/anastasis.Containerfile
index e733355..875bfd4 100644
--- a/packaging/docker-alpine/anastasis.Containerfile
+++ b/packaging/docker-alpine/anastasis.Containerfile
@@ -4,7 +4,11 @@ COPY ./build-files/anastasis-entrypoint.sh 
/prefix/usr/bin/anastasis-docker-entr
 FROM taler-alpine-imaging/libtalermerchant:latest
 COPY --from=builder /prefix/* /
 
-VOLUME [ "/data", "/etc/anastasis" ]
+VOLUME [ "/etc/anastasis" ]
 EXPOSE 9977
 
 CMD [ "anastasis-docker-entrypoint" ]
+
+LABEL org.opencontainers.image.title="Anastasis"
+LABEL org.opencontainers.image.description="A 'keep-your-own-key' 
crypto-custody solution with password-less key recovery via multi-factor 
multi-party authentication."
+LABEL 
org.opencontainers.image.documentation="https://git.taler.net/deployment.git/tree/packaging/docker-alpine/README.anastasis.md";
diff --git a/packaging/docker-alpine/build-files/anastasis-entrypoint.sh 
b/packaging/docker-alpine/build-files/anastasis-entrypoint.sh
index e33f297..ec72716 100755
--- a/packaging/docker-alpine/build-files/anastasis-entrypoint.sh
+++ b/packaging/docker-alpine/build-files/anastasis-entrypoint.sh
@@ -21,11 +21,14 @@ if ! [ -f "/etc/anastasis/anastasis.conf" ]; then
   echo '[anastasis]
 SERVE = tcp
 PORT = 9977
+DB = postgres
 
 [stasis-postgres]
-CONFIG = postgres://user:pass@192.168.1.123/db
-' > 
+CONFIG = postgres://admin:password@172.168.111.10:5432/postgres
+' > /etc/anastasis/anastasis.conf
 fi;
 
+set -ax
+
 anastasis-dbinit -c /etc/anastasis/anastasis.conf
 anastasis-httpd -c /etc/anastasis/anastasis.conf $@
diff --git a/packaging/docker-alpine/contrib/clean.sh 
b/packaging/docker-alpine/contrib/clean.sh
new file mode 100755
index 0000000..94c8414
--- /dev/null
+++ b/packaging/docker-alpine/contrib/clean.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+set -eax
+docker image rm $(docker image ls -a | awk '{print $1 " " $3}' | awk 'NR > 1' 
| grep taler-alpine-imaging/ | awk '{print $2}') --force
diff --git a/packaging/docker-alpine/contrib/publish.sh 
b/packaging/docker-alpine/contrib/publish.sh
new file mode 100755
index 0000000..a824b9f
--- /dev/null
+++ b/packaging/docker-alpine/contrib/publish.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+set -e
+AUTHOR="$1";
+IMAGES="$(docker image ls -a | awk '{print $1 ":" $2 " " $3}' | awk 'NR > 1' | 
grep "$AUTHOR/")"
+echo "Pushing Images:
+$IMAGES"
+while IFS= read -r IMAGE; do
+  awk '{print "Deploying " $1 " (" $2 ") ..."}' <<< "$IMAGE"
+  docker push $(awk '{print $1}' <<< "$IMAGE")
+done <<< "$IMAGES"
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]