1
0
Fork 0

Add environment variables to stack and development files
ci/woodpecker/push/woodpecker Pipeline failed Details

This commit is contained in:
Leopere 2025-04-23 11:04:53 -04:00
parent 3ee83e344e
commit 50f6ee3c07
16 changed files with 409 additions and 193 deletions

View File

@ -3,3 +3,43 @@ description:
globs:
alwaysApply: false
---
<!-- build 0 -->
# Git Workflow
This document describes the standard git workflow for this project.
## Commit Guidelines
1. Use descriptive commit messages
2. Use 'FIXUP:' prefix for quick fixes to existing code
3. Add 'HOTFIX:' prefix for emergency fixes
4. Document significant changes in your commit message
## Efficient Git Commands
Always use the one-liner command to save time when committing changes:
```bash
git add . && git commit -m "Your message here" && git push
```
### Fixing Previous Commits
When fixing issues in previous commits, use the FIXUP prefix:
```bash
git add . && git commit -m "FIXUP: Brief description of the fix" && git push
```
## Branch Strategy
- `main` - Main development branch
- `staging` - For staging environment testing
- `production` - Production-ready code
## Quick Reference
Common patterns:
- New feature: `git add . && git commit -m "Add new feature X" && git push`
- Bug fix: `git add . && git commit -m "FIXUP: Fix issue with X" && git push`
- Emergency: `git add . && git commit -m "HOTFIX: Resolve critical issue X" && git push`

View File

@ -1,3 +1,4 @@
<!-- build 0 -->
# Template Project
This is a template project that follows a standardized structure for Docker-based applications.

View File

@ -2,28 +2,28 @@
services:
template:
build:
context: ./docker/template
dockerfile: Dockerfile
context: ./docker/easy-appointments
dockerfile: Dockerfile.staging
image: template:dev
environment:
BASE_URL: "http://localhost"
DEBUG_MODE: "TRUE"
DB_HOST: "mariadb"
DB_NAME: "easyappointments"
DB_USERNAME: "root"
DB_PASSWORD: "secret"
volumes:
- ./docker/template/src:/scratch
- ./docker/easy-appointments/src:/scratch
- ./temp:/temp
networks:
- dev_network
ports:
- "8080:80"
# Add any additional services you need here
# Example:
# db:
# image: postgres:14
# environment:
# - POSTGRES_PASSWORD=postgres
# - POSTGRES_USER=postgres
# - POSTGRES_DB=template
# volumes:
# - ./temp/postgres-data:/var/lib/postgresql/data
# networks:
# - dev_network
mariadb:
build:
context: ./docker/mariadb
dockerfile: Dockerfile.staging
image: git.nixc.us/nixius/template:staging-mariadb
networks:
dev_network:
driver: bridge
- dev_network

View File

@ -2,6 +2,12 @@
services:
template:
build:
context: ./docker/template
context: ./docker/easy-appointments
dockerfile: Dockerfile.production
image: git.nixc.us/nixius/template:production
image: git.nixc.us/nixius/easy-appointments:production
mariadb:
build:
context: ./docker/mariadb
dockerfile: Dockerfile.production
image: git.nixc.us/nixius/easy-appointments:production-mariadb

View File

@ -2,6 +2,12 @@
services:
template:
build:
context: ./docker/template
context: ./docker/easy-appointments
dockerfile: Dockerfile.staging
image: git.nixc.us/colin/template:staging
image: git.nixc.us/colin/easy-appointments:staging
mariadb:
build:
context: ./docker/mariadb
dockerfile: Dockerfile.staging
image: git.nixc.us/colin/easy-appointments:staging-mariadb

View File

@ -2,9 +2,15 @@
services:
template:
build:
context: ./docker/template
dockerfile: Dockerfile
context: ./docker/easy-appointments
dockerfile: Dockerfile.staging
image: template:test
volumes:
- ./docker/template/src:/scratch
- ./docker/easy-appointments/src:/scratch
- ./temp:/temp
mariadb:
build:
context: ./docker/mariadb
dockerfile: Dockerfile.staging
image: git.nixc.us/nixius/template:staging-mariadb

