Commit Graph
134 Commits
Author SHA1 Message Date
Josh Sandlin b73485d3b9 bump actions versions 2026-08-14 10:10:48 -04:00
Josh Sandlin f93cb353ca move gc to a set time window 2026-08-14 09:58:52 -04:00
Josh Sandlin f566453cb2 enable prometheus metrics for zot 2026-08-07 16:44:40 -04:00
Josh Sandlin 1b6fbeefb7 more gracefully handle other types of resources, like .sig files 2026-08-07 14:31:23 -04:00
Josh Sandlin fbe98cdb32 fix this up 2026-08-06 11:25:11 -04:00
Josh Sandlin b6aacbefd7 remove keepalives 2026-08-05 18:40:10 -04:00
Josh Sandlin 6e5b99f18f tinkering with nginx settings. proxy_max_temp_file_size and gzip 2026-08-05 18:34:42 -04:00
Josh Sandlin 4baa6dc18d bump to latest image, remove thing that creates/maintains the metadb 2026-08-05 16:54:25 -04:00
Josh Sandlin 751d1de9f2 redirect blob url setting 2026-08-05 11:47:27 -04:00
Josh Sandlin ac6fdba2ba remove restriction on workers and tune storage config more 2026-08-05 11:35:00 -04:00
Josh Sandlin 857756626c Merge pull request #194 from replicatedhq/joshs/nginx-and-zot-tweaks
Nginx config updates and zot extended timeouts
2026-07-31 17:15:57 -04:00
Josh Sandlin b7616f0123 was seeing a lot of timeout retries here when reduced to 5 seconds 2026-07-31 14:47:14 -04:00
Josh Sandlin d200d60637 introduce readTimeout and writeTimeout config overrides to handle higher latencies with object storage 2026-07-31 14:45:48 -04:00
Josh Sandlin ea63b83214 move zot and web to upstreams with keepalives and remove websocket adjacent headers 2026-07-31 14:44:38 -04:00
Josh Sandlin ebbd53d50c redis data to host to defend against losing volume 2026-07-31 14:40:52 -04:00
Josh Sandlin 50fb2e7a9a Merge pull request #191 from replicatedhq/joshs/sidecar-followups
CI runs and metadata corrections
2026-07-30 19:01:56 -04:00
Josh Sandlin 0e27605856 add smoke test back, too 2026-07-30 18:41:18 -04:00
Josh Sandlin 9a12cca1d6 update dependabot to care about go, make ci and govulncheck a little less fragile 2026-07-30 18:00:04 -04:00
Josh Sandlin 0cc77b8b38 dont throw away errors, more gracefully exit, and dont wait 30 seconds for a delete response 2026-07-30 17:49:42 -04:00
Josh Sandlin 1a37f39556 correct the module name, correct oci metadata, and try running tests in CI 2026-07-30 16:58:34 -04:00
Josh Sandlin c4e052c789 Merge pull request #181 from replicatedhq/joshs/zot-with-ephemeral-ttl-sidecar
ttl.sh to use zot with ephemeral expiration sidecar service
2026-07-30 16:44:07 -04:00
Josh Sandlin b4b429438f set for prod flow 2026-07-30 14:33:00 -04:00
Josh Sandlin 7146002e08 default gcDelay is already 1 hour, also remove gcInterval as it also defaults to 1 hour 2026-07-29 17:57:15 -04:00
Josh Sandlin a12552c31b reapply s3-compatible storage configs 2026-07-29 11:26:55 -04:00
Josh Sandlin aa87282635 host volume mount, not just ephemeral docker storage 2026-07-28 17:27:32 -04:00
Josh Sandlin 05c1670936 host storage 2026-07-28 17:07:45 -04:00
Josh Sandlin 3e186617e0 force restart of zot as part of ansible rollout 2026-07-28 16:15:58 -04:00
Josh Sandlin 8cb54a5a0d force path style 2026-07-28 16:11:08 -04:00
Josh Sandlin 5bf2f4cd52 paste in sidecar code / build and account for ansible tweaks to settle it in 2026-07-28 15:54:34 -04:00
Josh Sandlin ad0f5e0a4e further adjustments to use latitude more gracefully 2026-07-28 15:33:11 -04:00
Josh Sandlin 51c4732e5b tweaks for ansible regarding latitude 2026-07-28 15:25:31 -04:00
Josh Sandlin 74cde5ed9e deleting a whole bunch of no-longer needed resources here 2026-07-28 14:46:01 -04:00
Marc Campbell fc840af123 Merge pull request #175 from replicatedhq/prerelease
Deploy pipeline + Next.js website
2026-02-03 10:26:55 -06:00
Marc Campbell c4dd8410ea Merge pull request #174 from replicatedhq/feature/nextjs-website
Deploy ttl.sh / Build & Push Images (push) Failing after 10s
Deploy ttl.sh / Deploy to Production (push) Has been skipped
Deploy ttl.sh / Smoke Test (push) Has been skipped
Next.js website with SSR support
2026-02-03 06:33:55 -06:00
Marc Campbell 8235fbd4ef Add ttl.sh favicon - timer/clock design
- Green gradient background (matches accent color)
- Clock face with timer knob on top
- Clean, recognizable at small sizes

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:31:11 +00:00
Marc Campbell 545872edee Jazz up website content with Factory.ai-inspired design
- Hero: gradient text, glow effects, punchy copy, social proof
- Features: colorful gradient icons, compelling descriptions
- How-to: tabbed interface with Docker/Helm/GitHub Actions examples
- Use Cases: real-world scenarios with highlighted benefits
- Time Limits: clean visual TTL reference
- Footer: cleaner, more modern layout
- Header: improved nav with better hover states

