Compare commits

..

5 Commits

Author SHA1 Message Date
Frederik Ring
a01fc3df3f Conf files should expand env vars (#363) 2024-02-15 12:04:44 +01:00
Achim Krämer
37f9bd9a8f Add OCI labels to Docker images (#361)
*  add OCI labels, rework tagging

Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>

* re-implement existing tagging system

Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>

---------

Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>
2024-02-14 09:07:04 +01:00
Frederik Ring
fb4663b087 Also deploy docs when triggering workflow changes 2024-02-13 22:44:02 +01:00
Achim Krämer
0fe983dfcc 🚀 add path rule to workflow (#362)
Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>
2024-02-13 22:32:48 +01:00
Frederik Ring
5c8bc107de Remove stray log statement (#359) 2024-02-13 19:54:18 +01:00
6 changed files with 46 additions and 7 deletions

View File

@@ -3,6 +3,9 @@ name: Deploy Documenation site to GitHub Pages
on: on:
push: push:
branches: ['main'] branches: ['main']
paths:
- 'docs/**'
- '.github/workflows/deploy-docs.yml'
workflow_dispatch: workflow_dispatch:
permissions: permissions:

View File

@@ -15,6 +15,38 @@ jobs:
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: set Environment Variables
id: env
run: |
echo "NOW=$(date +'%F %Z %T')" >> $GITHUB_ENV
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
# list of Docker images to use as base name for tags
images: |
offen/docker-volume-backup
ghcr.io/offen/docker-volume-backup
# define global behaviour for tags
flavor: |
latest=false
# specify one tag which never gets set, to prevent the tag-attribute being empty, as it will fallback to a default
tags: |
# output v2.42.1-alpha.1 (incl. pre-releases)
type=semver,pattern=v{{version}},enable=false
labels: |
org.opencontainers.image.title=${{github.event.repository.name}}
org.opencontainers.image.description="Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox or SSH compatible storage"
org.opencontainers.image.vendor=${{github.repository_owner}}
org.opencontainers.image.licenses="MPL-2.0"
org.opencontainers.image.version=${{github.ref_name}}
org.opencontainers.image.created=${{ env.NOW }}
org.opencontainers.image.source=${{github.server_url}}/${{github.repository}}
org.opencontainers.image.revision=${{github.sha}}
org.opencontainers.image.url="https://offen.github.io/docker-volume-backup/"
org.opencontainers.image.documentation="https://offen.github.io/docker-volume-backup/"
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
@@ -35,7 +67,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract Docker tags - name: Extract Docker tags
id: meta id: tags
run: | run: |
version_tag="${{github.ref_name}}" version_tag="${{github.ref_name}}"
tags=($version_tag) tags=($version_tag)
@@ -51,9 +83,10 @@ jobs:
echo "releases=$releases" >> "$GITHUB_OUTPUT" echo "releases=$releases" >> "$GITHUB_OUTPUT"
- name: Build and push Docker images - name: Build and push Docker images
uses: docker/build-push-action@v4 uses: docker/build-push-action@v5
with: with:
context: . context: .
push: true push: true
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: ${{ steps.meta.outputs.releases }} tags: ${{ steps.tags.outputs.releases }}
labels: ${{ steps.meta.outputs.labels }}

View File

@@ -69,7 +69,11 @@ func loadEnvFiles(directory string) ([]configFile, error) {
continue continue
} }
p := filepath.Join(directory, item.Name()) p := filepath.Join(directory, item.Name())
envFile, err := godotenv.Read(p) f, err := os.ReadFile(p)
if err != nil {
return nil, fmt.Errorf("loadEnvFiles: error reading %s: %w", item.Name(), err)
}
envFile, err := godotenv.Unmarshal(os.ExpandEnv(string(f)))
if err != nil { if err != nil {
return nil, fmt.Errorf("loadEnvFiles: error reading config file %s: %w", p, err) return nil, fmt.Errorf("loadEnvFiles: error reading config file %s: %w", p, err)
} }

View File

@@ -89,7 +89,6 @@ func newScript(c *Config, envVars map[string]string) (*script, func() error, err
} else { } else {
_ = os.Setenv(currentKey, currentVal) _ = os.Setenv(currentKey, currentVal)
} }
s.logger.Info(fmt.Sprintf("unset %v: %v", currentKey, currentVal))
}(key, currentVal, currentOk) }(key, currentVal, currentOk)
if err := os.Setenv(key, value); err != nil { if err := os.Setenv(key, value); err != nil {
@@ -99,7 +98,6 @@ func newScript(c *Config, envVars map[string]string) (*script, func() error, err
err, err,
) )
} }
s.logger.Info(fmt.Sprintf("set %v: %v", key, value))
} }
s.registerHook(hookLevelPlumbing, func(error) error { s.registerHook(hookLevelPlumbing, func(error) error {
s.stats.EndTime = time.Now() s.stats.EndTime = time.Now()

View File

@@ -1,2 +1,2 @@
NAME="conf" NAME="$EXPANSION_VALUE"
BACKUP_CRON_EXPRESSION="*/1 * * * *" BACKUP_CRON_EXPRESSION="*/1 * * * *"

View File

@@ -7,6 +7,7 @@ services:
environment: environment:
BACKUP_FILENAME: $$NAME.tar.gz BACKUP_FILENAME: $$NAME.tar.gz
BACKUP_FILENAME_EXPAND: 'true' BACKUP_FILENAME_EXPAND: 'true'
EXPANSION_VALUE: conf
volumes: volumes:
- ${LOCAL_DIR:-./local}:/archive - ${LOCAL_DIR:-./local}:/archive
- app_data:/backup/app_data:ro - app_data:/backup/app_data:ro