View File

@ -0,0 +1 @@
FROM git.nixc.us/nixius/template:staging-mariadb

View File

@ -0,0 +1 @@
FROM mariadb:10.5

View File

View File

@ -1,10 +1,11 @@
networks:
traefik:
external: true
default:
services:
template:
image: git.nixc.us/nixius/template:production
easy-appointments:
image: git.nixc.us/nixius/easy-appointments:production
deploy:
replicas: 1
restart_policy:
@ -20,52 +21,36 @@ services:
order: stop-first
networks:
- traefik
- default
labels:
- traefik.enable=true
- traefik.http.routers.production_template.rule=Host(`template.nixc.us`)
- traefik.http.routers.production_template.entrypoints=websecure
- traefik.http.routers.production_template.tls=true
- traefik.http.routers.production_template.tls.certresolver=letsencryptresolver
- traefik.http.services.production_template.loadbalancer.server.port=3000
# - traefik.http.services.production_template.loadbalancer.healthcheck.path=/health
# - traefik.http.services.production_template.loadbalancer.healthcheck.interval=30s
# - traefik.http.services.production_template.loadbalancer.healthcheck.timeout=5s
- traefik.http.routers.production_template.middlewares=secure-headers
- traefik.http.routers.production_easy-appointments.rule=Host(`easy-appointments.colinknapp.com`)
- traefik.http.routers.production_easy-appointments.entrypoints=websecure
- traefik.http.routers.production_easy-appointments.tls=true
- traefik.http.routers.production_easy-appointments.tls.certresolver=letsencryptresolver
- traefik.http.services.production_easy-appointments.loadbalancer.server.port=80
# - traefik.http.services.production_easy-appointments.loadbalancer.healthcheck.path=/health
# - traefik.http.services.production_easy-appointments.loadbalancer.healthcheck.interval=30s
# - traefik.http.services.production_easy-appointments.loadbalancer.healthcheck.timeout=5s
- traefik.http.routers.production_easy-appointments.middlewares=secure-headers
midtownplaydio:
image: git.nixc.us/nixius/midtownplaydio:production
networks:
- traefik
mariadb:
image: git.nixc.us/nixius/mariadb:production
deploy:
replicas: 1
placement:
constraints:
- node.hostname == macmini1
# update_config:
# delay: 0s
# parallelism: 2
# order: start-first
labels:
traefik.enable: "true"
traefik.http.routers.production_midtownplaydio.rule: "Host(`midtownplaydio.nixc.us`)"
traefik.http.routers.production_midtownplaydio.entrypoints: "websecure"
traefik.http.routers.production_midtownplaydio.tls: "true"
traefik.http.routers.production_midtownplaydio.tls.certresolver: "letsencryptresolver"
traefik.http.routers.production_midtownplaydio.middlewares: "secure-headers"
traefik.http.services.production_midtownplaydio.loadbalancer.server.port: "3000"
traefik.docker.network: "traefik"
# traefik.http.services.production_midtownplaydio.loadbalancer.healthcheck.path: "/health"
# traefik.http.services.production_midtownplaydio.loadbalancer.healthcheck.interval: "30s"
# traefik.http.services.production_midtownplaydio.loadbalancer.healthcheck.timeout: "5s"
# Security headers middleware
traefik.http.middlewares.secure-headers.headers.stsSeconds: 63072000
traefik.http.middlewares.secure-headers.headers.stsIncludeSubdomains: "true"
traefik.http.middlewares.secure-headers.headers.stsPreload: "true"
traefik.http.middlewares.secure-headers.headers.forceSTSHeader: "true"
traefik.http.middlewares.secure-headers.headers.frameDeny: "true"
traefik.http.middlewares.secure-headers.headers.contentTypeNosniff: "true"
traefik.http.middlewares.secure-headers.headers.browserXssFilter: "true"
traefik.http.middlewares.secure-headers.headers.referrerPolicy: "no-referrer"
traefik.http.middlewares.secure-headers.headers.featurePolicy: "camera 'none'; geolocation 'none'; microphone 'none'; payment 'none'; usb 'none'; vr 'none'"
restart_policy:
condition: on-failure
max_attempts: 3
environment:
- MARIADB_ROOT_PASSWORD=secret
- MARIADB_DATABASE=easyappointments
networks:
- default
volumes:
- mariadb_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MARIADB_ROOT_PASSWORD"]
interval: 10s
retries: 5
start_period: 30s
timeout: 5s