Copy is now more engaging and developer-focused

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:30:42 +00:00
Marc Campbell 3867e10558 Fix hero comment to reference ${IMAGE_NAME}
Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:30:42 +00:00
Marc Campbell f61fd60925 Replace website with new shadcn/ui design
- Complete redesign using shadcn/ui components
- Dark/light theme support with next-themes
- Modern hero section with terminal animation
- Features, How-to, Use Cases, and Time Limits sections
- Responsive header with mobile menu
- Tailwind CSS v4 with CSS variables for theming
- All custom components (Header, Hero, Features, etc.)
- Full shadcn/ui component library included

Design by Marc via v0.dev

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:30:42 +00:00
Marc Campbell f2ac28558f Add Next.js website with SSR support
- Create new Next.js app in web/ directory
- Configure standalone output for Docker deployment
- Add Dockerfile with multi-stage build
- Add web service to docker-compose.yaml
- Update nginx to proxy to Next.js container (port 3000)
- Remove static site deployment from Ansible

The website now runs as a containerized Next.js app with SSR,
enabling dynamic features and modern React development.

Note: Static site in static/ folder retained for reference.
Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:30:42 +00:00
Marc Campbell 9aae843dcb Remove TTL expiry verification from smoke test
Reaper runs on interval, so TTL expiry timing is non-deterministic.
Keep just the push/pull validation for now.

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:24:03 +00:00
Marc Campbell d32aa3f76e Add smoke test: push/pull + TTL expiry verification
After deploy, tests:
1. Push busybox with 5m TTL (uses commit SHA for unique name)
2. Pull back to verify registry works
3. Wait 7 minutes for TTL to expire
4. Verify pull fails (image correctly deleted)

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:04:28 +00:00
Marc Campbell 41695d4a30 Remove unnecessary GHCR token (packages are public)
Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:02:47 +00:00
Marc Campbell b537597c95 Switch from GAR to GHCR for container images
- Update docker-compose.yaml to use ghcr.io/replicatedhq/ttlsh-* images
- Simplify CI auth using GITHUB_TOKEN (no GCP credentials needed)
- Update ansible to use docker login for GHCR instead of gcloud
- Remove google.cloud ansible collection (no longer needed for registry)

GHCR is simpler: automatic auth via GITHUB_TOKEN in Actions,
and packages can be made public for pull access on servers.

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 11:55:06 +00:00
Marc Campbell 4ba01e35fc Fix CI: create empty .env file for docker-compose build
docker-compose.yaml references env_file: .env which is created by
Ansible on the server but doesn't exist in the repo. Create an empty
file during CI build to satisfy the reference.

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 11:45:31 +00:00
Marc Campbell 426f307d11 Merge pull request #173 from replicatedhq/ci/enable-real-deploys
Enable real deploys
2026-02-03 05:43:20 -06:00
Marc Campbell fa9959bff1 Target prerelease branch for deployment testing
Temporarily deploy on merge to prerelease branch instead of main.
This allows testing the deploy workflow without requiring PR approval.

TODO: Switch back to main after testing is complete.
Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 11:02:50 +00:00
Marc Campbell d15a431aab Enable real deploys
- Remove dry run flags
- Build and push images to Artifact Registry
- Run Ansible without --check flag

Deploys will now happen automatically on merge to main.

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 00:20:42 +00:00
Marc Campbell 39a7890f46 Merge pull request #172 from replicatedhq/ci/add-deploy-workflow
Deploy ttl.sh (DRY RUN) / Build & Push Images (push) Failing after 7s
Deploy ttl.sh (DRY RUN) / Deploy to Production (push) Has been skipped
Add GitHub Actions workflow for automated deployment
2026-02-02 17:20:07 -06:00
Marc Campbell 233df3c8cb Make workflow dry run only for testing
- Build images but skip push
- Run Ansible with --check flag (no changes made)
- Renamed workflow to indicate dry run mode

This lets us verify credentials and workflow before enabling real deploys.

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-02 20:43:42 +00:00
Marc Campbell 48ea9b9f2d Add GitHub Actions workflow for automated deployment
- Triggers on merge to main
- Uses Doppler for secrets management
- Builds and pushes Docker images to GCP Artifact Registry
- Runs Ansible playbook to deploy to production

Required GitHub secrets:
- DOPPLER_TOKEN: Service token for Doppler ttl-sh project
- SSH_PRIVATE_KEY: Private key for SSH access to production server

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-02 20:31:20 +00:00