[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.