{"id":19879979,"url":"https://github.com/passbolt/passbolt_packaging","last_synced_at":"2025-10-10T23:23:23.431Z","repository":{"id":163928649,"uuid":"630494470","full_name":"passbolt/passbolt_packaging","owner":"passbolt","description":"Passbolt distribution packages main repository","archived":false,"fork":false,"pushed_at":"2025-09-29T12:44:02.000Z","size":1318,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-29T13:12:00.743Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/passbolt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-20T13:57:38.000Z","updated_at":"2025-09-29T12:44:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"71b6c525-ce26-460c-bf3c-e989d75b1b6c","html_url":"https://github.com/passbolt/passbolt_packaging","commit_stats":null,"previous_names":[],"tags_count":266,"template":false,"template_full_name":null,"purl":"pkg:github/passbolt/passbolt_packaging","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fpassbolt_packaging","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fpassbolt_packaging/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fpassbolt_packaging/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fpassbolt_packaging/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/passbolt","download_url":"https://codeload.github.com/passbolt/passbolt_packaging/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fpassbolt_packaging/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005555,"owners_count":26083918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T17:09:54.206Z","updated_at":"2025-10-10T23:23:23.427Z","avatar_url":"https://github.com/passbolt.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Passbolt packaging repository\n\nThis repository contains all the configurations required to package Passbolt for multiple Linux distributions.\n\n## Requirements\n\n- Docker\n- Ruby\n- Bundler\n\nInstall the dependencies:\n```bash\n# Configure bundle to use local path\nbundle config set --local path '.bundle'\nbundle install\n```\n\n## Environment Variables\n\nRequired variables:\n```bash\nexport PASSBOLT_FLAVOUR=pro        # or 'ce' for Community Edition\nexport PASSBOLT_COMPONENT=stable   # release channel\nexport PASSBOLT_VERSION=5.1.1      # version to test\nexport API_CLONE_BRANCH=master     # API branch to test\n```\n\nOptional variables:\n```bash\nexport LOCAL_CREDS=/path/to/docker/config.json  # if using private Docker registry\n```\n\n## Running Tests\n\n### List Available Test Instances\n```bash\nbundle exec kitchen list\n```\n\n### Test Commands\n\n1. **Complete Test Run** (creates, installs, tests, and destroys):\n```bash\nbundle exec kitchen test filesystem-benchmarks-debian-bookworm -t tests/integration\n```\n\n2. **Step-by-Step Testing** (useful for debugging):\n```bash\n# Create test environment\nbundle exec kitchen create filesystem-benchmarks-debian-bookworm\n\n# Install and configure\nbundle exec kitchen converge filesystem-benchmarks-debian-bookworm\n\n# Run tests only\nbundle exec kitchen verify filesystem-benchmarks-debian-bookworm -t tests/integration\n\n# Login to test instance\nbundle exec kitchen login filesystem-benchmarks-debian-bookworm\n\n# Clean up when done\nbundle exec kitchen destroy filesystem-benchmarks-debian-bookworm\n```\n\n3. **Keep Container After Testing** (for debugging):\n```bash\nbundle exec kitchen test filesystem-benchmarks-debian-bookworm --destroy=never\n```\n\n### Available Test Suites\n\n- `filesystem-benchmarks`: Tests file system setup and permissions\n- `purge-benchmarks`: Tests package removal\n- `runtime-benchmarks`: Tests running application\n- `break-benchmarks`: Tests error handling\n\n### Available Platforms\n\n- `debian-bookworm`\n- `ubuntu-24.04`\n- `almalinux-9`\n- `rockylinux-9`\n- `opensuse-leap-15`\n\n### Test Options\n\n- Run with debug logging:\n```bash\nbundle exec kitchen test -l debug\n```\n\n- Run specific test file:\n```bash\nbundle exec kitchen verify filesystem-benchmarks-debian-bookworm -t tests/integration/filesystem-benchmarks/controls/systemfiles.rb\n```\n\n- Test multiple platforms:\n```bash\nbundle exec kitchen test filesystem-benchmarks-* -t tests/integration\n```\n\n## Test Structure\n\n- `tests/integration/`: Contains InSpec tests that verify the installation\n- `tests/cookbooks/`: Contains Chef recipes for building and installing packages\n- `tests/fixtures/`: Contains test data and configurations\n\n## Debugging\n\nTo inspect a running test instance:\n1. Use `--destroy=never` when running tests\n2. Login to the container:\n```bash\nbundle exec kitchen login filesystem-benchmarks-debian-bookworm\n```\n3. Inside the container, you can check:\n   - Log files: `/var/log/passbolt/`\n   - Configuration: `/etc/passbolt/`\n   - Service status: `systemctl status nginx`, `systemctl status php-fpm`\n\n## Modifying Test Environment\n\nTo test public code, modify `tests/test_env.sh` to point to the Passbolt API repository you want to package and test.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassbolt%2Fpassbolt_packaging","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpassbolt%2Fpassbolt_packaging","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassbolt%2Fpassbolt_packaging/lists"}