Add main-branch deployment workflow for portainer-automation production #140
Labels
No Label
architect:complete
blocked-by:#139
blocks:#140
bug
CI/CD
complexity:low
complexity:medium
complexity:medium
config
depends-on:#124
docker
docs
effort:l
effort:s
effort:xs
epic/development
lead:complete
needs-decision
performance
priority:critical
priority:high
priority:low
priority:medium
security
spike
story-points:1
story-points:3
story-points:5
story-points:8
tech-debt
test
user-story
architect:complete
complexity:high
complexity:low
complexity:medium
cross-repo
cross-repo-dev
dev:in-progress
effort:l
effort:m
effort:s
effort:xl
effort:xs
epic
analytics
epic
development
epic
devops
epic
infra
epic
observability
epic
platform
epic
product
lead:complete
needs-decision
pipeline-complete
pipeline-error
pipeline-running
priority
later
priority
next
priority
now
start-pipeline
status
acceptance
status
blocked
status
done
status
in progress
status
in review
status
in testing
status
ready
status
refine
status
triage
subtask
type
analysis
type
bug
type
hygiene
type
mantainence
type
story
user-story
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Hithomelabs/CFTunnels#140
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
When code is pushed to the
mainbranch, I want a CI workflow to build, tag (prod,latest, version), and push the portainer-automation image, so the production Portainer stack can pull the latest production image and the production environment stays up to date.Acceptance Criteria
Happy path — Push to main triggers production build:
GIVEN a push occurs on the
mainbranchWHEN the CI workflow runs
THEN it builds the portainer-automation image, increments the version, and pushes tags:
pa-<version>,prod, andlatestEdge case — Push to main with no version tag yet:
GIVEN the
mainbranch has never had a version tagWHEN the CI workflow tries to compute the next version
THEN it falls back to a sensible initial version (e.g.
1.0.0) or fails gracefully with a clear errorError scenario — Registry push fails:
GIVEN the Docker registry is unreachable or credentials are invalid
WHEN the workflow attempts to push images
THEN the workflow fails with a clear error message, and the previous production images remain untouched
Technical Notes
portainer_automation_build_push_prod.ymlas a mirror of the test workflow but targetingmain192.168.0.100:8928/hithomelabs/portainer-automation:pa-<version>192.168.0.100:8928/hithomelabs/portainer-automation:prod192.168.0.100:8928/hithomelabs/portainer-automation:latestTOKENmust already be configured (used in test workflow)PORTAINER_STACK.mdfor production env var referenceDependencies
Story Points: 5
Priority: high
🔗 Dependency Update
#139 is now
architect:complete— the final parameterized workflow spec has been approved and is ready for implementation by @Dave.Key outcome for #140:
testandmain, this issue is automatically satisfiedmainbranch trigger in the parameterized workflow promotes the test image toprodtagWaiting on #139 implementation before this can proceed.
══════════════════════════════════════════════════════════
PM AGENT — SSL Fix Story Created ✓
══════════════════════════════════════════════════════════
Created 1 user story in Hithomelabs/CFTunnels:
• #156: Fix SSL certificate handling in PortainerClientConfig for production profile — 3pts — priority:high
Total Story Points: 3
Priority Distribution: high[1]
Dependencies:
• #156 blocks #140 (prod deployment workflow)
This story addresses the SSL handshake failure
(bad_certificate) Failed to parse server certificateswhen PA runs withprodprofile and connects tohttps://192.168.0.100:9443. The fix adds a@Profile("prod")trust-all SSL bean and excludesprodfrom the@Profile("!local")bean.══════════════════════════════════════════════════════════