View File

@ -5,7 +5,7 @@ networks:
services:
template:
image: git.nixc.us/nixius/template:staging
image: git.nixc.us/nixius/easy-appointments:staging
deploy:
replicas: 1
restart_policy:
@ -19,15 +19,44 @@ services:
parallelism: 1
delay: 10s
order: stop-first
environment:
BASE_URL: "https://staging.cal.colinknapp.com"
DEBUG_MODE: "FALSE"
DB_HOST: "mariadb"
DB_NAME: "easyappointments"
DB_USERNAME: "root"
DB_PASSWORD: "secret"
networks:
- traefik
- default
labels:
- traefik.enable=true
- traefik.http.routers.staging_template.rule=Host(`staging.template.nixc.us`)
- traefik.http.routers.staging_template.entrypoints=websecure
- traefik.http.routers.staging_template.tls=true
- traefik.http.routers.staging_template.tls.certresolver=letsencryptresolver
- traefik.http.services.staging_template.loadbalancer.server.port=3000
# - traefik.http.services.staging_template.loadbalancer.healthcheck.path=/health
# - traefik.http.services.staging_template.loadbalancer.healthcheck.interval=30s
# - traefik.http.services.staging_template.loadbalancer.healthcheck.timeout=5s
- traefik.http.routers.staging_easy-appointments.rule=Host(`staging.cal.colinknapp.com`)
- traefik.http.routers.staging_easy-appointments.entrypoints=websecure
- traefik.http.routers.staging_easy-appointments.tls=true
- traefik.http.routers.staging_easy-appointments.tls.certresolver=letsencryptresolver
- traefik.http.services.staging_easy-appointments.loadbalancer.server.port=80
mariadb:
image: git.nixc.us/nixius/easy-appointments:staging-mariadb
deploy:
replicas: 1
restart_policy:
condition: on-failure
max_attempts: 3
environment:
- MARIADB_ROOT_PASSWORD=secret
- MARIADB_DATABASE=easyappointments
networks:
- default
volumes:
- mariadb_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MARIADB_ROOT_PASSWORD"]
interval: 10s
retries: 5
start_period: 30s
timeout: 5s
volumes:
mariadb_data:

View File

