Compare commits

..

3 Commits

Author SHA1 Message Date
3152096ed0
chore: added links to project websites11309875
Some checks reported errors
continuous-integration/drone Build was killed
2024-08-16 20:31:09 +02:00
824be1793c
chore: a basic readme for the client container 2024-08-16 20:24:33 +02:00
3a008c1595
feat: support setting amanda config by env variable
closes #51
2024-08-16 20:08:35 +02:00
2 changed files with 67 additions and 4 deletions

58
client/README.md Normal file
View File

@ -0,0 +1,58 @@
# amanda-client
## DESCRIPTION
A container for running an amanda-client of the [Amanda](https://amanda.org] project
within a containerized environment. This image is based on Debian:stable-slim.
The image contains the minimal set of tools to run amanda-client and the client
software is compiled from the latest stable release available at the time of build.
The container starts an inetd daemon that listens for connections and starts the amanda-client.
It is **always** running as the user *backup*. This can not be changed at runtime only by
creating an image of your own.
## Authentication
This container only supports authentication via SSL certificates.
**The container does not create any certificates**
Certificates have to be provided by mounting a volume containing the certificate and key files:
- mount the ca certificate file as `/usr/local/etc/amanda/ssl/CA/crt.pem`
- mount the client certificate file as `/usr/local/etc/amanda/ssl/me/crt.pem`
- mount the client key file as `/usr/local/etc/amanda/ssl/me/private/key.pem`
Amanda also requires an authorization file which amanda-servers are allowed to connect to each client.
- mount an amandahosts file as `/var/backups/amandahosts`
A Typical amandahosts file looks like this:
'''
amanda-server-kslave-amd6401.amanda.svc.cluster.local backup noop, selfcheck, sendsize, sendbackup, amdump
'''
## USAGE
You have to mount all volumes which should be backupd by Amanda into the container. For kubernetes
you have to run one amanda-client container per namespace and mount all PhysicalVolumeClaims for that namespace into the container.
The path to this PVC has to be used within the amanda-servers disklist.
There are no environment variables for running the client. You just mount all the required
files and start the container.
## Project Websites
- [Issues & Roadmap](https://rm.byterazor.de/projects/kumanda)
- [Git Repository](https://gitea.federationhq.de/Kubernetes/Kumanda)
## Authors
- Dominik Meyer <dmeyer@federationhq.de>
## License
GPLv3

View File

@ -1,8 +1,13 @@
#!/bin/bash #!/bin/bash
amcleanup -k server if [ -z ${AMANDA_CONFIG} ]; then
amcheck server echo "it set best practise to set the AMANDA_CONFIG environment variable"
amdump server AMANDA_CONFIG="server"
amstatus server fi
amcleanup -k ${AMANDA_CONFIG}
amcheck ${AMANDA_CONFIG}
amdump ${AMANDA_CONFIG}
amstatus ${AMANDA_CONFIG}
exit 0 exit 0