48cd8d242f
Hithomelabs/CFTunnels#150 : Add Spring Boot Actuator health check endpoints for portainer-automation
...
sample gradle build and test / build (pull_request) Successful in 2m11s
Build & Push CFTunnels / version (push) Successful in 6s
Build & Push Portainer Automation / version (push) Successful in 5s
Build & Push CFTunnels / build-and-push (push) Successful in 26s
Build & Push Portainer Automation / build-and-push (push) Successful in 32s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 2m2s
- Add spring-boot-starter-actuator dependency to portainer-automation/build.gradle
- Configure management.server.port=8082 with health,info exposure in application.properties
- Map 5005:8082 in portainer-automation/docker-compose.yaml
- Add MGMT_PORT=5005 to portainer-automation/.env.example
- EXPOSE 8081 8082 in portainer-automation Dockerfile
- No ActuatorSecurityConfig needed: service has no Spring Security/OIDC
- Management port stays LAN-only, NOT added to any tunnel ingress
2026-08-02 23:57:44 +05:30
b9c39ad990
Hithomelabs/CFTunnels#149 : Fix actuator security to allow unauthenticated health/info on management port
...
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m46s
sample gradle build and test / build (pull_request) Successful in 1m58s
Build & Push Portainer Automation / version (push) Successful in 6s
Build & Push Portainer Automation / build-and-push (push) Successful in 2m11s
Build & Push CFTunnels / version (push) Successful in 6s
Build & Push CFTunnels / build-and-push (push) Successful in 2m45s
- Upgrade ActuatorSecurityConfig to @Order(Ordered.HIGHEST_PRECEDENCE) at class level
to ensure filter chain is evaluated before auto-configured management security
- Replace string-based securityMatcher with EndpointRequest.toAnyEndpoint() for
proper Spring Boot actuator endpoint matching
- Add belt-and-suspenders permitAll() for /actuator/health and /actuator/info in
SecuirtyConfig so health endpoints are accessible even if filter chain ordering fails
- Root cause: SecuirtyConfig catch-all (no securityMatcher) was intercepting actuator
requests on the separate management port (management.server.port=8081) and
redirecting to OIDC login before ActuatorSecurityConfig filter chain could apply
2026-07-28 11:45:33 +05:30
3de734dbc5
Hithomelabs/CFTunnels#149 : Add Spring Boot Actuator health check endpoints
...
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m48s
sample gradle build and test / build (pull_request) Successful in 2m7s
Build & Push CFTunnels / version (push) Successful in 6s
Build & Push Portainer Automation / version (push) Successful in 6s
Build & Push CFTunnels / build-and-push (push) Successful in 3m45s
Build & Push Portainer Automation / build-and-push (push) Successful in 2m2s
- Add spring-boot-starter-actuator dependency
- Configure management port (8081) separate from application port (8080)
- Expose /actuator/health and /actuator/info endpoints publicly
- Block other actuator endpoints without authentication
- Add ActuatorSecurityConfig for actuator-specific security rules
- Update Docker Compose to expose management port (5003:8081)
- Update Dockerfile to expose ports 8080 and 8081
- Add actuator configuration to all profile-specific properties files
2026-07-28 11:02:19 +05:30
52f40e3d92
Hithomelabs/CFTunnels#122 : Add trust-all SSL RestTemplate for prod profile
...
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m50s
sample gradle build and test / build (pull_request) Successful in 1m58s
Build & Push Portainer Automation / version (push) Successful in 7s
Build & Push Portainer Automation / build-and-push (push) Successful in 2m6s
Build & Push CFTunnels / version (push) Successful in 7s
Build & Push CFTunnels / build-and-push (push) Successful in 2m24s
Extract trust-all SSL logic into buildTrustAllRestTemplate() helper.
Add @Profile("prod") bean that also trusts self-signed certs.
Change @Profile("!local") to @Profile("!local & !prod") so standard
strict SSL is only used for CI/test profiles.
Rename portainerRestTemplate() to portainerRestTemplateDefault().
2026-07-10 02:24:23 +05:30
3bffa43d6a
Hithomelabs/CFTunnels#0 : Revert dummy commit - remove CI test comment from test_build.yml
sample gradle build and test / build (pull_request) Successful in 1m57s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m52s
Build & Push Portainer Automation / version (push) Successful in 11s
Build & Push Portainer Automation / build-and-push (push) Successful in 31s
Build & Push CFTunnels / version (push) Successful in 8s
Build & Push CFTunnels / build-and-push (push) Successful in 30s
2026-07-09 23:48:13 +05:30
63660928c9
Hithomelabs/CFTunnels#0 : Add comment to test_build.yml for CI testing
sample gradle build and test / build (pull_request) Successful in 1m55s
Build & Push CFTunnels / version (push) Successful in 6s
Build & Push Portainer Automation / version (push) Successful in 6s
Build & Push CFTunnels / build-and-push (push) Successful in 2m30s
Build & Push Portainer Automation / build-and-push (push) Successful in 1m46s
2026-07-09 23:29:18 +05:30
f1c9965396
Hithomelabs/CFTunnels#150 : Resolve merge conflict in portainer_automation_build_push.yml (keep pa- prefix with ASCII arrows)
sample gradle build and test / build (pull_request) Successful in 1m49s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m46s
Build & Push Portainer Automation / version (push) Successful in 7s
Build & Push Portainer Automation / build-and-push (push) Successful in 29s
Build & Push CFTunnels / version (push) Successful in 7s
Build & Push CFTunnels / build-and-push (push) Successful in 30s
2026-07-09 12:14:54 +05:30
d7a2af9928
Hithomelabs/CFTunnels#150 : Delete prod_image_tag_promote.yaml (absorbed into cftunnels_build_push.yml)
sample gradle build and test / build (pull_request) Successful in 1m50s
2026-07-09 06:30:56 +00:00
2dc1ac17f1
Hithomelabs/CFTunnels#150 : Delete test_image_build_push.yml (absorbed into cftunnels_build_push.yml)
2026-07-09 06:30:55 +00:00
03c509c597
Hithomelabs/CFTunnels#150 : Add pa- prefix to portainer-automation tags and remove inputs block
2026-07-09 06:30:49 +00:00
9e35d730f4
Hithomelabs/CFTunnels#150 : Create unified cftunnels_build_push.yml with cf- prefix
2026-07-09 06:30:42 +00:00
0df22454a3
Hithomelabs/CFTunnels#149 : Resolve merge conflicts by removing workflow_dispatch inputs and simplifying env step
sample gradle build and test / build (pull_request) Successful in 1m51s
Build & Push Portainer Automation / version (push) Successful in 7s
sample gradle build and test / tag (push) Successful in 7s
Build & Push Portainer Automation / build-and-push (push) Successful in 1m55s
sample gradle build and test / build_tag_push (push) Failing after 28s
2026-07-09 11:34:53 +05:30
c9dea2a91d
Hithomelabs/CFTunnels#139 : Remove workflow_dispatch inputs for Gitea 1.22.x compat
sample gradle build and test / build (pull_request) Successful in 1m53s
2026-07-09 05:44:05 +00:00
8ee2abdbd7
Hithomelabs/CFTunnels#139 : Remove portainer-automation service from docker-compose.yaml (now managed independently via portainer-automation/docker-compose.yaml)
sample gradle build and test / build (pull_request) Successful in 1m58s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m49s
Promote image with tag test to prod / tag (push) Successful in 6s
Promote image with tag test to prod / build_tag_push (push) Successful in 13s
sample gradle build and test / tag (push) Successful in 7s
sample gradle build and test / build_tag_push (push) Successful in 2m30s
2026-07-09 05:04:48 +00:00
35db41573a
Hithomelabs/CFTunnels#139 : Simplify workflow_dispatch input type for Gitea compatibility
...
sample gradle build and test / build (pull_request) Has been cancelled
Remove 'type: choice' and 'options:' from workflow_dispatch inputs,
replacing with 'type: string'. The Gitea Actions runner may not support
the 'choice' type with 'options' subfield, causing the entire workflow
to fail registration silently. The workflow already has runtime
validation (lines 40-44) that rejects invalid environment values, so
the 'choice' type was redundant.
2026-07-09 10:32:26 +05:30
bf5c9f1650
Hithomelabs/CFTunnels#145 : Replace --method=POST with --post-data= for BusyBox wget compatibility
sample gradle build and test / build (pull_request) Successful in 1m55s
sample gradle build and test / tag (push) Successful in 7s
sample gradle build and test / build_tag_push (push) Successful in 2m37s
2026-07-08 21:05:48 +00:00
bd2d32fa8c
Hithomelabs/CFTunnels#145 : Replace --method=POST with --post-data= for BusyBox wget compatibility
2026-07-08 21:05:42 +00:00
a3a3917fc0
Hithomelabs/CFTunnels#<issue>: Add --method=POST to wget deploy trigger commands
...
sample gradle build and test / build (pull_request) Successful in 2m1s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Successful in 2m20s
The Portainer redeploy endpoint POST /api/deploy/{stackId} requires
POST requests. wget defaults to GET, so --method=POST is needed.
Applied to both Dev (test_image_build_push.yml) and Prod
(prod_image_tag_promote.yaml) workflow files.
2026-07-09 02:27:48 +05:30
cd270084ad
Merge branch 'test' into ISSUE-91
sample gradle build and test / build (pull_request) Successful in 1m51s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Successful in 2m21s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m45s
Promote image with tag test to prod / tag (push) Successful in 7s
Promote image with tag test to prod / build_tag_push (push) Successful in 13s
2026-07-08 20:32:16 +00:00
634794e7d3
Hithomelabs/CFTunnels#139 : Parameterize portainer-automation build workflow for multi-environment reuse
...
sample gradle build and test / build (pull_request) Successful in 1m55s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Successful in 2m32s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m43s
Promote image with tag test to prod / tag (push) Successful in 6s
Promote image with tag test to prod / build_tag_push (push) Successful in 13s
- Replace single-branch push trigger with test + main + workflow_dispatch
- Add environment determination (test → PATCH bump, main/prod → MINOR bump)
- Add semver calculation with conditional patch/minor logic
- Add env validation (fails early on invalid env)
- Remove pa- prefix from git tags (use plain semver)
- Test builds fresh image; main/prod promotes test image to prod
- Match final architecture spec from Archie
2026-07-08 19:53:17 +00:00
b09386beee
Hithomelabs/CFTunnels#91 : address review feedback - use IP address 192.168.0.100 instead of Docker hostnames for Portainer automation URLs
sample gradle build and test / build (pull_request) Successful in 1m49s
2026-07-09 00:58:38 +05:30
dbfb49f5a9
Hithomelabs/CFTunnels#99 : Fix stack.env path in portainer-automation docker-compose
sample gradle build and test / build (pull_request) Successful in 2m0s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Successful in 2m22s
portainer-automation build and push / tag (push) Successful in 7s
portainer-automation build and push / build_tag_push (push) Successful in 2m2s
2026-07-09 00:31:34 +05:30
bfed3d220b
Hithomelabs/CFTunnels#99 : address PR review - specific exceptions, SLF4J logging, health endpoint
sample gradle build and test / build (pull_request) Successful in 1m58s
portainer-automation build and push / tag (push) Successful in 7s
sample gradle build and test / tag (push) Successful in 6s
portainer-automation build and push / build_tag_push (push) Successful in 3m9s
sample gradle build and test / build_tag_push (push) Successful in 2m20s
2026-07-07 03:48:53 +05:30
8f4af5e322
Hithomelabs/CFTunnels#99 : Deploy portainer-automation service
...
sample gradle build and test / build (pull_request) Successful in 2m1s
- Add Dockerfile for portainer-automation (multi-stage build)
- Add standalone docker-compose.yaml for PA service
- Add application-prod.properties (prod Portainer :9443)
- Add application-ci.properties (CI test endpoints)
- Add .env.example with documented env vars for PA
- Add PORTAINER_STACK.md with deployment guide, env var tables, architecture diagram
- Add CI workflow (portainer_automation_build_push.yml) for image build/push
- Update root docker-compose.yaml to include PA service
2026-07-07 02:51:58 +05:30
8e02a9fcd0
Hithomelabs/CFTunnels#91 : Wire CI deploy triggers for Portainer auto-redeploy
sample gradle build and test / build (pull_request) Has been cancelled
2026-07-07 02:10:48 +05:30
da2db99755
Hithomelabs/CFTunnels#88 : address PR review - fix test expectations, import, and assertions
sample gradle build and test / build (pull_request) Successful in 1m52s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Successful in 2m19s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m54s
Promote image with tag test to prod / tag (push) Successful in 10s
Promote image with tag test to prod / build_tag_push (push) Successful in 19s
2026-07-06 23:49:12 +05:30
07b70e633d
Hithomelabs/CFTunnels#88 : Add Phase 1 tests for env round-trip, model serialization, and error handling
sample gradle build and test / build (pull_request) Successful in 1m58s
2026-07-06 23:32:15 +05:30
9e960ea7c0
Hithomelabs/CFTunnels#88 : Fix env-var override pattern for portainer.service.api-key
sample gradle build and test / build (pull_request) Has been cancelled
2026-07-06 07:07:22 +00:00
145597b8bd
Hithomelabs/CFTunnels#88 : Add null-safety for env list in redeploy()
2026-07-06 07:07:21 +00:00
d27176a7d5
Hithomelabs/CFTunnels#88 : Add env variable round-trip, profile-aware SSL, and getStack support
sample gradle build and test / build (pull_request) Has been cancelled
2026-07-06 12:29:43 +05:30
3c47643cd4
88: Fix PortainerApiClient import path
sample gradle build and test / build (pull_request) Successful in 1m50s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Successful in 2m17s
2026-07-06 05:10:21 +00:00
93e9baa5d4
88: Fix PortainerApiClient import/constructor, replace TrustAllStrategy with lambda
sample gradle build and test / build (pull_request) Has been cancelled
2026-07-06 05:10:20 +00:00
d0e1ea938f
88: Add DeployControllerTest with 4 test cases
sample gradle build and test / build (pull_request) Failing after 1m47s
2026-07-06 05:02:23 +00:00
76dd43c7b2
88: Add DeployController with X-API-Key auth
2026-07-06 05:02:19 +00:00
21e67dadea
88: Add DeployService for Portainer stack redeployment
2026-07-06 05:02:16 +00:00
5ea62d6baf
88: Add SSL-friendly Portainer API client config
2026-07-06 05:02:15 +00:00
cf24922bb4
88: Add PortainerAutomationProperties configuration
2026-07-06 05:02:12 +00:00
62fd2ea48a
88: Add portainer configuration properties
2026-07-06 05:01:59 +00:00
9e3207dc30
88: Enable configuration properties and scan common package
2026-07-06 05:01:58 +00:00
f3652611ec
88: Add httpclient5 dependency for portainer-automation
2026-07-06 05:01:56 +00:00
6fc44a6969
Hithomelabs/CFTunnels#87 : address PR review - add @JsonProperty, fix status type, add unit tests
sample gradle build and test / build (pull_request) Successful in 1m57s
sample gradle build and test / tag (push) Successful in 7s
sample gradle build and test / build_tag_push (push) Successful in 2m29s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m45s
Promote image with tag test to prod / tag (push) Successful in 7s
Promote image with tag test to prod / build_tag_push (push) Successful in 14s
2026-07-05 17:50:56 +05:30
e515532d99
Hithomelabs/CFTunnels#87 : Add PortainerApiClient, DTOs, ImageReference, and exception classes
sample gradle build and test / build (pull_request) Successful in 1m52s
2026-07-05 16:54:23 +05:30
9fb4c4fb14
Merge pull request 'ci: fix Gradle wrapper validation in test_image_build_push.yml (missed in PR #126 )' ( #127 ) from Dave/CFTunnels:ISSUE-86-fix into test
...
sample gradle build and test / tag (push) Successful in 7s
sample gradle build and test / build_tag_push (push) Successful in 3m33s
Daily cloudflare API integration test / cloudflare-api-test (push) Successful in 1m49s
Promote image with tag test to prod / tag (push) Successful in 7s
Promote image with tag test to prod / build_tag_push (push) Successful in 14s
Reviewed-on: #127
Reviewed-by: hitanshu <hitanshu98@gmail.com>
2026-07-05 10:55:21 +00:00
040c0e9b09
ci: fix Gradle wrapper validation in test_image_build_push.yml
sample gradle build and test / build (pull_request) Successful in 2m5s
2026-07-05 10:51:47 +00:00
d500a8b276
Hithomelabs/CFTunnels#86 : ci: replace Gradle wrapper validation with offline checksum
sample gradle build and test / build (pull_request) Successful in 1m56s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Failing after 1m53s
2026-07-05 16:12:24 +05:30
4a3e2777db
Hithomelabs/HomeLabDocker#86 : fix: add BOM import and update RestTemplateConfig imports
sample gradle build and test / build (pull_request) Successful in 2m55s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Failing after 55s
2026-07-05 15:38:00 +05:30
4abec13ec4
Hithomelabs/HomeLabDocker#86 : ci: update workflows for multi-module paths
2026-07-05 15:36:02 +05:30
0c6944685f
Hithomelabs/HomeLabDocker#86 : chore: add :portainer-automation scaffold
2026-07-05 15:35:58 +05:30
ee1762711d
Hithomelabs/HomeLabDocker#86 : feat: add :common module with RestTemplateConfig
2026-07-05 15:35:53 +05:30
0c2e186ba7
Hithomelabs/HomeLabDocker#86 : refactor: move cftunnels source into :cftunnels-service module
2026-07-05 15:35:50 +05:30