@ -1,106 +1,206 @@
Build started at Wed Apr 23 10:27:39 EDT 2025
Build started at Wed Apr 23 10:57:52 EDT 2025
Building Docker images...
#0 building with "desktop-linux" instance using docker driver
#1 [template internal] load build definition from Dockerfile
#1 transferring dockerfile: 279B done
#1 [mariadb internal] load build definition from Dockerfile.staging
#1 transferring dockerfile: 100B done
#1 DONE 0.0s
#2 [template internal] load metadata for docker.io/library/alpine:3.18
#2 DONE 4.5s
#2 [template internal] load build definition from Dockerfile.staging
#2 transferring dockerfile: 287B done
#2 DONE 0.0s
#3 [template internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.0s
#3 [mariadb internal] load metadata for docker.io/library/mariadb:10.5
#3 ...
#4 [template 1/3] FROM docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f
#4 resolve docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f 0.0s done
#4 sha256:95459497489f07b9d71d294c852a09f9bbf1af51bb35db752a31f6f48935e293 0B / 3.34MB 0.2s
#4 sha256:95459497489f07b9d71d294c852a09f9bbf1af51bb35db752a31f6f48935e293 1.05MB / 3.34MB 0.3s
#4 sha256:95459497489f07b9d71d294c852a09f9bbf1af51bb35db752a31f6f48935e293 3.34MB / 3.34MB 0.4s done
#4 extracting sha256:95459497489f07b9d71d294c852a09f9bbf1af51bb35db752a31f6f48935e293 0.1s done
#4 DONE 0.5s
#4 [template internal] load metadata for docker.io/library/alpine:3.18
#4 DONE 0.6s
#5 [template 2/3] RUN mkdir -p /scratch /temp
#5 DONE 0.2s
#5 [template internal] load .dockerignore
#5 transferring context: 2B done
#5 DONE 0.0s
#6 [template 3/3] WORKDIR /scratch
#6 [template 1/3] FROM docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f
#6 resolve docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f done
#6 DONE 0.0s
#7 [template] exporting to image
#7 exporting layers 0.0s done
#7 exporting manifest sha256:15b202f67217697a010a43b0d8ef636c8bd4a00a7258dc8334ce1220aa5ad10d done
#7 exporting config sha256:e4f5b35710a25e9116a133bde6255ccc3f91a39c9b99e4f4a44d7eaf27024e7d done
#7 exporting attestation manifest sha256:1381754eaa2ff6ca7277a69421f9a2e9bfd02920098acac0b6d9a0d87b4abe9c done
#7 exporting manifest list sha256:59daf10da628c4a24e9396d0656c99dff8d7036f3b29e0ec6d7392c1e72adfc0 done
#7 naming to docker.io/library/template:dev done
#7 unpacking to docker.io/library/template:dev 0.0s done
#7 DONE 0.1s
#7 [template 2/3] RUN mkdir -p /scratch /temp
#7 CACHED
#8 [template] resolving provenance for metadata file
#8 DONE 0.0s
#8 [template 3/3] WORKDIR /scratch
#8 CACHED
#9 [template] exporting to image
#9 exporting layers done
#9 exporting manifest sha256:df84d578a4eccddc7f7d15d3c610d35803bd529ce0f90f1eb1099bbf982d9341 done
#9 exporting config sha256:c48b4c75f46025fb4e6a7ba120f44c3a0f8bb216a3724a138aacaac8bdb20d79 done
#9 exporting attestation manifest sha256:475763fe07bd398483134834afcb34d685d06091f193097a8de2d084172d70a6 done
#9 exporting manifest list sha256:9a5d2937d479459aab9d19d0462b88f6806c5129a4fd5cb1d91e0f593d99c7f1 done
#9 naming to docker.io/library/template:dev done
#9 unpacking to docker.io/library/template:dev done
#9 DONE 0.0s
#10 [template] resolving provenance for metadata file
#10 DONE 0.0s
#3 [mariadb internal] load metadata for docker.io/library/mariadb:10.5
#3 DONE 1.0s
#11 [mariadb internal] load .dockerignore
#11 transferring context: 2B done
#11 DONE 0.0s
#12 [mariadb] exporting to image
#12 exporting layers done
#12 exporting manifest sha256:67ef4d7011fcf8bda1b124dc9f2017e9cd24ffc75c81a44f5ee8dfc4f5e97272 done
#12 exporting config sha256:812d99d7ea8dc6b118c8a744483eab5b3e5fbb0380aed0f65ba822532f413754 done
#12 exporting attestation manifest sha256:0b5426886d81a60ddf543fb55b3c7007c9a127d2f4322cb2fb92518f2517529e done
#12 exporting manifest list sha256:4885a79a2416052a698a924d667c301d0fda6430e0743a452fb21b49626c5253 done
#12 naming to git.nixc.us/nixius/template:staging-mariadb done
#12 unpacking to git.nixc.us/nixius/template:staging-mariadb
#12 ...
#13 [mariadb 1/1] FROM docker.io/library/mariadb:10.5@sha256:c8bb76c7d0fd384a8a9f230c42a879be8e1052783c8007caa1320a630273b425
#13 resolve docker.io/library/mariadb:10.5@sha256:c8bb76c7d0fd384a8a9f230c42a879be8e1052783c8007caa1320a630273b425 done
#13 sha256:2cee1b6df15e88df102c5a223517324a6528295d0fb6e19c5161825fe763f69e 6.92MB / 6.92MB 1.4s done
#13 sha256:ecd83b6c354452b6a9979c7666bba16927f1e60e2afbfe6401dd6f87d5db8576 25.98MB / 25.98MB 5.2s done
#13 sha256:e3cdbb02b6a886f3813579a158ede3a5b1edd7dcb1c52e6c59743f657f948034 334B / 334B 0.3s done
#13 sha256:8f6b9b5adf18f48eb3699fa43002dfad0723983c62b66e3698060d0c1da2bcd8 4.02kB / 4.02kB 0.2s done
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 32.51MB / 85.28MB 5.6s
#13 sha256:8d4f5f48dd26314ce01174c43bd9ae56dadc8839986fd1138b3e083a1d3a3312 116B / 116B 0.1s done
#13 sha256:6cf7fc23f330d664ea3c8441ee3d59eb9027dca82959097e60df44d7bb1c3190 8.20kB / 8.20kB 0.1s done
#13 sha256:40586c3e1976d254ac7d41b1267009de3ccf1974e5ad3896618b398882e8fce9 1.72kB / 1.72kB 0.1s done
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 37.75MB / 85.28MB 6.0s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 42.99MB / 85.28MB 6.5s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 48.23MB / 85.28MB 6.9s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 53.48MB / 85.28MB 7.4s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 58.72MB / 85.28MB 7.8s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 63.96MB / 85.28MB 8.3s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 69.21MB / 85.28MB 8.7s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 74.45MB / 85.28MB 9.2s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 79.69MB / 85.28MB 9.6s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 85.28MB / 85.28MB 10.1s
#13 sha256:95ffc3e5b4d502bbde11dfaae453c4f0ece489a095d5518eed9a24d70c32d369 85.28MB / 85.28MB 10.1s done
#13 DONE 10.3s
#12 [mariadb] exporting to image
#12 unpacking to git.nixc.us/nixius/template:staging-mariadb 13.8s done
#12 DONE 13.9s
#14 [mariadb] resolving provenance for metadata file
#14 DONE 0.0s
mariadb Built
template Built
Running tests...
Running tests...
Test results have been saved to ./temp/test_output.log
Test started at Wed Apr 23 10:27:45 EDT 2025
Test started at Wed Apr 23 10:58:08 EDT 2025
Testing Docker build...
#0 building with "desktop-linux" instance using docker driver
#1 [template internal] load build definition from Dockerfile
#1 transferring dockerfile: 279B done
#1 [mariadb internal] load build definition from Dockerfile.staging
#1 transferring dockerfile: 100B done
#1 DONE 0.0s
#2 [template internal] load metadata for docker.io/library/alpine:3.18
#2 DONE 0.2s
#2 [template internal] load build definition from Dockerfile.staging
#2 transferring dockerfile: 287B done
#2 DONE 0.0s
#3 [template internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.0s
#3 [template internal] load metadata for docker.io/library/alpine:3.18
#3 ...
#4 [template 1/3] FROM docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f
#4 resolve docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f done
#4 DONE 0.0s
#4 [mariadb internal] load metadata for docker.io/library/mariadb:10.5
#4 DONE 0.3s
#5 [template 2/3] RUN mkdir -p /scratch /temp
#5 CACHED
#5 [mariadb internal] load .dockerignore
#5 transferring context: 2B done
#5 DONE 0.0s
#6 [template 3/3] WORKDIR /scratch
#6 [mariadb 1/1] FROM docker.io/library/mariadb:10.5@sha256:c8bb76c7d0fd384a8a9f230c42a879be8e1052783c8007caa1320a630273b425
#6 resolve docker.io/library/mariadb:10.5@sha256:c8bb76c7d0fd384a8a9f230c42a879be8e1052783c8007caa1320a630273b425 done
#6 CACHED
#7 [template] exporting to image
#7 [mariadb] exporting to image
#7 exporting layers done
#7 exporting manifest sha256:15b202f67217697a010a43b0d8ef636c8bd4a00a7258dc8334ce1220aa5ad10d done
#7 exporting config sha256:e4f5b35710a25e9116a133bde6255ccc3f91a39c9b99e4f4a44d7eaf27024e7d done
#7 exporting attestation manifest sha256:ec2582c7e07cfeaaeb69797430b3d687550c642903473dbe1fbcdea58fefc2cb 0.0s done
#7 exporting manifest list sha256:1f3404b565e38ec1490f2d56d612438b611b2fd31e213e39e37c8e3e80c4b3ff done
#7 naming to docker.io/library/template:test done
#7 unpacking to docker.io/library/template:test done
#7 DONE 0.0s
#7 exporting manifest sha256:67ef4d7011fcf8bda1b124dc9f2017e9cd24ffc75c81a44f5ee8dfc4f5e97272 done
#7 exporting config sha256:812d99d7ea8dc6b118c8a744483eab5b3e5fbb0380aed0f65ba822532f413754 done
#7 exporting attestation manifest sha256:7aca870e0ff4f86c1fa6d851de62930967f801fb0ab78b125b90b881a1902d77 0.0s done
#7 exporting manifest list sha256:d4ed6fde413437ace9621431c6eb2a01a2e697f76f9eb75bfd8867d854ed0329 done
#7 naming to git.nixc.us/nixius/template:staging-mariadb done
#7 unpacking to git.nixc.us/nixius/template:staging-mariadb done
#7 DONE 0.1s
#8 [template] resolving provenance for metadata file
#8 [mariadb] resolving provenance for metadata file
#8 DONE 0.0s
#3 [template internal] load metadata for docker.io/library/alpine:3.18
#3 DONE 0.5s
#9 [template internal] load .dockerignore
#9 transferring context: 2B done
#9 DONE 0.0s
#10 [template 1/3] FROM docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f
#10 resolve docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f 0.0s done
#10 DONE 0.0s
#11 [template 2/3] RUN mkdir -p /scratch /temp
#11 CACHED
#12 [template 3/3] WORKDIR /scratch
#12 CACHED
#13 [template] exporting to image
#13 exporting layers done
#13 exporting manifest sha256:df84d578a4eccddc7f7d15d3c610d35803bd529ce0f90f1eb1099bbf982d9341 done
#13 exporting config sha256:c48b4c75f46025fb4e6a7ba120f44c3a0f8bb216a3724a138aacaac8bdb20d79 done
#13 exporting attestation manifest sha256:9019fbf8cbfc0b2044e242e9ec9dbdb71d7cc56fcaf67b83f0f5f52f9004db31 done
#13 exporting manifest list sha256:cae7893861af71be867d14ed053aaa6dab448b864649480d90264a3522d580bd done
#13 naming to docker.io/library/template:test done
#13 unpacking to docker.io/library/template:test done
#13 DONE 0.0s
#14 [template] resolving provenance for metadata file
#14 DONE 0.0s
mariadb Built
template Built
Testing container startup...
Network template_default Creating
Network template_default Created
Container template-template-1 Recreate
Container template-template-1 Recreated
Container template-template-1 Starting
Container template-template-1 Started
Network easy-appointments_default Creating
Network easy-appointments_default Created
Container easy-appointments-mariadb-1 Creating
Container easy-appointments-template-1 Creating
Container easy-appointments-template-1 Created
Container easy-appointments-mariadb-1 Created
Container easy-appointments-mariadb-1 Starting
Container easy-appointments-template-1 Starting
Container easy-appointments-mariadb-1 Started
Container easy-appointments-template-1 Started
Container status:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
easy-appointments-template-1 template:test "tail -f /dev/null" template 6 seconds ago Up 5 seconds
Cleaning up...
Container template-template-1 Stopping
Container template-template-1 Stopped
Container template-template-1 Removing
Container template-template-1 Removed
Network template_default Removing
Network template_default Removed
Tests completed at Wed Apr 23 10:27:52 EDT 2025
Container easy-appointments-template-1 Stopping
Container easy-appointments-mariadb-1 Stopping
Container easy-appointments-mariadb-1 Stopped
Container easy-appointments-mariadb-1 Removing
Container easy-appointments-mariadb-1 Removed
Container easy-appointments-template-1 Stopped
Container easy-appointments-template-1 Removing
Container easy-appointments-template-1 Removed
Network easy-appointments_default Removing
Network easy-appointments_default Removed
Tests completed at Wed Apr 23 10:58:27 EDT 2025
Starting services...
Container template-template-1 Creating
Container template-template-1 Created
Container template-template-1 Starting
Container template-template-1 Started
Build and run completed at Wed Apr 23 10:27:53 EDT 2025
Network easy-appointments_dev_network Creating
Network easy-appointments_dev_network Created
Volume "easy-appointments_mariadb_data" Creating
Volume "easy-appointments_mariadb_data" Created
Container easy-appointments-template-1 Creating
Container easy-appointments-mariadb-1 Creating
Container easy-appointments-template-1 Created
Container easy-appointments-mariadb-1 Created
Container easy-appointments-template-1 Starting
Container easy-appointments-mariadb-1 Starting
Container easy-appointments-mariadb-1 Started
Container easy-appointments-template-1 Started
Build and run completed at Wed Apr 23 10:58:31 EDT 2025

View File

@ -1,55 +1,96 @@
Test started at Wed Apr 23 10:27:45 EDT 2025
Test started at Wed Apr 23 10:58:08 EDT 2025
Testing Docker build...
#0 building with "desktop-linux" instance using docker driver
#1 [template internal] load build definition from Dockerfile
#1 transferring dockerfile: 279B done
#1 [mariadb internal] load build definition from Dockerfile.staging
#1 transferring dockerfile: 100B done
#1 DONE 0.0s
#2 [template internal] load metadata for docker.io/library/alpine:3.18
#2 DONE 0.2s
#2 [template internal] load build definition from Dockerfile.staging
#2 transferring dockerfile: 287B done
#2 DONE 0.0s
#3 [template internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.0s
#3 [template internal] load metadata for docker.io/library/alpine:3.18
#3 ...
#4 [template 1/3] FROM docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f
#4 resolve docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f done
#4 DONE 0.0s
#4 [mariadb internal] load metadata for docker.io/library/mariadb:10.5
#4 DONE 0.3s
#5 [template 2/3] RUN mkdir -p /scratch /temp
#5 CACHED
#5 [mariadb internal] load .dockerignore
#5 transferring context: 2B done
#5 DONE 0.0s
#6 [template 3/3] WORKDIR /scratch
#6 [mariadb 1/1] FROM docker.io/library/mariadb:10.5@sha256:c8bb76c7d0fd384a8a9f230c42a879be8e1052783c8007caa1320a630273b425
#6 resolve docker.io/library/mariadb:10.5@sha256:c8bb76c7d0fd384a8a9f230c42a879be8e1052783c8007caa1320a630273b425 done
#6 CACHED
#7 [template] exporting to image
#7 [mariadb] exporting to image
#7 exporting layers done
#7 exporting manifest sha256:15b202f67217697a010a43b0d8ef636c8bd4a00a7258dc8334ce1220aa5ad10d done
#7 exporting config sha256:e4f5b35710a25e9116a133bde6255ccc3f91a39c9b99e4f4a44d7eaf27024e7d done
#7 exporting attestation manifest sha256:ec2582c7e07cfeaaeb69797430b3d687550c642903473dbe1fbcdea58fefc2cb 0.0s done
#7 exporting manifest list sha256:1f3404b565e38ec1490f2d56d612438b611b2fd31e213e39e37c8e3e80c4b3ff done
#7 naming to docker.io/library/template:test done
#7 unpacking to docker.io/library/template:test done
#7 DONE 0.0s
#7 exporting manifest sha256:67ef4d7011fcf8bda1b124dc9f2017e9cd24ffc75c81a44f5ee8dfc4f5e97272 done
#7 exporting config sha256:812d99d7ea8dc6b118c8a744483eab5b3e5fbb0380aed0f65ba822532f413754 done
#7 exporting attestation manifest sha256:7aca870e0ff4f86c1fa6d851de62930967f801fb0ab78b125b90b881a1902d77 0.0s done
#7 exporting manifest list sha256:d4ed6fde413437ace9621431c6eb2a01a2e697f76f9eb75bfd8867d854ed0329 done
#7 naming to git.nixc.us/nixius/template:staging-mariadb done
#7 unpacking to git.nixc.us/nixius/template:staging-mariadb done
#7 DONE 0.1s
#8 [template] resolving provenance for metadata file
#8 [mariadb] resolving provenance for metadata file
#8 DONE 0.0s
#3 [template internal] load metadata for docker.io/library/alpine:3.18
#3 DONE 0.5s
#9 [template internal] load .dockerignore
#9 transferring context: 2B done
#9 DONE 0.0s
#10 [template 1/3] FROM docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f
#10 resolve docker.io/library/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f 0.0s done
#10 DONE 0.0s
#11 [template 2/3] RUN mkdir -p /scratch /temp
#11 CACHED
#12 [template 3/3] WORKDIR /scratch
#12 CACHED
#13 [template] exporting to image
#13 exporting layers done
#13 exporting manifest sha256:df84d578a4eccddc7f7d15d3c610d35803bd529ce0f90f1eb1099bbf982d9341 done
#13 exporting config sha256:c48b4c75f46025fb4e6a7ba120f44c3a0f8bb216a3724a138aacaac8bdb20d79 done
#13 exporting attestation manifest sha256:9019fbf8cbfc0b2044e242e9ec9dbdb71d7cc56fcaf67b83f0f5f52f9004db31 done
#13 exporting manifest list sha256:cae7893861af71be867d14ed053aaa6dab448b864649480d90264a3522d580bd done
#13 naming to docker.io/library/template:test done
#13 unpacking to docker.io/library/template:test done
#13 DONE 0.0s
#14 [template] resolving provenance for metadata file
#14 DONE 0.0s
mariadb Built
template Built
Testing container startup...
Network template_default Creating
Network template_default Created
Container template-template-1 Recreate
Container template-template-1 Recreated
Container template-template-1 Starting
Container template-template-1 Started
Network easy-appointments_default Creating
Network easy-appointments_default Created
Container easy-appointments-mariadb-1 Creating
Container easy-appointments-template-1 Creating
Container easy-appointments-template-1 Created
Container easy-appointments-mariadb-1 Created
Container easy-appointments-mariadb-1 Starting
Container easy-appointments-template-1 Starting
Container easy-appointments-mariadb-1 Started
Container easy-appointments-template-1 Started
Container status:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
easy-appointments-template-1 template:test "tail -f /dev/null" template 6 seconds ago Up 5 seconds
Cleaning up...
Container template-template-1 Stopping
Container template-template-1 Stopped
Container template-template-1 Removing
Container template-template-1 Removed
Network template_default Removing
Network template_default Removed
Tests completed at Wed Apr 23 10:27:52 EDT 2025
Container easy-appointments-template-1 Stopping
Container easy-appointments-mariadb-1 Stopping
Container easy-appointments-mariadb-1 Stopped
Container easy-appointments-mariadb-1 Removing
Container easy-appointments-mariadb-1 Removed
Container easy-appointments-template-1 Stopped
Container easy-appointments-template-1 Removing
Container easy-appointments-template-1 Removed
Network easy-appointments_default Removing
Network easy-appointments_default Removed
Tests completed at Wed Apr 23 10:58:27 EDT 2025