├── .bldr.toml ├── .cargo ├── audit.toml └── config.toml ├── .dockerignore ├── .forkman.yaml ├── .gitattributes ├── .github └── workflows │ ├── forkman.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── .rustfmt.toml ├── .secrets └── .gitkeep ├── CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── END_TO_END_TESTING.md ├── LICENSE ├── MAC_BOOTSTRAPPER_VERSION ├── Makefile ├── POWERSHELL_VERSION ├── README.md ├── RUSTFMT_VERSION ├── RUST_NIGHTLY_VERSION ├── UX_PRINCIPLES.md ├── VERIFICATION_TESTING.md ├── VERSION ├── Vagrantfile ├── build.ps1 ├── ci └── Makefile ├── components ├── backline │ └── habitat │ │ └── plan.sh ├── bio │ ├── Cargo.toml │ ├── habitat │ │ ├── aarch64-darwin │ │ │ └── plan.sh │ │ ├── plan.ps1 │ │ ├── plan.sh │ │ └── x86_64-darwin │ │ │ ├── README.md │ │ │ └── plan.sh │ ├── install-linux.sh │ ├── install-windows.ps1 │ ├── src │ │ ├── cli.rs │ │ ├── cli │ │ │ ├── bio.rs │ │ │ ├── bio │ │ │ │ ├── bldr.rs │ │ │ │ ├── cli.rs │ │ │ │ ├── config.rs │ │ │ │ ├── file.rs │ │ │ │ ├── license.rs │ │ │ │ ├── origin.rs │ │ │ │ ├── pkg.rs │ │ │ │ ├── plan.rs │ │ │ │ ├── ring.rs │ │ │ │ ├── studio.rs │ │ │ │ ├── sup.rs │ │ │ │ ├── svc.rs │ │ │ │ ├── tests.rs │ │ │ │ ├── user.rs │ │ │ │ ├── util.rs │ │ │ │ └── util │ │ │ │ │ └── tls.rs │ │ │ └── gateway_util.rs │ │ ├── cli_v4.rs │ │ ├── cli_v4 │ │ │ ├── pkg.rs │ │ │ ├── pkg │ │ │ │ ├── binds.rs │ │ │ │ ├── binlink.rs │ │ │ │ ├── build.rs │ │ │ │ ├── bulk_upload.rs │ │ │ │ ├── channels.rs │ │ │ │ ├── config.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── demote.rs │ │ │ │ ├── dependencies.rs │ │ │ │ ├── download.rs │ │ │ │ ├── env.rs │ │ │ │ ├── exec.rs │ │ │ │ ├── export.rs │ │ │ │ ├── hash.rs │ │ │ │ ├── header.rs │ │ │ │ ├── info.rs │ │ │ │ ├── install.rs │ │ │ │ ├── list.rs │ │ │ │ ├── path.rs │ │ │ │ ├── promote.rs │ │ │ │ ├── provides.rs │ │ │ │ ├── search.rs │ │ │ │ ├── sign.rs │ │ │ │ ├── uninstall.rs │ │ │ │ ├── upload.rs │ │ │ │ └── verify.rs │ │ │ └── utils.rs │ │ ├── command.rs │ │ ├── command │ │ │ ├── bldr.rs │ │ │ ├── bldr │ │ │ │ ├── channel.rs │ │ │ │ └── channel │ │ │ │ │ ├── create.rs │ │ │ │ │ ├── demote.rs │ │ │ │ │ ├── destroy.rs │ │ │ │ │ ├── list.rs │ │ │ │ │ └── promote.rs │ │ │ ├── cli.rs │ │ │ ├── cli │ │ │ │ └── setup.rs │ │ │ ├── config.rs │ │ │ ├── file.rs │ │ │ ├── launcher.rs │ │ │ ├── origin.rs │ │ │ ├── origin │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── depart.rs │ │ │ │ ├── info.rs │ │ │ │ ├── invitations.rs │ │ │ │ ├── invitations │ │ │ │ │ ├── accept.rs │ │ │ │ │ ├── ignore.rs │ │ │ │ │ ├── list_pending_origin.rs │ │ │ │ │ ├── list_user.rs │ │ │ │ │ ├── rescind.rs │ │ │ │ │ └── send.rs │ │ │ │ ├── key.rs │ │ │ │ ├── key │ │ │ │ │ ├── download.rs │ │ │ │ │ ├── export.rs │ │ │ │ │ ├── generate.rs │ │ │ │ │ ├── import.rs │ │ │ │ │ ├── upload.rs │ │ │ │ │ └── upload_latest.rs │ │ │ │ ├── rbac.rs │ │ │ │ ├── rbac │ │ │ │ │ ├── set_role.rs │ │ │ │ │ └── show_role.rs │ │ │ │ ├── secret.rs │ │ │ │ ├── secret │ │ │ │ │ ├── delete.rs │ │ │ │ │ ├── list.rs │ │ │ │ │ └── upload.rs │ │ │ │ └── transfer.rs │ │ │ ├── pkg.rs │ │ │ ├── pkg │ │ │ │ ├── binlink.rs │ │ │ │ ├── build.rs │ │ │ │ ├── bulkupload.rs │ │ │ │ ├── channels.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── demote.rs │ │ │ │ ├── dependencies.rs │ │ │ │ ├── download.rs │ │ │ │ ├── env.rs │ │ │ │ ├── exec.rs │ │ │ │ ├── export.rs │ │ │ │ ├── export │ │ │ │ │ ├── container.rs │ │ │ │ │ ├── export_common.rs │ │ │ │ │ └── tar.rs │ │ │ │ ├── hash.rs │ │ │ │ ├── header.rs │ │ │ │ ├── info.rs │ │ │ │ ├── list.rs │ │ │ │ ├── path.rs │ │ │ │ ├── promote.rs │ │ │ │ ├── provides.rs │ │ │ │ ├── search.rs │ │ │ │ ├── sign.rs │ │ │ │ ├── uninstall.rs │ │ │ │ ├── uninstall │ │ │ │ │ └── uninstall_impl.rs │ │ │ │ ├── upload.rs │ │ │ │ └── verify.rs │ │ │ ├── plan.rs │ │ │ ├── plan │ │ │ │ ├── init.rs │ │ │ │ └── render.rs │ │ │ ├── ring.rs │ │ │ ├── ring │ │ │ │ ├── key.rs │ │ │ │ └── key │ │ │ │ │ ├── export.rs │ │ │ │ │ ├── generate.rs │ │ │ │ │ └── import.rs │ │ │ ├── service.rs │ │ │ ├── service │ │ │ │ ├── key.rs │ │ │ │ └── key │ │ │ │ │ └── generate.rs │ │ │ ├── studio.rs │ │ │ ├── studio │ │ │ │ ├── README.md │ │ │ │ ├── docker.rs │ │ │ │ ├── enter.rs │ │ │ │ └── native.rs │ │ │ ├── sup.rs │ │ │ ├── supportbundle.rs │ │ │ ├── user.rs │ │ │ └── user │ │ │ │ ├── key.rs │ │ │ │ └── key │ │ │ │ └── generate.rs │ │ ├── error.rs │ │ ├── exec.rs │ │ ├── key_type.rs │ │ ├── lib.rs │ │ ├── license.rs │ │ ├── main.rs │ │ ├── main_v2.rs │ │ ├── main_v4.rs │ │ └── scaffolding.rs │ └── static │ │ ├── template_README.md │ │ ├── template_binstub.bat │ │ ├── template_default.toml │ │ ├── template_gitignore │ │ ├── template_plan.ps1 │ │ └── template_plan.sh ├── build-biome.rs ├── builder-api-client │ ├── Cargo.toml │ └── src │ │ ├── builder.rs │ │ ├── error.rs │ │ ├── lib.rs │ │ └── response.rs ├── butterfly │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── protocols │ │ ├── common.proto │ │ ├── newscast.proto │ │ └── swim.proto │ ├── src │ │ ├── client.rs │ │ ├── error.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── member.rs │ │ ├── message.rs │ │ ├── probe_list.rs │ │ ├── protocol.rs │ │ ├── protocol │ │ │ ├── newscast.rs │ │ │ └── swim.rs │ │ ├── rumor.rs │ │ ├── rumor │ │ │ ├── dat_file.rs │ │ │ ├── departure.rs │ │ │ ├── election.rs │ │ │ ├── heat.rs │ │ │ ├── service.rs │ │ │ ├── service_config.rs │ │ │ └── service_file.rs │ │ ├── server.rs │ │ ├── server │ │ │ ├── expire.rs │ │ │ ├── inbound.rs │ │ │ ├── incarnation_store.rs │ │ │ ├── outbound.rs │ │ │ ├── pull.rs │ │ │ ├── push.rs │ │ │ └── timing.rs │ │ └── swim.rs │ └── tests │ │ ├── common │ │ └── mod.rs │ │ ├── encryption │ │ └── mod.rs │ │ ├── integration.rs │ │ └── rumor │ │ ├── departure.rs │ │ ├── election.rs │ │ ├── mod.rs │ │ ├── service.rs │ │ ├── service_config.rs │ │ └── service_file.rs ├── common │ ├── Cargo.toml │ ├── src │ │ ├── cfg_macros.rs │ │ ├── cli.rs │ │ ├── cli │ │ │ └── clap_validators.rs │ │ ├── cli_config.rs │ │ ├── command.rs │ │ ├── command │ │ │ ├── package.rs │ │ │ └── package │ │ │ │ ├── binds.rs │ │ │ │ ├── config.rs │ │ │ │ └── install.rs │ │ ├── consts.rs │ │ ├── error.rs │ │ ├── lib.rs │ │ ├── liveliness_checker.rs │ │ ├── output.rs │ │ ├── owning_refs.rs │ │ ├── package_graph.rs │ │ ├── templating.rs │ │ ├── templating │ │ │ ├── config.rs │ │ │ ├── context.rs │ │ │ ├── helpers.rs │ │ │ ├── helpers │ │ │ │ ├── block_helpers.rs │ │ │ │ ├── each_alive.rs │ │ │ │ ├── pkg_path_for.rs │ │ │ │ ├── str_concat.rs │ │ │ │ ├── str_join.rs │ │ │ │ ├── str_replace.rs │ │ │ │ ├── to_json.rs │ │ │ │ ├── to_lowercase.rs │ │ │ │ ├── to_toml.rs │ │ │ │ ├── to_uppercase.rs │ │ │ │ └── to_yaml.rs │ │ │ ├── hooks.rs │ │ │ ├── package.rs │ │ │ └── test_helpers.rs │ │ ├── types.rs │ │ ├── ui.rs │ │ ├── util.rs │ │ └── util │ │ │ └── path.rs │ └── tests │ │ └── fixtures │ │ ├── bad.toml │ │ ├── foo.toml │ │ ├── hooks │ │ ├── hook_templates │ │ │ └── install │ │ └── install │ │ ├── render_context_schema.json │ │ ├── sample_configs │ │ ├── complex_config.toml │ │ ├── multiple_supervisors_config.toml │ │ └── one_supervisor_not_started.toml │ │ ├── sample_render_context.json │ │ └── templates │ │ ├── all_members.txt │ │ ├── all_members_idx.txt │ │ ├── each_alive.txt │ │ ├── each_alive_idx.txt │ │ └── each_alive_with_identifier.txt ├── core │ ├── Cargo.toml │ ├── build.rs │ ├── src │ │ ├── binlink.rs │ │ ├── crypto.rs │ │ ├── crypto │ │ │ ├── artifact.rs │ │ │ ├── dpapi.rs │ │ │ ├── hash.rs │ │ │ ├── keys.rs │ │ │ └── keys │ │ │ │ ├── cache.rs │ │ │ │ ├── encryption.rs │ │ │ │ ├── encryption │ │ │ │ ├── builder_key.rs │ │ │ │ ├── message.rs │ │ │ │ ├── origin_key.rs │ │ │ │ ├── service_key.rs │ │ │ │ └── user_key.rs │ │ │ │ ├── ring_key.rs │ │ │ │ ├── signing.rs │ │ │ │ └── util.rs │ │ ├── env.rs │ │ ├── error.rs │ │ ├── flowcontrol.rs │ │ ├── flowcontrol │ │ │ └── backoff.rs │ │ ├── fs.rs │ │ ├── lib.rs │ │ ├── locked_env_var.rs │ │ ├── origin.rs │ │ ├── os.rs │ │ ├── os │ │ │ ├── ffi.rs │ │ │ ├── ffi │ │ │ │ └── windows.rs │ │ │ ├── filesystem.rs │ │ │ ├── filesystem │ │ │ │ ├── linux.rs │ │ │ │ └── windows.rs │ │ │ ├── net.rs │ │ │ ├── net │ │ │ │ ├── unix.rs │ │ │ │ └── windows.rs │ │ │ ├── process.rs │ │ │ ├── process │ │ │ │ ├── exec.rs │ │ │ │ ├── exec │ │ │ │ │ └── unix.rs │ │ │ │ ├── unix.rs │ │ │ │ ├── windows.rs │ │ │ │ └── windows_child.rs │ │ │ ├── signals.rs │ │ │ ├── signals │ │ │ │ └── unix.rs │ │ │ ├── system.rs │ │ │ ├── system │ │ │ │ ├── linux.rs │ │ │ │ └── windows.rs │ │ │ ├── users.rs │ │ │ └── users │ │ │ │ ├── admincheck.c │ │ │ │ ├── unix.rs │ │ │ │ └── windows.rs │ │ ├── package.rs │ │ ├── package │ │ │ ├── archive.rs │ │ │ ├── ident.rs │ │ │ ├── install.rs │ │ │ ├── list.rs │ │ │ ├── metadata.rs │ │ │ ├── plan.rs │ │ │ └── target.rs │ │ ├── service.rs │ │ ├── tls.rs │ │ ├── tls │ │ │ ├── ctl_gateway.rs │ │ │ ├── native_tls_wrapper.rs │ │ │ ├── native_tls_wrapper │ │ │ │ └── readers.rs │ │ │ ├── rustls_wrapper.rs │ │ │ └── rustls_wrapper │ │ │ │ ├── readers.rs │ │ │ │ ├── tcp_or_tls_stream.rs │ │ │ │ └── types.rs │ │ ├── url.rs │ │ ├── util.rs │ │ └── util │ │ │ ├── docker.rs │ │ │ ├── posix_perm.rs │ │ │ ├── serde.rs │ │ │ ├── sys.rs │ │ │ ├── text_render.rs │ │ │ └── win_perm.rs │ └── tests │ │ └── fixtures │ │ ├── bin │ │ ├── bin_with_extension.exe │ │ ├── bin_with_no_extension │ │ ├── binstub │ │ ├── binstub.bat │ │ ├── plan.sh │ │ └── win95_dominator.py │ │ ├── bogus_and_corrupt.hart │ │ ├── happyhumans-20160424223347.pub │ │ ├── happyhumans-20160424223347.sig.key │ │ ├── happyhumans-possums-8.1.4-20160427165340-x86_64-linux.hart │ │ ├── keys │ │ ├── fhloston-paradise-20200813211603.pub │ │ ├── origin-key-invalid-version-20160518021451.pub │ │ ├── origin-key-invalid-version-20160518021451.sig.key │ │ ├── origin-key-valid-20160509190508.pub │ │ ├── origin-key-valid-20160509190508.sig.key │ │ ├── ring-key-invalid-version-20160504221247.sym.key │ │ ├── ring-key-valid-20160504220722.sym.key │ │ ├── ruby-rhod-20200813204159.pub │ │ ├── service-key-valid.default@acme-20160509181736.box.key │ │ └── service-key-valid.default@acme-20160509181736.pub │ │ ├── plan.sh │ │ ├── signme.dat │ │ ├── test_package │ │ └── default.toml │ │ └── unhappyhumans-possums-8.1.4-20160427165340-x86_64-linux.hart ├── docs-chef-io │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── archetypes │ │ └── default.md │ ├── config.toml │ ├── content │ │ ├── biome │ │ │ └── bio_setup.md │ │ └── habitat │ │ │ ├── _index.md │ │ │ ├── about_services.md │ │ │ ├── aks.md │ │ │ ├── application_lifecycle_hooks.md │ │ │ ├── application_rebuild_flow.md │ │ │ ├── architecture_overview.md │ │ │ ├── binary_wrapper.md │ │ │ ├── build_helpers.md │ │ │ ├── build_phase_callbacks.md │ │ │ ├── builder_account.md │ │ │ ├── builder_api.md │ │ │ ├── builder_architecture.md │ │ │ ├── builder_origin_packages.md │ │ │ ├── builder_origins.md │ │ │ ├── builder_overview.md │ │ │ ├── builder_profile.md │ │ │ ├── certs_custom.md │ │ │ ├── config_templates.md │ │ │ ├── configuration_management.md │ │ │ ├── container_orchestration.md │ │ │ ├── containers.md │ │ │ ├── continuous_integration.md │ │ │ ├── dependency_update_flow.md │ │ │ ├── docker_automated_flow.md │ │ │ ├── docker_flow.md │ │ │ ├── ecs.md │ │ │ ├── environment_variables.md │ │ │ ├── gcr.md │ │ │ ├── get_started.md │ │ │ ├── install_faq.md │ │ │ ├── install_habitat.md │ │ │ ├── keys.md │ │ │ ├── kubernetes.md │ │ │ ├── monitor_services.md │ │ │ ├── on_prem_flow.md │ │ │ ├── origin_keys.md │ │ │ ├── origin_rbac.md │ │ │ ├── origin_settings.md │ │ │ ├── origins.md │ │ │ ├── package_build_flow.md │ │ │ ├── package_contents.md │ │ │ ├── pattern_library.md │ │ │ ├── pkg_binds.md │ │ │ ├── pkg_build.md │ │ │ ├── pkg_exports.md │ │ │ ├── pkg_ids.md │ │ │ ├── pkg_promote.md │ │ │ ├── plan_contents.md │ │ │ ├── plan_helpers.md │ │ │ ├── plan_quickstart.md │ │ │ ├── plan_settings.md │ │ │ ├── plan_variables.md │ │ │ ├── plan_writing.md │ │ │ ├── promote_packages.md │ │ │ ├── reusable │ │ │ ├── index.md │ │ │ └── md │ │ │ │ ├── biome_builder_overview.md │ │ │ │ ├── biome_plans_overview.md │ │ │ │ ├── biome_services_overview.md │ │ │ │ ├── biome_studio_overview.md │ │ │ │ └── biome_supervisor_overview.md │ │ │ ├── running_biome_linux_containers.md │ │ │ ├── running_biome_servers.md │ │ │ ├── running_biome_windows_containers.md │ │ │ ├── runtime_binding.md │ │ │ ├── scaffolding.md │ │ │ ├── service_group_configuration.md │ │ │ ├── service_group_topologies.md │ │ │ ├── service_group_updates.md │ │ │ ├── service_groups.md │ │ │ ├── service_restarts.md │ │ │ ├── service_updates.md │ │ │ ├── studio.md │ │ │ ├── sup.md │ │ │ ├── sup_config.md │ │ │ ├── sup_crypto.md │ │ │ ├── sup_design.md │ │ │ ├── sup_elections.md │ │ │ ├── sup_launcher.md │ │ │ ├── sup_log_configuration.md │ │ │ ├── sup_log_keys.md │ │ │ ├── sup_networks.md │ │ │ ├── sup_pkg_config.md │ │ │ ├── sup_remote_control.md │ │ │ ├── sup_rings.md │ │ │ ├── sup_run.md │ │ │ ├── sup_secure.md │ │ │ ├── sup_update.md │ │ │ └── supervisor_api.md │ ├── cspell.json │ ├── data │ │ └── README.md │ ├── go.mod │ ├── main.go │ ├── netlify.toml │ ├── netlify_production │ │ └── index.html │ └── static │ │ ├── biome-api-docs │ │ ├── builder-api.json │ │ └── sup-api.json │ │ └── images │ │ ├── biome │ │ ├── bio-setup-complete.png │ │ └── bio-setup.png │ │ └── habitat │ │ ├── authorize.png │ │ ├── biome-and-kubernetes-three-tiers-of-service-deployment.png │ │ ├── biome-application-rebuild-flow.png │ │ ├── biome-architecture-overview.png │ │ ├── biome-automated-docker-container-publishing-flow.png │ │ ├── biome-builder-architecture.png │ │ ├── biome-dependency-update-flow.png │ │ ├── biome-diagrams-thumb.png │ │ ├── biome-initial-docker-container-publishing-flow.png │ │ ├── biome-initial-package-build-flow.png │ │ ├── biome-logo.svg │ │ ├── biome-on-premises-builder-depot-flow.png │ │ ├── biome-promote-packages-through-channels.png │ │ ├── biome-runtime-service-group-binding.png │ │ ├── build-job-view.png │ │ ├── builder-build-latest-version.png │ │ ├── builder-key-upload.png │ │ ├── builder-view-build-job-icon.svg │ │ ├── builder_origin_members.png │ │ ├── builder_profile.png │ │ ├── builder_profile_user.png │ │ ├── builder_signin.png │ │ ├── connect-plan-builder.png │ │ ├── copy-token.png │ │ ├── create-origin-done.png │ │ ├── create-origin-form.png │ │ ├── create-origin.png │ │ ├── demo-tutorial-thumb.png │ │ ├── deploy-services-to-kubernetes-with-biome-flow.png │ │ ├── environment_variable.png │ │ ├── environment_variable_echo.png │ │ ├── environment_variable_new.png │ │ ├── environment_variable_new_var.png │ │ ├── environment_variable_set.png │ │ ├── exports_callout.png │ │ ├── generate-token.png │ │ ├── mesos1-services-marathon.png │ │ ├── mesos2-new-application.png │ │ ├── mesos3-new-application-json.png │ │ ├── mesos4-application.png │ │ ├── mesos5-debugging.png │ │ ├── origin-key-download.png │ │ ├── origin-keys.png │ │ ├── origin-members.png │ │ ├── origin-secrets.png │ │ ├── profile.png │ │ ├── supervisor_a_after.png │ │ ├── supervisor_a_before.png │ │ ├── supervisor_b_after.png │ │ └── supervisor_b_before.png ├── http-client │ ├── Cargo.toml │ └── src │ │ ├── api_client.rs │ │ ├── error.rs │ │ └── lib.rs ├── launcher-client │ ├── Cargo.toml │ └── src │ │ ├── client.rs │ │ ├── error.rs │ │ └── lib.rs ├── launcher-protocol │ ├── Cargo.toml │ ├── build.rs │ ├── protocols │ │ ├── error.proto │ │ ├── launcher.proto │ │ ├── net.proto │ │ └── supervisor.proto │ └── src │ │ ├── error.rs │ │ ├── generated.rs │ │ ├── lib.rs │ │ └── types.rs ├── launcher │ ├── Cargo.toml │ ├── README.md │ ├── habitat │ │ ├── plan.ps1 │ │ └── plan.sh │ └── src │ │ ├── error.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── server.rs │ │ ├── server │ │ ├── handlers.rs │ │ └── handlers │ │ │ ├── pid.rs │ │ │ ├── restart.rs │ │ │ ├── spawn.rs │ │ │ ├── terminate.rs │ │ │ └── version.rs │ │ ├── service.rs │ │ ├── sys.rs │ │ └── sys │ │ ├── unix │ │ └── service.rs │ │ └── windows │ │ └── service.rs ├── libbuild.rs ├── pkg-export-container │ ├── Cargo.toml │ ├── build.rs │ ├── defaults │ │ ├── Dockerfile.hbs │ │ ├── Dockerfile_win.hbs │ │ ├── containers-policy.json │ │ ├── etc │ │ │ ├── group │ │ │ ├── nsswitch.conf │ │ │ ├── passwd │ │ │ └── resolv.conf │ │ ├── init.sh.hbs │ │ └── last_container_export.env.hbs │ ├── habitat │ │ ├── plan.ps1 │ │ └── plan.sh │ └── src │ │ ├── accounts.rs │ │ ├── build.rs │ │ ├── cli.rs │ │ ├── container.rs │ │ ├── engine.rs │ │ ├── engine │ │ ├── buildah.rs │ │ └── docker.rs │ │ ├── error.rs │ │ ├── graph.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── naming.rs │ │ ├── os.rs │ │ ├── os │ │ ├── check.rs │ │ └── check │ │ │ └── windows.rs │ │ ├── rootfs.rs │ │ └── util.rs ├── pkg-export-tar │ ├── Cargo.toml │ ├── build.rs │ ├── habitat │ │ ├── plan.ps1 │ │ └── plan.sh │ └── src │ │ ├── build.rs │ │ ├── cli.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ └── rootfs.rs ├── plan-build-ps1 │ ├── bin │ │ ├── bio-plan-build.ps1 │ │ ├── environment.ps1 │ │ └── shared.ps1 │ ├── habitat │ │ └── plan.ps1 │ └── tests │ │ ├── environment.tests.ps1 │ │ ├── get_habpackagepath.tests.ps1 │ │ └── test.ps1 ├── plan-build │ ├── bin │ │ ├── bio-plan-build-darwin-internal.bash │ │ ├── bio-plan-build-darwin.sh │ │ ├── bio-plan-build-linux.sh │ │ ├── darwin-sandbox.sb │ │ ├── environment.bash │ │ ├── public.bash │ │ └── shared.bash │ ├── habitat │ │ └── plan.sh │ └── test │ │ ├── environment.bats │ │ └── public.bats ├── rootless_studio │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── build.sh │ ├── default │ │ ├── Dockerfile │ │ ├── build │ │ ├── entrypoint.sh │ │ ├── etc │ │ │ ├── biome-studio │ │ │ │ ├── environment.sh │ │ │ │ ├── import_keys.sh │ │ │ │ └── logging.sh │ │ │ ├── group │ │ │ ├── nsswitch.conf │ │ │ └── passwd │ │ ├── profile │ │ └── profile.enter │ └── tests │ │ ├── README.md │ │ ├── bats │ │ └── secrets.bats │ │ ├── dejagnu │ │ └── studio │ │ │ └── secrets_are_passed.exp │ │ └── fixtures │ │ └── plans │ │ └── test_build_with_secrets │ │ ├── README.md │ │ └── plan.sh ├── rst-reader │ ├── Cargo.toml │ ├── README.md │ └── src │ │ ├── error.rs │ │ └── main.rs ├── studio │ ├── Makefile │ ├── README.md │ ├── bin │ │ ├── SupervisorBootstrapper.cs │ │ ├── bio-studio-darwin.sh │ │ ├── bio-studio-linux.sh │ │ └── bio-studio.ps1 │ ├── defaults │ │ └── etc │ │ │ ├── group │ │ │ ├── inputrc │ │ │ ├── nsswitch.conf │ │ │ └── passwd │ ├── habitat │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── libexec │ │ ├── bio-studio-darwin-profile.sh │ │ ├── bio-studio-profile.sh │ │ ├── bio-studio-type-bare.sh │ │ ├── bio-studio-type-baseimage.sh │ │ ├── bio-studio-type-bootstrap.sh │ │ ├── bio-studio-type-busybox.sh │ │ ├── bio-studio-type-darwin-bootstrap.sh │ │ ├── bio-studio-type-darwin-default.sh │ │ ├── bio-studio-type-default.sh │ │ ├── bio-studio-type-stage1.sh │ │ └── darwin-sandbox.sb │ └── test │ │ ├── test.ps1 │ │ └── test.sh ├── sup-client │ ├── Cargo.toml │ └── src │ │ └── lib.rs ├── sup-protocol │ ├── Cargo.toml │ ├── build.rs │ ├── protocols │ │ ├── ctl.proto │ │ ├── net.proto │ │ └── types.proto │ └── src │ │ ├── butterfly.rs │ │ ├── codec.rs │ │ ├── ctl.rs │ │ ├── lib.rs │ │ ├── message.rs │ │ ├── net.rs │ │ └── types.rs ├── sup │ ├── Cargo.toml │ ├── build.rs │ ├── doc │ │ ├── api.yaml │ │ ├── http_gateway_butterfly_schema.json │ │ ├── http_gateway_census_schema.json │ │ ├── http_gateway_services_schema.json │ │ ├── render_context_schema.json │ │ └── template.hbs │ ├── habitat │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── protocols │ │ └── event.proto │ ├── src │ │ ├── census.rs │ │ ├── cli.rs │ │ ├── cli_test_helpers.rs │ │ ├── command.rs │ │ ├── command │ │ │ └── shell.rs │ │ ├── ctl_gateway.rs │ │ ├── ctl_gateway │ │ │ ├── acceptor.rs │ │ │ ├── handler.rs │ │ │ └── server.rs │ │ ├── error.rs │ │ ├── event.rs │ │ ├── event │ │ │ ├── error.rs │ │ │ ├── nats_message_stream.rs │ │ │ └── types.rs │ │ ├── http_gateway.rs │ │ ├── lib.rs │ │ ├── lock_file.rs │ │ ├── logger.rs │ │ ├── logger │ │ │ └── env_logger_compatibility.rs │ │ ├── main.rs │ │ ├── manager.rs │ │ ├── manager │ │ │ ├── action.rs │ │ │ ├── commands.rs │ │ │ ├── file_watcher.rs │ │ │ ├── peer_watcher.rs │ │ │ ├── self_updater.rs │ │ │ ├── service.rs │ │ │ ├── service │ │ │ │ ├── context.rs │ │ │ │ ├── health.rs │ │ │ │ ├── hook_runner.rs │ │ │ │ ├── hooks.rs │ │ │ │ ├── pipe_hook_client.rs │ │ │ │ ├── spec.rs │ │ │ │ ├── supervisor.rs │ │ │ │ └── terminator.rs │ │ │ ├── service_updater.rs │ │ │ ├── service_updater │ │ │ │ ├── package_update_worker.rs │ │ │ │ └── rolling_update_worker.rs │ │ │ ├── spec_dir.rs │ │ │ ├── spec_watcher.rs │ │ │ ├── sup_watcher.rs │ │ │ ├── sys.rs │ │ │ └── user_config_watcher.rs │ │ ├── sys.rs │ │ ├── sys │ │ │ ├── unix.rs │ │ │ ├── unix │ │ │ │ └── service.rs │ │ │ ├── windows.rs │ │ │ └── windows │ │ │ │ └── service.rs │ │ ├── test_helpers.rs │ │ ├── util.rs │ │ └── util │ │ │ └── pkg.rs │ ├── static │ │ ├── named_pipe_service.ps1 │ │ └── plan.sh │ └── tests │ │ ├── fixtures │ │ ├── hooks │ │ │ └── hook_templates │ │ │ │ ├── health-check │ │ │ │ ├── init │ │ │ │ └── run │ │ ├── http-gateway │ │ │ ├── sample-butterfly-output.json │ │ │ ├── sample-census-output.json │ │ │ ├── sample-services-with-cfg-output.json │ │ │ └── sample-services-without-cfg-output.json │ │ ├── integration │ │ │ ├── config-and-hooks-no-reconfigure.spec │ │ │ ├── config-and-hooks-no-reconfigure │ │ │ │ ├── TARGET │ │ │ │ ├── config │ │ │ │ │ └── app-config.toml │ │ │ │ └── hooks │ │ │ │ │ ├── file-updated │ │ │ │ │ ├── health-check │ │ │ │ │ ├── init │ │ │ │ │ ├── post-run │ │ │ │ │ ├── post-stop │ │ │ │ │ ├── run │ │ │ │ │ └── suitability │ │ │ ├── config-and-hooks-with-reconfigure.spec │ │ │ ├── config-and-hooks-with-reconfigure │ │ │ │ ├── TARGET │ │ │ │ ├── config │ │ │ │ │ └── app-config.toml │ │ │ │ └── hooks │ │ │ │ │ ├── file-updated │ │ │ │ │ ├── health-check │ │ │ │ │ ├── init │ │ │ │ │ ├── post-run │ │ │ │ │ ├── post-stop │ │ │ │ │ ├── reconfigure │ │ │ │ │ ├── run │ │ │ │ │ └── suitability │ │ │ ├── install-hook-fails-with-dependency.spec │ │ │ ├── install-hook-fails-with-dependency │ │ │ │ ├── TARGET │ │ │ │ ├── TDEPS │ │ │ │ └── hooks │ │ │ │ │ └── run │ │ │ ├── install-hook-fails.spec │ │ │ ├── install-hook-fails │ │ │ │ ├── TARGET │ │ │ │ └── hooks │ │ │ │ │ ├── install │ │ │ │ │ └── run │ │ │ ├── install-hook-succeeds-with-dependency.spec │ │ │ ├── install-hook-succeeds-with-dependency │ │ │ │ ├── TARGET │ │ │ │ ├── TDEPS │ │ │ │ └── hooks │ │ │ │ │ └── run │ │ │ ├── install-hook-succeeds.spec │ │ │ └── install-hook-succeeds │ │ │ │ ├── TARGET │ │ │ │ └── hooks │ │ │ │ ├── install │ │ │ │ └── run │ │ ├── pkgs │ │ │ └── hab │ │ │ │ └── pkgs │ │ │ │ ├── core │ │ │ │ ├── 7zip │ │ │ │ │ └── 16.04 │ │ │ │ │ │ └── 20170131110814 │ │ │ │ │ │ ├── IDENT │ │ │ │ │ │ ├── MANIFEST │ │ │ │ │ │ ├── PATH │ │ │ │ │ │ ├── SVC_GROUP │ │ │ │ │ │ ├── SVC_USER │ │ │ │ │ │ └── TARGET │ │ │ │ └── tree │ │ │ │ │ └── 1.7.0 │ │ │ │ │ └── 20180609045201 │ │ │ │ │ ├── BUILD_DEPS │ │ │ │ │ ├── BUILD_TDEPS │ │ │ │ │ ├── CFLAGS │ │ │ │ │ ├── CPPFLAGS │ │ │ │ │ ├── CXXFLAGS │ │ │ │ │ ├── DEPS │ │ │ │ │ ├── FILES │ │ │ │ │ ├── IDENT │ │ │ │ │ ├── LDFLAGS │ │ │ │ │ ├── LD_RUN_PATH │ │ │ │ │ ├── MANIFEST │ │ │ │ │ ├── PATH │ │ │ │ │ ├── RUNTIME_ENVIRONMENT │ │ │ │ │ ├── RUNTIME_PATH │ │ │ │ │ ├── TARGET │ │ │ │ │ ├── TDEPS │ │ │ │ │ └── TYPE │ │ │ │ ├── test-bind-native │ │ │ │ └── test-bind-native-linux-aarch64 │ │ │ │ │ └── 0.1.0 │ │ │ │ │ └── 20220701090436 │ │ │ │ │ ├── BINDS │ │ │ │ │ ├── BINDS_OPTIONAL │ │ │ │ │ ├── FILES │ │ │ │ │ ├── IDENT │ │ │ │ │ ├── MANIFEST │ │ │ │ │ └── TARGET │ │ │ │ └── test-bind │ │ │ │ ├── test-bind-win │ │ │ │ └── 0.1.0 │ │ │ │ │ └── 20190219231616 │ │ │ │ │ ├── BINDS │ │ │ │ │ ├── BINDS_OPTIONAL │ │ │ │ │ ├── IDENT │ │ │ │ │ ├── MANIFEST │ │ │ │ │ ├── SVC_GROUP │ │ │ │ │ ├── SVC_USER │ │ │ │ │ ├── TARGET │ │ │ │ │ └── default.toml │ │ │ │ └── test-bind │ │ │ │ └── 0.1.0 │ │ │ │ └── 20190219230309 │ │ │ │ ├── BINDS │ │ │ │ ├── BINDS_OPTIONAL │ │ │ │ ├── FILES │ │ │ │ ├── IDENT │ │ │ │ ├── MANIFEST │ │ │ │ ├── TARGET │ │ │ │ ├── TYPE │ │ │ │ └── default.toml │ │ └── sample_render_context.json │ │ ├── integration.rs │ │ └── utils │ │ ├── bio_root.rs │ │ ├── fixture_root.rs │ │ ├── fs.rs │ │ ├── mod.rs │ │ ├── test_butterfly.rs │ │ ├── test_helpers.rs │ │ └── test_sup.rs ├── win-users │ ├── Cargo.toml │ ├── build.rs │ └── src │ │ ├── account.rs │ │ ├── lib.rs │ │ ├── obtain_sid.c │ │ └── sid.rs └── windows-service │ ├── .gitignore │ ├── App.config │ ├── BioService.cs │ ├── BioService.sln │ ├── README.md │ ├── WindowsService.csproj │ ├── biome.ps1 │ ├── hooks │ └── install │ ├── install.bat │ ├── log4net.xml │ ├── plan.ps1 │ └── uninstall.bat ├── dev-docs ├── Migrations.md └── dev │ ├── README.md │ └── design_documents │ └── locking.md ├── docker-compose.yml ├── images ├── biome-application-rebuild-flow.png ├── biome-architecture-overview.png ├── biome-automated-docker-container-publishing-flow.png ├── biome-dependency-update-flow.png ├── biome-flow-infographic.png ├── biome-initial-docker-container-publishing-flow.png ├── biome-initial-package-build-flow.png ├── biome-promote-packages-through-channels.png ├── election-flow.graffle ├── election-flow.png ├── overview-youtube-image.jpg └── standalone.png ├── plan.toml ├── run-bats.sh ├── rust-toolchain ├── schedule-builder-jobs.sh ├── support ├── account_creation_report.sh ├── allowed_lints.txt ├── ci │ └── deploy_website.sh ├── denied_lints.txt ├── devshell_profile.sh ├── lints_to_fix.txt ├── linux │ ├── install_dev_0_arch.sh │ ├── install_dev_0_centos_7.sh │ ├── install_dev_0_ubuntu_14.04.sh │ ├── install_dev_0_ubuntu_latest.sh │ ├── install_dev_8_docker.sh │ └── install_dev_9_linux.sh ├── mac │ ├── install_dev_0_mac_latest.sh │ └── install_dev_9_mac.sh ├── rustfmt_nightly.sh └── unexamined_lints.txt ├── test-services ├── force-kill │ ├── hooks │ │ └── run │ └── plan.sh ├── supplemental-group-tester │ ├── README.md │ ├── hooks │ │ ├── init │ │ └── run │ └── plan.sh └── test-probe │ ├── Cargo.toml │ ├── README.md │ ├── habitat │ ├── aarch64-linux │ │ ├── config │ │ │ ├── config.toml │ │ │ └── render_context.json │ │ ├── default.toml │ │ ├── health_exit │ │ ├── hooks │ │ │ ├── health-check │ │ │ ├── init │ │ │ ├── post-run │ │ │ ├── post-stop │ │ │ └── run │ │ └── plan.sh │ ├── x86_64-linux │ │ ├── config │ │ │ ├── config.toml │ │ │ └── render_context.json │ │ ├── default.toml │ │ ├── health_exit │ │ ├── hooks │ │ │ ├── health-check │ │ │ ├── init │ │ │ ├── post-run │ │ │ ├── post-stop │ │ │ └── run │ │ └── plan.sh │ └── x86_64-windows │ │ ├── config │ │ ├── config.toml │ │ └── render_context.json │ │ ├── default.toml │ │ ├── health_exit │ │ ├── hooks │ │ ├── health-check.ps1 │ │ ├── init.ps1 │ │ ├── post-run.ps1 │ │ ├── post-stop.ps1 │ │ └── run.ps1 │ │ └── plan.ps1 │ ├── src │ ├── config.rs │ ├── context.rs │ ├── error.rs │ └── main.rs │ └── tests │ └── fixtures │ └── sample_render_context.json ├── test ├── end-to-end │ ├── automate │ │ └── Dockerfile │ ├── fixtures │ │ └── pkg_download │ │ │ ├── bad_header.toml │ │ │ ├── bad_ident.toml │ │ │ ├── bad_target.toml │ │ │ ├── happy_path.toml │ │ │ ├── no_header.toml │ │ │ └── no_target.toml │ ├── hup-does-not-abandon-services.exp │ ├── multi-supervisor │ │ ├── Dockerfile │ │ ├── Makefile │ │ ├── README.md │ │ ├── defaults │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ ├── docker-compose.yml │ │ ├── new_testcase.sh │ │ ├── run_all.sh │ │ ├── run_test_case.sh │ │ ├── supervisor │ │ │ ├── Dockerfile │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ └── etc │ │ │ │ ├── group │ │ │ │ └── passwd │ │ └── testcases │ │ │ ├── apply_config_from_file │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── apply_config_from_stdin │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── bad_secret_key │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── new-config-is-gossiped │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── peer_watcher │ │ │ ├── Dockerfile │ │ │ ├── PEERS │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── preseed-service-group-config │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── rolling_update │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── rolling_update_demote_mid_update │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── rolling_update_remove_follower_keep_quorum │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── rolling_update_remove_leader_keep_quorum │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── rolling_update_remove_leader_lose_quorum │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── send_file │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── service_files_are_written_to_disk_when_service_is_loaded │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ ├── with_ring_encryption │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ │ │ └── with_user_and_service_encryption │ │ │ ├── Dockerfile │ │ │ ├── cache_keys │ │ │ ├── mctesterson-20200811182846.pub │ │ │ └── redis.default@e2e-20200811182943.pub │ │ │ ├── cache_keys_no_user │ │ │ └── redis.default@e2e-20200811182943.pub │ │ │ ├── docker-compose.override.yml │ │ │ └── run_test.ps1 │ ├── studio-driver.exp │ ├── test_alternate_error_exit_codes.ps1 │ ├── test_at_once_service_updater.ps1 │ ├── test_bio_bldr_channel_list_sandbox_optn.ps1 │ ├── test_bio_help_doesnt_install_bio_sup.ps1 │ ├── test_cli_config_file.ps1 │ ├── test_config_files.ps1 │ ├── test_container_exporter.ps1 │ ├── test_docker_studio_can_build_packages.ps1 │ ├── test_event_stream.ps1 │ ├── test_external_binaries.ps1 │ ├── test_fresh_install_can_communicate_with_builder.ps1 │ ├── test_health_check_output_of_http_gateway.ps1 │ ├── test_launcher_checks_supervisor_version.ps1 │ ├── test_launcher_exits_on_supervisor_connection_failure.ps1 │ ├── test_launcher_exits_on_supervisor_startup_failure.ps1 │ ├── test_license.ps1 │ ├── test_pkg_bulkupload.ps1 │ ├── test_pkg_download.ps1 │ ├── test_pkg_install.ps1 │ ├── test_pkg_uninstall.ps1 │ ├── test_pkg_uninstall_hook.ps1 │ ├── test_self_keep_latest_packages.ps1 │ ├── test_self_signed_cert_is_loaded_by_hab.ps1 │ ├── test_service_pids_come_from_new_launcher.ps1 │ ├── test_service_pids_written_to_file_using_old_launcher.ps1 │ ├── test_simple_hooks.ps1 │ ├── test_socket_file_cleanup.ps1 │ ├── test_ssl_certificate_loading.ps1 │ ├── test_studio_auto_installs.ps1 │ ├── test_studio_can_build_packages.ps1 │ ├── test_studio_can_build_packages_no_package_install_env.ps1 │ ├── test_studio_can_build_packages_with_pkg_version_function.ps1 │ ├── test_studio_can_build_scaffolded_package.ps1 │ ├── test_studio_internals.sh │ ├── test_studio_profile.ps1 │ ├── test_studio_supervisor.ps1 │ ├── test_studio_unmount_with_long_filesystem.ps1 │ ├── test_studio_version.ps1 │ ├── test_studio_when_ssl_cert_file_isnt_cached.sh │ ├── test_studio_with_ssl_cert_file_envvar_set.ps1 │ ├── test_supervisor_binds.ps1 │ ├── test_supervisor_load_service.ps1 │ ├── test_supervisor_load_service_with_password.ps1 │ ├── test_supervisor_load_with_bio_user.ps1 │ ├── test_supervisor_lock_file_behavior.ps1 │ ├── test_supervisor_restarts.ps1 │ ├── test_supervisor_term.ps1 │ ├── test_supervisor_windows_service.ps1 │ ├── test_supervisor_windows_shutdown.ps1 │ ├── test_supplemental_groups.ps1 │ ├── test_svc_update.ps1 │ ├── test_tar_export.ps1 │ ├── test_tls_ctl_gateway.ps1 │ └── test_windows_service_stops_on_launcher_termination.ps1 ├── fixtures │ ├── after-failure-plan │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── after-success-plan │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── bad-hook-extension-plan │ │ ├── hooks │ │ │ ├── install │ │ │ ├── install.ps1 │ │ │ └── install.sh │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── breakable-refresh-downgrade │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── broken-after-failure-plan │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── broken-after-success-plan │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── custom-hook-exit-code │ │ ├── hooks │ │ │ ├── install │ │ │ └── uninstall │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── database-server │ │ └── hooks │ │ │ └── health_check │ ├── dep-pkg-1 │ │ ├── hooks │ │ │ └── install │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── dep-pkg-2 │ │ ├── hooks │ │ │ └── install │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── dep-pkg-3 │ │ ├── hooks │ │ │ └── install │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── dep-pkg-4 │ │ ├── hooks │ │ │ └── install │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── dep-uninstall-hook │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── health-check-performance │ │ ├── health-check-performance-00 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-01 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-02 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-03 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-04 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-05 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-06 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-07 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-08 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-09 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-10 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-11 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-12 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ ├── health-check-performance-13 │ │ │ ├── x86_64-linux │ │ │ │ ├── hooks │ │ │ │ │ ├── health-check.sh │ │ │ │ │ └── run.sh │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ ├── hooks │ │ │ │ ├── health-check.ps1 │ │ │ │ └── run.ps1 │ │ │ │ └── plan.ps1 │ │ └── health-check-performance-14 │ │ │ ├── x86_64-linux │ │ │ ├── hooks │ │ │ │ ├── health-check.sh │ │ │ │ └── run.sh │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ ├── hooks │ │ │ ├── health-check.ps1 │ │ │ └── run.ps1 │ │ │ └── plan.ps1 │ ├── hook-extension-plan │ │ ├── x86_64-linux │ │ │ ├── hooks │ │ │ │ └── install.sh │ │ │ └── plan.sh │ │ └── x86_64-windows │ │ │ ├── hooks │ │ │ └── install.ps1 │ │ │ └── plan.ps1 │ ├── minimal-package │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── pkg_version │ │ └── plan.ps1 │ ├── plan-in-biome-target │ │ ├── biome │ │ │ ├── x86_64-linux │ │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ │ └── plan.ps1 │ │ └── habitat │ │ │ ├── x86_64-linux │ │ │ └── plan.sh │ │ │ └── x86_64-windows │ │ │ └── plan.ps1 │ ├── plan-in-biome │ │ └── habitat │ │ │ ├── plan.ps1 │ │ │ └── plan.sh │ ├── plan-in-habitat │ │ └── habitat │ │ │ ├── plan.ps1 │ │ │ └── plan.sh │ ├── plan-in-none │ │ └── plan.barf │ ├── plan-in-root-and-biome │ │ └── habitat │ │ │ ├── plan.ps1 │ │ │ └── plan.sh │ ├── plan-in-root-and-habitat │ │ ├── habitat │ │ │ ├── plan.ps1 │ │ │ └── plan.sh │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── plan-in-root-and-target │ │ ├── plan.ps1 │ │ ├── plan.sh │ │ ├── x86_64-linux │ │ │ └── plan.sh │ │ └── x86_64-windows │ │ │ └── plan.ps1 │ ├── plan-in-root │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── plan-in-target │ │ ├── x86_64-linux │ │ │ └── plan.sh │ │ └── x86_64-windows │ │ │ └── plan.ps1 │ ├── plans │ │ ├── nats-event-stream-test │ │ │ ├── hooks │ │ │ │ ├── health-check │ │ │ │ └── run │ │ │ └── plan.sh │ │ └── simple-hooks │ │ │ ├── hooks │ │ │ ├── health-check │ │ │ ├── init │ │ │ ├── install │ │ │ ├── post-run │ │ │ ├── post-stop │ │ │ └── run │ │ │ ├── plan.ps1 │ │ │ └── plan.sh │ ├── render │ │ ├── README.md │ │ ├── consul │ │ │ ├── config │ │ │ │ └── consul_config.json │ │ │ ├── consul-config.inspec.rb │ │ │ ├── default.toml │ │ │ ├── hooks │ │ │ │ └── run │ │ │ ├── override.json │ │ │ └── user.toml │ │ └── error │ │ │ ├── consul_config.json │ │ │ ├── default.toml │ │ │ └── override.json │ ├── runtime-env-consumer-plan │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── runtime-env-plan │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── scaffolding │ │ ├── lib │ │ │ ├── scaffolding.ps1 │ │ │ └── scaffolding.sh │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── testpkg1 │ │ └── plan.sh │ ├── testpkg2 │ │ └── plan.sh │ ├── testpkgbindconsumer │ │ ├── config │ │ │ └── myconfig.conf │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── testpkgbindproducer │ │ ├── default.toml │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── testpkgstophook │ │ ├── x86_64-linux │ │ │ ├── hooks │ │ │ │ ├── post-stop │ │ │ │ └── run │ │ │ └── plan.sh │ │ └── x86_64-windows │ │ │ ├── hooks │ │ │ ├── post-stop │ │ │ └── run │ │ │ └── plan.ps1 │ ├── uninstall-hook1 │ │ ├── hooks │ │ │ └── uninstall │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── uninstall-hook2 │ │ ├── hooks │ │ │ └── uninstall │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── uninstall-hook3 │ │ ├── hooks │ │ │ └── uninstall │ │ ├── plan.ps1 │ │ └── plan.sh │ ├── use_scaffolding │ │ ├── plan.ps1 │ │ └── plan.sh │ └── windows_plans │ │ ├── dummy │ │ ├── hooks │ │ │ ├── init │ │ │ ├── install │ │ │ └── run │ │ └── plan.ps1 │ │ ├── dummy_bio_svc_user │ │ ├── hooks │ │ │ ├── init │ │ │ ├── install │ │ │ └── run │ │ └── plan.ps1 │ │ └── dummy_svc_user │ │ ├── hooks │ │ ├── init │ │ ├── install │ │ └── run │ │ └── plan.ps1 └── integration │ ├── - │ ├── Dockerfile │ ├── README.md │ ├── helpers.bash │ ├── pkg-install.bats │ ├── service-upgrade.bats │ ├── sup-hup.bats │ ├── svc-load.bats │ └── svc-status.bats ├── tmp └── .gitkeep └── tools ├── bio-channel-list-pkgs ├── README.md └── bio-channel-list-pkgs.sh ├── bldr_toml_create ├── README.md ├── toml.erb └── toml_create.rb ├── bulk_promote └── promote.sh ├── project_create ├── README.md ├── app.js ├── installations.js ├── jwt.rb ├── project.erb ├── project_create.rb └── repos.js └── sup-network ├── Dockerfile ├── Makefile ├── README.md └── docker-compose.yml /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [registries.crates-io] 2 | protocol = "sparse" 3 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .delivery 2 | !.delivery/scripts 3 | .git 4 | .gitignore 5 | components 6 | !components/bio/install.sh 7 | images 8 | log 9 | plans 10 | results 11 | support 12 | !support/builder 13 | !support/devshell_profile.sh 14 | !support/linux/install_dev_*.sh 15 | target 16 | terraform 17 | !terraform/scripts/* 18 | tmp 19 | vendor 20 | www 21 | *.md 22 | *.yml 23 | *.toml 24 | Makefile 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.box.key 2 | *.rustfmt 3 | *.sig.key 4 | *.sym.key 5 | .cargo/advisory-db/ 6 | .cargo/advisory-db..lock 7 | .DS_Store 8 | .envrc 9 | .secrets 10 | .tags* 11 | .vagrant/ 12 | .vscode 13 | /target 14 | dump.rdb 15 | log/ 16 | results/ 17 | result 18 | tags 19 | terraform.tfstate* 20 | test/builder-api/built/* 21 | test/builder-api/node_modules 22 | test/builder-api/services.log 23 | tmp/ 24 | CTL_SECRET 25 | components/studio/libexec/bio 26 | components/studio/libexec/busybox 27 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "test/integration/test_helper/bats-assert"] 2 | path = test/integration/test_helper/bats-assert 3 | url = https://github.com/ztombol/bats-assert 4 | [submodule "test/integration/test_helper/bats-file"] 5 | path = test/integration/test_helper/bats-file 6 | url = https://github.com/ztombol/bats-file 7 | [submodule "test/integration/test_helper/bats-support"] 8 | path = test/integration/test_helper/bats-support 9 | url = https://github.com/ztombol/bats-support 10 | -------------------------------------------------------------------------------- /.secrets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/.secrets/.gitkeep -------------------------------------------------------------------------------- /MAC_BOOTSTRAPPER_VERSION: -------------------------------------------------------------------------------- 1 | 1.1.6 2 | -------------------------------------------------------------------------------- /POWERSHELL_VERSION: -------------------------------------------------------------------------------- 1 | 7.5.0 2 | -------------------------------------------------------------------------------- /RUSTFMT_VERSION: -------------------------------------------------------------------------------- 1 | nightly-2025-01-09 2 | -------------------------------------------------------------------------------- /RUST_NIGHTLY_VERSION: -------------------------------------------------------------------------------- 1 | nightly-2025-01-09 2 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 2.0.107 -------------------------------------------------------------------------------- /components/bio/src/cli/bio/license.rs: -------------------------------------------------------------------------------- 1 | use configopt::ConfigOpt; 2 | use structopt::StructOpt; 3 | 4 | /// Commands relating to Biome license agreements 5 | #[derive(ConfigOpt, StructOpt)] 6 | #[structopt(name = "license", no_version)] 7 | pub enum License { 8 | /// Accept the Biome Binary Distribution Agreement without prompting 9 | Accept, 10 | } 11 | -------------------------------------------------------------------------------- /components/bio/src/cli/bio/studio.rs: -------------------------------------------------------------------------------- 1 | use super::util::{ConfigOptExternalCommandArgs, 2 | ExternalCommandArgs}; 3 | use configopt::ConfigOpt; 4 | use std::ffi::OsString; 5 | use structopt::StructOpt; 6 | 7 | #[derive(ConfigOpt, StructOpt)] 8 | #[structopt(name = "studio", no_version)] 9 | /// Commands relating to Biome Studios 10 | pub struct Studio { 11 | #[structopt(flatten)] 12 | args: ExternalCommandArgs, 13 | } 14 | 15 | impl Studio { 16 | pub fn args(&self) -> &[OsString] { &self.args.args } 17 | } 18 | -------------------------------------------------------------------------------- /components/bio/src/cli/bio/util/tls.rs: -------------------------------------------------------------------------------- 1 | //! Types for reading certificates, private keys, and root certificate stores from the CLI 2 | 3 | pub use biome_core::tls::rustls_wrapper::{CertificateChainCli, 4 | PrivateKeyCli, 5 | RootCertificateStoreCli}; 6 | -------------------------------------------------------------------------------- /components/bio/src/command.rs: -------------------------------------------------------------------------------- 1 | pub mod bldr; 2 | pub mod cli; 3 | pub mod launcher; 4 | pub mod origin; 5 | pub mod pkg; 6 | pub mod plan; 7 | pub mod ring; 8 | pub mod service; 9 | pub mod studio; 10 | pub mod sup; 11 | pub mod supportbundle; 12 | pub mod user; 13 | -------------------------------------------------------------------------------- /components/bio/src/command/bldr.rs: -------------------------------------------------------------------------------- 1 | pub mod channel; 2 | -------------------------------------------------------------------------------- /components/bio/src/command/bldr/channel.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod demote; 3 | pub mod destroy; 4 | pub mod list; 5 | pub mod promote; 6 | -------------------------------------------------------------------------------- /components/bio/src/command/cli.rs: -------------------------------------------------------------------------------- 1 | pub mod setup; 2 | -------------------------------------------------------------------------------- /components/bio/src/command/config.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /components/bio/src/command/file.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /components/bio/src/command/origin.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod delete; 3 | pub mod depart; 4 | pub mod info; 5 | pub mod invitations; 6 | pub mod key; 7 | pub mod rbac; 8 | pub mod secret; 9 | pub mod transfer; 10 | -------------------------------------------------------------------------------- /components/bio/src/command/origin/invitations.rs: -------------------------------------------------------------------------------- 1 | pub mod accept; 2 | pub mod ignore; 3 | pub mod list_pending_origin; 4 | pub mod list_user; 5 | pub mod rescind; 6 | pub mod send; 7 | -------------------------------------------------------------------------------- /components/bio/src/command/origin/key.rs: -------------------------------------------------------------------------------- 1 | pub mod download; 2 | pub mod export; 3 | pub mod generate; 4 | pub mod import; 5 | pub mod upload; 6 | pub mod upload_latest; 7 | -------------------------------------------------------------------------------- /components/bio/src/command/origin/key/generate.rs: -------------------------------------------------------------------------------- 1 | use crate::{common::ui::{UIWriter, 2 | UI}, 3 | error::Result}; 4 | use biome_core::{crypto::keys::{Key, 5 | KeyCache}, 6 | origin::Origin}; 7 | 8 | pub fn start(ui: &mut UI, origin: &Origin, key_cache: &KeyCache) -> Result<()> { 9 | ui.begin(format!("Generating origin key for {}", origin))?; 10 | let (public, _secret) = key_cache.new_signing_pair(origin)?; 11 | ui.end(format!("Generated origin key pair {}.", public.named_revision()))?; 12 | Ok(()) 13 | } 14 | -------------------------------------------------------------------------------- /components/bio/src/command/origin/rbac.rs: -------------------------------------------------------------------------------- 1 | pub mod set_role; 2 | pub mod show_role; 3 | -------------------------------------------------------------------------------- /components/bio/src/command/origin/secret.rs: -------------------------------------------------------------------------------- 1 | pub mod delete; 2 | pub mod list; 3 | pub mod upload; 4 | -------------------------------------------------------------------------------- /components/bio/src/command/pkg/export.rs: -------------------------------------------------------------------------------- 1 | pub mod container; 2 | mod export_common; 3 | pub mod tar; 4 | -------------------------------------------------------------------------------- /components/bio/src/command/pkg/hash.rs: -------------------------------------------------------------------------------- 1 | use crate::{error::Result, 2 | hcore::crypto::Blake2bHash}; 3 | 4 | pub fn start(src: &str) -> Result<()> { 5 | let h = Blake2bHash::from_file(src)?; 6 | println!("{} {}", h, src); 7 | Ok(()) 8 | } 9 | -------------------------------------------------------------------------------- /components/bio/src/command/pkg/path.rs: -------------------------------------------------------------------------------- 1 | use std::path::Path; 2 | 3 | use crate::hcore::package::{PackageIdent, 4 | PackageInstall}; 5 | 6 | use crate::error::Result; 7 | 8 | pub fn start(ident: &PackageIdent, fs_root_path: &Path) -> Result<()> { 9 | let pkg_install = PackageInstall::load(ident, Some(fs_root_path))?; 10 | println!("{}", pkg_install.installed_path().display()); 11 | Ok(()) 12 | } 13 | -------------------------------------------------------------------------------- /components/bio/src/command/plan.rs: -------------------------------------------------------------------------------- 1 | pub mod init; 2 | pub mod render; 3 | -------------------------------------------------------------------------------- /components/bio/src/command/ring.rs: -------------------------------------------------------------------------------- 1 | pub mod key; 2 | -------------------------------------------------------------------------------- /components/bio/src/command/ring/key.rs: -------------------------------------------------------------------------------- 1 | pub mod export; 2 | pub mod generate; 3 | pub mod import; 4 | -------------------------------------------------------------------------------- /components/bio/src/command/ring/key/generate.rs: -------------------------------------------------------------------------------- 1 | use crate::{common::ui::{UIWriter, 2 | UI}, 3 | error::Result}; 4 | use biome_core::crypto::keys::{Key, 5 | KeyCache}; 6 | 7 | pub fn start(ui: &mut UI, ring: &str, key_cache: &KeyCache) -> Result<()> { 8 | ui.begin(format!("Generating ring key for {}", ring))?; 9 | let key = key_cache.new_ring_key(ring)?; 10 | ui.end(format!("Generated ring key {}.", key.named_revision()))?; 11 | Ok(()) 12 | } 13 | -------------------------------------------------------------------------------- /components/bio/src/command/ring/key/import.rs: -------------------------------------------------------------------------------- 1 | use crate::{common::ui::{UIWriter, 2 | UI}, 3 | error::Result}; 4 | use biome_core::crypto::keys::{Key, 5 | KeyCache, 6 | RingKey}; 7 | 8 | pub fn start(ui: &mut UI, content: &str, key_cache: &KeyCache) -> Result<()> { 9 | ui.begin("Importing ring key from standard input")?; 10 | let key: RingKey = content.parse()?; 11 | key_cache.write_key(&key)?; 12 | ui.end(format!("Imported ring key {}.", &key.named_revision()))?; 13 | Ok(()) 14 | } 15 | -------------------------------------------------------------------------------- /components/bio/src/command/service.rs: -------------------------------------------------------------------------------- 1 | pub mod key; 2 | -------------------------------------------------------------------------------- /components/bio/src/command/service/key.rs: -------------------------------------------------------------------------------- 1 | pub mod generate; 2 | -------------------------------------------------------------------------------- /components/bio/src/command/studio.rs: -------------------------------------------------------------------------------- 1 | pub mod docker; 2 | pub mod enter; 3 | 4 | #[cfg(target_family = "unix")] 5 | pub mod native; 6 | 7 | pub fn docker_studio_support() -> bool { cfg!(target_os = "linux") || cfg!(target_os = "windows") } 8 | -------------------------------------------------------------------------------- /components/bio/src/command/user.rs: -------------------------------------------------------------------------------- 1 | pub mod key; 2 | -------------------------------------------------------------------------------- /components/bio/src/command/user/key.rs: -------------------------------------------------------------------------------- 1 | pub mod generate; 2 | -------------------------------------------------------------------------------- /components/bio/src/command/user/key/generate.rs: -------------------------------------------------------------------------------- 1 | use crate::{common::ui::{UIWriter, 2 | UI}, 3 | error::Result}; 4 | use biome_core::crypto::keys::{Key, 5 | KeyCache}; 6 | 7 | pub fn start(ui: &mut UI, user: &str, key_cache: &KeyCache) -> Result<()> { 8 | ui.begin(format!("Generating user key for {}", user))?; 9 | let (public, _secret) = key_cache.new_user_encryption_pair(user)?; 10 | ui.end(format!("Generated user encryption key pair {}.", 11 | public.named_revision()))?; 12 | Ok(()) 13 | } 14 | -------------------------------------------------------------------------------- /components/bio/src/main.rs: -------------------------------------------------------------------------------- 1 | #[cfg(feature = "v2")] 2 | mod main_v2; 3 | 4 | mod main_v4; 5 | 6 | #[tokio::main] 7 | async fn main() { 8 | if cfg!(feature = "v4") { 9 | main_v4::main_v4().await 10 | } else { 11 | #[cfg(feature = "v2")] 12 | main_v2::main_v2().await 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /components/bio/static/template_binstub.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM target='{target}' 3 | {env} 4 | "{target}" %* 5 | -------------------------------------------------------------------------------- /components/bio/static/template_default.toml: -------------------------------------------------------------------------------- 1 | # Use this file to templatize your application's native configuration files. 2 | # See the docs at https://www.habitat.sh/docs/create-packages-configure/. 3 | # You can safely delete this file if you don't need it. 4 | -------------------------------------------------------------------------------- /components/bio/static/template_gitignore: -------------------------------------------------------------------------------- 1 | results/ 2 | -------------------------------------------------------------------------------- /components/build-biome.rs: -------------------------------------------------------------------------------- 1 | // Inline common build behavior 2 | include!("libbuild.rs"); 3 | 4 | fn main() { biome::common(); } 5 | -------------------------------------------------------------------------------- /components/butterfly/protocols/common.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | package butterfly.common; 3 | 4 | message Wire { 5 | optional bool encrypted = 1 [default = false]; 6 | optional bytes nonce = 2; 7 | optional bytes payload = 3; 8 | } 9 | 10 | -------------------------------------------------------------------------------- /components/butterfly/tests/rumor/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod departure; 2 | pub mod election; 3 | pub mod service; 4 | pub mod service_config; 5 | pub mod service_file; 6 | -------------------------------------------------------------------------------- /components/butterfly/tests/rumor/service.rs: -------------------------------------------------------------------------------- 1 | use crate::btest; 2 | 3 | #[test] 4 | fn two_members_share_services() { 5 | let mut net = btest::SwimNet::new_rhw(2); 6 | net.mesh_mlw_smr(); 7 | net.add_service(0, "core/witcher/1.2.3/20161208121212"); 8 | net.wait_for_rounds(2); 9 | assert!(net[1].service_store 10 | .lock_rsr() 11 | .service_group("witcher.prod") 12 | .contains_id(net[0].member_id())); 13 | } 14 | -------------------------------------------------------------------------------- /components/common/src/command.rs: -------------------------------------------------------------------------------- 1 | pub mod package; 2 | -------------------------------------------------------------------------------- /components/common/src/command/package.rs: -------------------------------------------------------------------------------- 1 | pub mod binds; 2 | pub mod config; 3 | pub mod install; 4 | -------------------------------------------------------------------------------- /components/common/src/consts.rs: -------------------------------------------------------------------------------- 1 | //! Common constants like `bio` package name etc. 2 | 3 | /// Default `bio` package ident 4 | pub const DEFAULT_HAB_PKG_IDENT: &str = "biome/bio"; 5 | 6 | /// Default `bio-sup` package ident 7 | pub const DEFAULT_HAB_SUP_PKG_IDENT: &str = "biome/bio-sup"; 8 | 9 | /// Default `bio-launcher` package ident 10 | pub const DEFAULT_HAB_LAUNCHER_PKG_IDENT: &str = "biome/bio-launcher"; 11 | 12 | /// Default builder URL 13 | pub const DEFAULT_BUILDER_URL: &str = "https://bldr.biome.sh"; 14 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/bad.toml: -------------------------------------------------------------------------------- 1 | foo 2 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/foo.toml: -------------------------------------------------------------------------------- 1 | xyz=1 2 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/hooks/hook_templates/install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "The message is {{cfg.message}}" 4 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/hooks/install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "This is stdout" 4 | echo "This is stderr" 1>&2 5 | echo "This is stdout line 2" 6 | echo "This is stderr line 2" 1>&2 7 | echo "This is stderr line 3" 1>&2 8 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/templates/all_members.txt: -------------------------------------------------------------------------------- 1 | {{~#each svc.members as |member|}} 2 | {{~#if member.alive}} 3 | Member ID: {{member.member_id}} 4 | {{~/if}} 5 | {{~/each}} 6 | 7 | {{~#each svc.members as |member|}} 8 | Member ID: {{member.member_id}} 9 | {{~/each}} 10 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/templates/all_members_idx.txt: -------------------------------------------------------------------------------- 1 | {{~#each svc.members as |member|}} 2 | {{~#if member.alive}} 3 | Member ID: {{member.member_id}} {{@first}} {{@last}} 4 | {{~/if}} 5 | {{~/each}} 6 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/templates/each_alive.txt: -------------------------------------------------------------------------------- 1 | {{~#eachAlive svc.members as |member|}} 2 | Member ID: {{member.member_id}} 3 | {{~/eachAlive}} 4 | 5 | {{~#each svc.members as |member|}} 6 | Member ID: {{member.member_id}} 7 | {{~/each}} 8 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/templates/each_alive_idx.txt: -------------------------------------------------------------------------------- 1 | {{~#eachAlive svc.members as |member|}} 2 | Member ID: {{member.member_id}} {{@first}} {{@last}} 3 | {{~/eachAlive}} 4 | -------------------------------------------------------------------------------- /components/common/tests/fixtures/templates/each_alive_with_identifier.txt: -------------------------------------------------------------------------------- 1 | {{~#eachAlive svc.members as |member|}} 2 | Member ID: {{member.member_id}} 3 | {{~/eachAlive}} 4 | 5 | {{~#each svc.members as |member|}} 6 | Member ID: {{member.member_id}} 7 | {{~/each}} 8 | -------------------------------------------------------------------------------- /components/core/src/flowcontrol.rs: -------------------------------------------------------------------------------- 1 | mod backoff; 2 | pub use backoff::*; 3 | -------------------------------------------------------------------------------- /components/core/src/os.rs: -------------------------------------------------------------------------------- 1 | pub mod ffi; 2 | pub mod filesystem; 3 | pub mod net; 4 | pub mod process; 5 | pub mod signals; 6 | pub mod system; 7 | pub mod users; 8 | -------------------------------------------------------------------------------- /components/core/src/os/ffi.rs: -------------------------------------------------------------------------------- 1 | #[cfg(windows)] 2 | mod windows; 3 | 4 | #[cfg(windows)] 5 | pub use self::windows::OsStrExt3 as OsStrExt; 6 | 7 | #[cfg(not(windows))] 8 | pub use std::os::unix::ffi::OsStrExt; 9 | -------------------------------------------------------------------------------- /components/core/src/os/filesystem.rs: -------------------------------------------------------------------------------- 1 | #[allow(unused_variables)] 2 | #[cfg(windows)] 3 | mod windows; 4 | 5 | #[cfg(windows)] 6 | pub use self::windows::symlink; 7 | 8 | #[cfg(not(windows))] 9 | mod linux; 10 | 11 | #[cfg(not(windows))] 12 | pub use self::linux::symlink; 13 | -------------------------------------------------------------------------------- /components/core/src/os/filesystem/linux.rs: -------------------------------------------------------------------------------- 1 | pub use std::os::unix::fs::symlink; 2 | -------------------------------------------------------------------------------- /components/core/src/os/filesystem/windows.rs: -------------------------------------------------------------------------------- 1 | use std::{io, 2 | path::Path}; 3 | 4 | pub fn symlink, Q: AsRef>(src: P, dst: Q) -> io::Result<()> { 5 | unimplemented!(); 6 | } 7 | -------------------------------------------------------------------------------- /components/core/src/os/process/exec.rs: -------------------------------------------------------------------------------- 1 | #[cfg(unix)] 2 | pub mod unix; 3 | -------------------------------------------------------------------------------- /components/core/src/os/system.rs: -------------------------------------------------------------------------------- 1 | #[cfg(windows)] 2 | mod windows; 3 | #[cfg(windows)] 4 | pub use self::windows::uname; 5 | 6 | #[cfg(not(windows))] 7 | pub mod linux; 8 | #[cfg(not(windows))] 9 | pub use self::linux::uname; 10 | 11 | #[derive(Debug)] 12 | pub struct Uname { 13 | pub sys_name: String, 14 | pub node_name: String, 15 | pub release: String, 16 | pub version: String, 17 | pub machine: String, 18 | } 19 | -------------------------------------------------------------------------------- /components/core/src/os/system/windows.rs: -------------------------------------------------------------------------------- 1 | use crate::{error::Result, 2 | os::system::Uname}; 3 | 4 | pub fn uname() -> Result { 5 | Ok(Uname { sys_name: String::from("Windows"), 6 | node_name: String::from("CHEF-WIN10"), 7 | release: String::from("10.0.14915"), 8 | version: String::from("Microsoft Windows 10 Enterprise Insider Preview"), 9 | machine: String::from("x86_64"), }) 10 | } 11 | -------------------------------------------------------------------------------- /components/core/src/tls/native_tls_wrapper.rs: -------------------------------------------------------------------------------- 1 | mod readers; 2 | 3 | pub use self::readers::*; 4 | -------------------------------------------------------------------------------- /components/core/src/tls/rustls_wrapper.rs: -------------------------------------------------------------------------------- 1 | mod readers; 2 | mod tcp_or_tls_stream; 3 | mod types; 4 | 5 | pub use readers::*; 6 | pub use tcp_or_tls_stream::*; 7 | pub use types::*; 8 | -------------------------------------------------------------------------------- /components/core/tests/fixtures/bin/bin_with_extension.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/bin/bin_with_extension.exe -------------------------------------------------------------------------------- /components/core/tests/fixtures/bin/bin_with_no_extension: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/bin/bin_with_no_extension -------------------------------------------------------------------------------- /components/core/tests/fixtures/bin/binstub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/bin/binstub -------------------------------------------------------------------------------- /components/core/tests/fixtures/bin/binstub.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/bin/binstub.bat -------------------------------------------------------------------------------- /components/core/tests/fixtures/bin/plan.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/bin/plan.sh -------------------------------------------------------------------------------- /components/core/tests/fixtures/bin/win95_dominator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/bin/win95_dominator.py -------------------------------------------------------------------------------- /components/core/tests/fixtures/bogus_and_corrupt.hart: -------------------------------------------------------------------------------- 1 | HART-1 2 | happyhumans-20160424223347-not-valid-identifier! 3 | BLAKE2b 4 | AgdmAKa9wr4ExnSWe5rg2VJh6cc2vOfyXCs3JOnsSm1XtmtQNhhON6fhgp0hW0xZkNcgXmC1lQ7w5WdZU0M4Bjg4MDVlNTU3NWFiOGMwMjllNmQyNTgyNjEzNzlmYmQwMmQ0YmIzZDkwZTIwNjg0N2Q0NTUzYTFiZjczOTVkNjU= 5 | -------------------------------------------------------------------------------- /components/core/tests/fixtures/happyhumans-20160424223347.pub: -------------------------------------------------------------------------------- 1 | SIG-PUB-1 2 | happyhumans-20160424223347 3 | 4 | YFt55lgI3l/vcTEp/7IFGIXgnrLr5bWMADbIvuHKkoY= -------------------------------------------------------------------------------- /components/core/tests/fixtures/happyhumans-20160424223347.sig.key: -------------------------------------------------------------------------------- 1 | SIG-SEC-1 2 | happyhumans-20160424223347 3 | 4 | AO92iutQKfCz6mWaPpQ8CqP2OxHW3aAVTVwXRQQMQLRgW3nmWAjeX+9xMSn/sgUYheCesuvltYwANsi+4cqShg== -------------------------------------------------------------------------------- /components/core/tests/fixtures/happyhumans-possums-8.1.4-20160427165340-x86_64-linux.hart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/happyhumans-possums-8.1.4-20160427165340-x86_64-linux.hart -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/fhloston-paradise-20200813211603.pub: -------------------------------------------------------------------------------- 1 | BOX-PUB-1 2 | fhloston-paradise-20200813211603 3 | 4 | pb05JP8XhhfvPvpYqAQgIXVNzqrSixyX2I10FhzaS1s= 5 | -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/origin-key-invalid-version-20160518021451.pub: -------------------------------------------------------------------------------- 1 | NONSENSE-12 2 | origin-key-invalid-version-20160518021451 3 | 4 | ReHdxiK7CIjM4Gjq53FYHYl+slbFpJrBA0cBiyIQDAQ= 5 | -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/origin-key-invalid-version-20160518021451.sig.key: -------------------------------------------------------------------------------- 1 | NONSENSE-15 2 | origin-key-invalid-version-20160518021451 3 | 4 | o+ahCprW6ROfIl6O+v1qaZbZiK+lrxRjSRTK7Qgh1JhF4d3GIrsIiMzgaOrncVgdiX6yVsWkmsEDRwGLIhAMBA== 5 | -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/origin-key-valid-20160509190508.pub: -------------------------------------------------------------------------------- 1 | SIG-PUB-1 2 | origin-key-valid-20160509190508 3 | 4 | 8XwHPr1V2NOhyIpYzupBDfiB8AAcm00V4slll9G71+Q= -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/origin-key-valid-20160509190508.sig.key: -------------------------------------------------------------------------------- 1 | SIG-SEC-1 2 | origin-key-valid-20160509190508 3 | 4 | hHsCBdPbqEBzrCUQchDxUTKRwohmBwmP3WtncX6pneDxfAc+vVXY06HIiljO6kEN+IHwABybTRXiyWWX0bvX5A== -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/ring-key-invalid-version-20160504221247.sym.key: -------------------------------------------------------------------------------- 1 | NONSENSE-12 2 | ring-key-invalid-version-20160504221247 3 | 4 | x3TABP5co+HIKY+crMP6JaawVxgG3tXRIJMtUPUXgxw= -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/ring-key-valid-20160504220722.sym.key: -------------------------------------------------------------------------------- 1 | SYM-SEC-1 2 | ring-key-valid-20160504220722 3 | 4 | RCFaO84j41GmrzWddxMdsXpGdn3iuIy7Mw3xYrjPLsE= -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/ruby-rhod-20200813204159.pub: -------------------------------------------------------------------------------- 1 | BOX-PUB-1 2 | ruby-rhod-20200813204159 3 | 4 | jJZxtCxhf92SLWWvMgO8WgN/W0uATXxtzOyaK6Eo4Rg= -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/service-key-valid.default@acme-20160509181736.box.key: -------------------------------------------------------------------------------- 1 | BOX-SEC-1 2 | service-key-valid.default@acme-20160509181736 3 | 4 | mP7GwFX7LmaroUp+8f+1PBqcT4M/U6UDITzzBq5t/D0= -------------------------------------------------------------------------------- /components/core/tests/fixtures/keys/service-key-valid.default@acme-20160509181736.pub: -------------------------------------------------------------------------------- 1 | BOX-PUB-1 2 | service-key-valid.default@acme-20160509181736 3 | 4 | zF8W0pNrxBaQzZu6r/iQUTBMFhj8M9wqZwpIB/ZUJiQ= -------------------------------------------------------------------------------- /components/core/tests/fixtures/signme.dat: -------------------------------------------------------------------------------- 1 | foo 2 | -------------------------------------------------------------------------------- /components/core/tests/fixtures/unhappyhumans-possums-8.1.4-20160427165340-x86_64-linux.hart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/core/tests/fixtures/unhappyhumans-possums-8.1.4-20160427165340-x86_64-linux.hart -------------------------------------------------------------------------------- /components/docs-chef-io/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | *.*~ 3 | *~ 4 | 5 | resources/ 6 | public/ 7 | 8 | chef-web-docs/ 9 | .hugo_build.lock 10 | *.work 11 | *.work.sum 12 | -------------------------------------------------------------------------------- /components/docs-chef-io/archetypes/default.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "{{ .Name | humanize | title }}" 3 | date = {{ .Date }} 4 | draft = false 5 | gh_repo = "biome" 6 | 7 | [menu] 8 | [menu.biome] 9 | title = "{{ .Name | humanize | title }}" 10 | identifier = "habitat/{{ .Name }}.md {{ .Name | humanize | title }}" 11 | parent = "biome" 12 | weight = 10 13 | +++ 14 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/application_rebuild_flow.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Application Rebuild Flow" 3 | description = "Application Rebuild Flow" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Application Rebuild Flow" 9 | identifier = "habitat/diagrams/application-rebuild-flow Application Rebuild Flow" 10 | parent = "habitat/diagrams" 11 | weight = 40 12 | 13 | +++ 14 | ![Biome Application Rebuild Flow Diagram](/images/habitat/biome-application-rebuild-flow.png) 15 | 16 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/architecture_overview.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Biome Architecture Overview" 3 | description = "Biome Architecture Overview" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Architecture Overview" 9 | identifier = "habitat/diagrams/architecture-overview" 10 | parent = "habitat/diagrams" 11 | weight = 10 12 | 13 | +++ 14 | 15 | ![Biome Architecture Overview Diagram](/images/habitat/biome-architecture-overview.png) 16 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/builder_api.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Biome Builder API" 3 | aliases = ["/habitat/api/builder-api/"] 4 | date = 2019-03-06T17:25:30-07:00 5 | draft = false 6 | layout = "data-api" 7 | style_sheet = "/biome-api-styles.css" 8 | api_file_path = "/biome-api-docs/builder-api.json" 9 | return_page = "/habitat/" 10 | description = "Biome Builder API documentation." 11 | 12 | [menu] 13 | [menu.biome] 14 | title = "Builder API" 15 | parent = "habitat/reference/api" 16 | identifier = "habitat/reference/api Builder API" 17 | +++ 18 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/builder_architecture.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Biome Builder Architecture" 3 | description = "Biome Builder Architecture" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Biome Builder Architecture" 9 | identifier = "habitat/diagrams/builder-architecture" 10 | parent = "habitat/diagrams" 11 | weight = 90 12 | 13 | +++ 14 | ![Biome Builder Architecture Diagram](/images/habitat/biome-builder-architecture.png) 15 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/dependency_update_flow.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Dependency Update Flow" 3 | description = "Dependency Update Flow" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Dependency Update Flow" 9 | identifier = "habitat/diagrams/dependency-update-flow" 10 | parent = "habitat/diagrams" 11 | weight = 30 12 | 13 | +++ 14 | ![Biome Dependency Update Flow Diagram](/images/habitat/biome-dependency-update-flow.png) 15 | 16 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/docker_automated_flow.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Automate Docker Container Publishing Flow" 3 | description = "Automate Docker Container Publishing Flow" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Automated Docker Container Publishing Flow" 9 | identifier = "habitat/diagrams/docker-automated-flow" 10 | parent = "habitat/diagrams" 11 | weight = 60 12 | 13 | +++ 14 | ![Biome Automated Docker Container Publishing Flow Diagram](/images/habitat/biome-automated-docker-container-publishing-flow.png) 15 | 16 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/docker_flow.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Docker Container Publishing Flow" 3 | description = "Docker Container Publishing Flow" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Docker Container Publishing Flow" 9 | identifier = "habitat/diagrams/docker-flow" 10 | parent = "habitat/diagrams" 11 | weight = 50 12 | 13 | +++ 14 | ![Biome Initial Docker Container Publishing Flow Diagram](/images/habitat/biome-initial-docker-container-publishing-flow.png) 15 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/on_prem_flow.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Biome Builder on-prem Flow" 3 | description = "Biome Builder on-prem Flow" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Biome Builder on-prem Flow" 9 | identifier = "habitat/diagrams/on-prem-flow" 10 | parent = "habitat/diagrams" 11 | weight = 100 12 | 13 | +++ 14 | 15 | ![Biome On-premises Builder Depot Flow Diagram](/images/habitat/biome-on-premises-builder-depot-flow.png) 16 | 17 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/package_build_flow.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Initial Package Build Flow" 3 | description = "Initial Package Build Flow" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Initial Package Build Flow" 9 | identifier = "habitat/diagrams/package-build-flow" 10 | parent = "habitat/diagrams" 11 | weight = 20 12 | +++ 13 | 14 | ![Biome Initial Package Build Flow Diagram](/images/habitat/biome-initial-package-build-flow.png) 15 | 16 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/promote_packages.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Promote Packages Through Channels" 3 | description = "Promote Packages Through Channels" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Promote Packages Through Channels" 9 | identifier = "habitat/diagrams/promote-packages" 10 | parent = "habitat/diagrams" 11 | weight = 70 12 | +++ 13 | 14 | ![Biome Promote Packages Through Channels Diagram](/images/habitat/biome-promote-packages-through-channels.png) 15 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/reusable/index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | headless=true 3 | 4 | # This creates a headless bundle. 5 | # See: https://gohugo.io/content-management/page-bundles/#headless-bundle 6 | # and https://docs.chef.io/style_guide/reuse/#reusable-text-files 7 | +++ 8 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/reusable/md/biome_builder_overview.md: -------------------------------------------------------------------------------- 1 | Biome Builder acts as the core of Chef's Application Delivery Enterprise hub. 2 | It provides a repository for all available Biome packages built by Chef and the supporting community, as well as search and an API for clients. 3 | 4 | You can store application plans on the Biome Builder SaaS where the Biome community can view and access them. You can also deploy the [on-prem version of Biome Builder](https://github.com/biome-sh/on-prem-builder) where you can store and maintain your apps in a secure environment. 5 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/reusable/md/biome_services_overview.md: -------------------------------------------------------------------------------- 1 | A service is a Biome package that is run and managed by a Supervisor. Services can be joined together into a [service group]({{< relref "/habitat/service_groups" >}}), which is a collection of services with the same package and topology type that are connected together across a Supervisor network. 2 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/reusable/md/biome_studio_overview.md: -------------------------------------------------------------------------------- 1 | The Biome Studio is a clean, self-contained, minimal environment in which you can develop, build, and package software that is free from any upstream operating system distribution. All tools and dependencies included in the Studio are installed through Biome packages, thus preventing any unwanted dependencies from being used by your package. 2 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/runtime_binding.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Runtime Services Group Binding" 3 | description = "Runtime Services Group Binding" 4 | gh_repo = "biome" 5 | 6 | [menu] 7 | [menu.biome] 8 | title = "Runtime Services Group Binding" 9 | identifier = "habitat/diagrams/runtime-binding" 10 | parent = "habitat/diagrams" 11 | weight = 80 12 | 13 | +++ 14 | 15 | ![Biome Runtime Services Group Binding Diagram](/images/habitat/biome-runtime-service-group-binding.png) 16 | -------------------------------------------------------------------------------- /components/docs-chef-io/content/habitat/supervisor_api.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Biome Supervisor API" 3 | aliases = ["/habitat/api/supervisor/"] 4 | date = 2019-03-06T17:25:30-07:00 5 | draft = false 6 | layout = "data-api" 7 | style_sheet = "/biome-api-styles.css" 8 | api_file_path = "/biome-api-docs/sup-api.json" 9 | return_page = "/habitat/" 10 | description = "Biome Supervisor API documentation." 11 | 12 | [menu] 13 | [menu.biome] 14 | title = "Supervisor API" 15 | parent = "habitat/reference/api" 16 | identifier = "habitat/reference/api Supervisor API" 17 | +++ 18 | 19 | -------------------------------------------------------------------------------- /components/docs-chef-io/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/biome-sh/biome/components/docs-chef-io 2 | 3 | go 1.22 4 | -------------------------------------------------------------------------------- /components/docs-chef-io/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | // Placeholder so go.mod can be installed, not meant to do anything 4 | func main() { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /components/docs-chef-io/netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | 3 | [build.environment] 4 | HUGO_ENABLEGITINFO = "true" 5 | NODE_ENV = "development" 6 | 7 | [build.processing] 8 | skip_processing = true 9 | 10 | [context.deploy-preview] 11 | publish = "chef-web-docs/public" 12 | command = "make preview_netlify" 13 | 14 | [context.production] 15 | publish = "netlify_production" 16 | command = "" 17 | -------------------------------------------------------------------------------- /components/docs-chef-io/netlify_production/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/biome/bio-setup-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/biome/bio-setup-complete.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/biome/bio-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/biome/bio-setup.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/authorize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/authorize.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-and-kubernetes-three-tiers-of-service-deployment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-and-kubernetes-three-tiers-of-service-deployment.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-application-rebuild-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-application-rebuild-flow.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-architecture-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-architecture-overview.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-automated-docker-container-publishing-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-automated-docker-container-publishing-flow.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-builder-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-builder-architecture.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-dependency-update-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-dependency-update-flow.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-diagrams-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-diagrams-thumb.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-initial-docker-container-publishing-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-initial-docker-container-publishing-flow.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-initial-package-build-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-initial-package-build-flow.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-on-premises-builder-depot-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-on-premises-builder-depot-flow.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-promote-packages-through-channels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-promote-packages-through-channels.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/biome-runtime-service-group-binding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/biome-runtime-service-group-binding.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/build-job-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/build-job-view.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/builder-build-latest-version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/builder-build-latest-version.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/builder-key-upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/builder-key-upload.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/builder-view-build-job-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/builder_origin_members.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/builder_origin_members.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/builder_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/builder_profile.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/builder_profile_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/builder_profile_user.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/builder_signin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/builder_signin.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/connect-plan-builder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/connect-plan-builder.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/copy-token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/copy-token.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/create-origin-done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/create-origin-done.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/create-origin-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/create-origin-form.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/create-origin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/create-origin.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/demo-tutorial-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/demo-tutorial-thumb.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/deploy-services-to-kubernetes-with-biome-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/deploy-services-to-kubernetes-with-biome-flow.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/environment_variable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/environment_variable.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/environment_variable_echo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/environment_variable_echo.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/environment_variable_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/environment_variable_new.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/environment_variable_new_var.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/environment_variable_new_var.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/environment_variable_set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/environment_variable_set.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/exports_callout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/exports_callout.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/generate-token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/generate-token.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/mesos1-services-marathon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/mesos1-services-marathon.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/mesos2-new-application.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/mesos2-new-application.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/mesos3-new-application-json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/mesos3-new-application-json.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/mesos4-application.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/mesos4-application.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/mesos5-debugging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/mesos5-debugging.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/origin-key-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/origin-key-download.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/origin-keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/origin-keys.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/origin-members.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/origin-members.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/origin-secrets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/origin-secrets.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/profile.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/supervisor_a_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/supervisor_a_after.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/supervisor_a_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/supervisor_a_before.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/supervisor_b_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/supervisor_b_after.png -------------------------------------------------------------------------------- /components/docs-chef-io/static/images/habitat/supervisor_b_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/components/docs-chef-io/static/images/habitat/supervisor_b_before.png -------------------------------------------------------------------------------- /components/http-client/src/lib.rs: -------------------------------------------------------------------------------- 1 | mod api_client; 2 | mod error; 3 | 4 | pub use crate::{api_client::ApiClient, 5 | error::{Error, 6 | Result}}; 7 | -------------------------------------------------------------------------------- /components/launcher-client/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "biome-launcher-client" 3 | version = "0.0.0" 4 | edition = "2018" 5 | authors = ["The Biome Maintainers "] 6 | workspace = "../../" 7 | 8 | [dependencies] 9 | bincode = "*" 10 | env_logger = "*" 11 | biome_core = { path = "../core" } 12 | biome-launcher-protocol = { path = "../launcher-protocol" } 13 | biome_common = { path = "../common" } 14 | ipc-channel = { version = "*" } 15 | libc = "*" 16 | log = "0.4" 17 | prost = "*" 18 | serde = "*" 19 | thiserror = "*" 20 | -------------------------------------------------------------------------------- /components/launcher-client/src/lib.rs: -------------------------------------------------------------------------------- 1 | mod client; 2 | pub mod error; 3 | 4 | pub use biome_launcher_protocol::{ERR_NO_RETRY_EXCODE, 5 | LAUNCHER_PID_ENV, 6 | OK_NO_RETRY_EXCODE}; 7 | 8 | pub use crate::{client::{LauncherCli, 9 | LauncherStatus}, 10 | error::*}; 11 | 12 | pub fn env_pipe() -> Option { 13 | biome_core::env::var(biome_launcher_protocol::LAUNCHER_PIPE_ENV).ok() 14 | } 15 | -------------------------------------------------------------------------------- /components/launcher-protocol/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "biome-launcher-protocol" 3 | version = "0.0.0" 4 | edition = "2018" 5 | authors = ["The Biome Maintainers "] 6 | build = "build.rs" 7 | workspace = "../../" 8 | 9 | [dependencies] 10 | bytes = "*" 11 | prost = { version = "*", features = ["prost-derive"] } 12 | serde = { version = "*", features = ["derive"] } 13 | 14 | [build-dependencies] 15 | prost-build = "*" 16 | -------------------------------------------------------------------------------- /components/launcher-protocol/protocols/net.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | package launcher.net; 4 | 5 | message Envelope { 6 | reserved 3; 7 | reserved "txn_id"; 8 | 9 | optional string message_id = 1; 10 | optional bytes payload = 2; 11 | } 12 | -------------------------------------------------------------------------------- /components/launcher-protocol/protocols/supervisor.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | package launcher.supervisor; 4 | 5 | message Shutdown {} 6 | -------------------------------------------------------------------------------- /components/launcher/src/lib.rs: -------------------------------------------------------------------------------- 1 | use biome_core as core; 2 | use biome_launcher_protocol as protocol; 3 | 4 | pub mod error; 5 | pub mod server; 6 | pub mod service; 7 | mod sys; 8 | 9 | pub const SUP_CMD: &str = "bio-sup"; 10 | pub const SUP_PACKAGE_IDENT: &str = "biome/bio-sup"; 11 | pub const VERSION: Option<&str> = option_env!("PLAN_VERSION"); 12 | -------------------------------------------------------------------------------- /components/launcher/src/server/handlers/pid.rs: -------------------------------------------------------------------------------- 1 | use super::{HandleResult, 2 | Handler}; 3 | use crate::{protocol, 4 | server::ServiceTable}; 5 | 6 | pub struct PidHandler; 7 | 8 | impl Handler for PidHandler { 9 | type Message = protocol::PidOf; 10 | type Reply = protocol::PidIs; 11 | 12 | fn handle(msg: Self::Message, services: &mut ServiceTable) -> HandleResult { 13 | let service_name = msg.service_name; 14 | let pid = services.pid_of(&service_name); 15 | let reply = protocol::PidIs { pid }; 16 | Ok(reply) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /components/launcher/src/sys.rs: -------------------------------------------------------------------------------- 1 | #[cfg(unix)] 2 | #[path = "sys/unix/service.rs"] 3 | pub mod service; 4 | 5 | #[cfg(windows)] 6 | #[path = "sys/windows/service.rs"] 7 | pub mod service; 8 | -------------------------------------------------------------------------------- /components/pkg-export-container/build.rs: -------------------------------------------------------------------------------- 1 | // Inline common build behavior 2 | include!("../libbuild.rs"); 3 | 4 | fn main() { biome::common(); } 5 | -------------------------------------------------------------------------------- /components/pkg-export-container/defaults/containers-policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "default": [ 3 | { 4 | "type": "insecureAcceptAnything" 5 | } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /components/pkg-export-container/defaults/etc/group: -------------------------------------------------------------------------------- 1 | root:x:0: 2 | bin:x:1:daemon 3 | sys:x:2: 4 | kmem:x:3: 5 | tape:x:4: 6 | tty:x:5: 7 | daemon:x:6: 8 | floppy:x:7: 9 | disk:x:8: 10 | lp:x:9: 11 | dialout:x:10: 12 | audio:x:11: 13 | video:x:12: 14 | utmp:x:13: 15 | usb:x:14: 16 | cdrom:x:15: 17 | adm:x:16: 18 | messagebus:x:18: 19 | systemd-journal:x:23: 20 | input:x:24: 21 | mail:x:34: 22 | nogroup:x:99: 23 | users:x:999: 24 | -------------------------------------------------------------------------------- /components/pkg-export-container/defaults/etc/nsswitch.conf: -------------------------------------------------------------------------------- 1 | passwd: files 2 | group: files 3 | shadow: files 4 | 5 | hosts: files dns 6 | networks: files 7 | 8 | rpc: files 9 | services: files 10 | -------------------------------------------------------------------------------- /components/pkg-export-container/defaults/etc/passwd: -------------------------------------------------------------------------------- 1 | root:x:0:0:root:/root:/bin/sh 2 | bin:x:1:1:bin:/dev/null:/bin/false 3 | daemon:x:6:6:Daemon User:/dev/null:/bin/false 4 | nobody:x:99:99:Unprivileged User:/dev/null:/bin/false 5 | -------------------------------------------------------------------------------- /components/pkg-export-container/defaults/etc/resolv.conf: -------------------------------------------------------------------------------- 1 | nameserver 8.8.8.8 2 | nameserver 8.8.4.4 3 | -------------------------------------------------------------------------------- /components/pkg-export-container/defaults/init.sh.hbs: -------------------------------------------------------------------------------- 1 | #!{{busybox_shell}} 2 | export PATH="{{path}}" 3 | case "$1" in 4 | -h|--help|help|-V|--version) exec {{sup_bin}} "$@";; 5 | -*) exec {{sup_bin}} run {{primary_svc_ident}} "$@";; 6 | *) exec {{sup_bin}} "$@";; 7 | esac 8 | -------------------------------------------------------------------------------- /components/pkg-export-container/defaults/last_container_export.env.hbs: -------------------------------------------------------------------------------- 1 | id={{id}} 2 | name={{name}} 3 | tags={{tags}} 4 | name_tags={{name_tags}} 5 | -------------------------------------------------------------------------------- /components/pkg-export-container/src/main.rs: -------------------------------------------------------------------------------- 1 | use biome_common::ui::{UIWriter, 2 | UI}; 3 | use biome_pkg_export_container::cli_driver; 4 | 5 | #[tokio::main] 6 | async fn main() { 7 | env_logger::init(); 8 | let mut ui = UI::default_with_env(); 9 | if let Err(e) = cli_driver(&mut ui).await { 10 | ui.fatal(e).unwrap(); 11 | std::process::exit(1) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /components/pkg-export-container/src/os.rs: -------------------------------------------------------------------------------- 1 | //! OS-specific implementations of various things. 2 | 3 | mod check; 4 | 5 | pub(crate) use check::ensure_proper_docker_platform; 6 | -------------------------------------------------------------------------------- /components/pkg-export-container/src/os/check.rs: -------------------------------------------------------------------------------- 1 | #[cfg(not(windows))] 2 | use anyhow::Result; 3 | 4 | /// Linux Docker daemons currently only run in one mode, so this can 5 | /// be a no-op. 6 | #[cfg(not(windows))] 7 | #[allow(clippy::unnecessary_wraps)] 8 | pub(crate) fn ensure_proper_docker_platform() -> Result<()> { Ok(()) } 9 | 10 | // On Windows, however, we have a bit more work to do. 11 | #[cfg(windows)] 12 | mod windows; 13 | 14 | #[cfg(windows)] 15 | pub(crate) use windows::ensure_proper_docker_platform; 16 | -------------------------------------------------------------------------------- /components/pkg-export-tar/build.rs: -------------------------------------------------------------------------------- 1 | // Inline common build behavior 2 | include!("../libbuild.rs"); 3 | 4 | fn main() { biome::common(); } 5 | -------------------------------------------------------------------------------- /components/pkg-export-tar/src/main.rs: -------------------------------------------------------------------------------- 1 | use biome_pkg_export_tar as export_tar; 2 | 3 | use biome_common::ui::{UIWriter, 4 | UI}; 5 | 6 | use anyhow::Result; 7 | 8 | #[tokio::main] 9 | async fn main() { 10 | let mut ui = UI::default_with_env(); 11 | if let Err(e) = start(&mut ui).await { 12 | ui.fatal(e).unwrap(); 13 | std::process::exit(1) 14 | } 15 | } 16 | 17 | async fn start(ui: &mut UI) -> Result<()> { 18 | env_logger::init(); 19 | 20 | export_tar::cli_driver(ui).await 21 | } 22 | -------------------------------------------------------------------------------- /components/plan-build-ps1/tests/test.ps1: -------------------------------------------------------------------------------- 1 | . $PSScriptRoot\..\..\..\.expeditor\scripts\verify\shared.ps1 2 | $env:HAB_LICENSE = "accept-no-persist" 3 | Install-Biome 4 | 5 | bio pkg install core/pester 6 | Import-Module "$(bio pkg path core/pester)\module\pester.psd1" 7 | 8 | $test_result = Invoke-Pester -PassThru 9 | exit $test_result.FailedCount 10 | -------------------------------------------------------------------------------- /components/rootless_studio/.gitignore: -------------------------------------------------------------------------------- 1 | # Packages built during tests get dropped here. 2 | results/ 3 | 4 | # DejaGNU output 5 | tests/dejagnu/*.log 6 | tests/dejagnu/*.sum 7 | -------------------------------------------------------------------------------- /components/rootless_studio/README.md: -------------------------------------------------------------------------------- 1 | # Rootless Docker Studio 2 | 3 | ## Building 4 | 5 | ``` 6 | docker build -t biome:bio-base . 7 | docker build --build-arg BLDR_CHANNEL="${channel}" --no-cache -t "${IMAGE_NAME}:${version}" "./default" 8 | ``` 9 | 10 | ## TODO: 11 | 12 | Bring in the other studio types 13 | -------------------------------------------------------------------------------- /components/rootless_studio/default/build: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Create a wrapper to `build` so that any calls to it have a super-stripped 4 | # `$PATH` and not whatever augmented version is currently in use. This should 5 | # mean that running `build` from inside a `studio enter` and running `studio 6 | # build` leads to the exact same experience, at least as far as initial 7 | # `$PATH` is concerned. 8 | 9 | exec bio pkg exec biome/bio-plan-build bio-plan-build "$@" 10 | -------------------------------------------------------------------------------- /components/rootless_studio/default/etc/group: -------------------------------------------------------------------------------- 1 | root:x:0: 2 | bin:x:1:daemon 3 | sys:x:2: 4 | kmem:x:3: 5 | tape:x:4: 6 | tty:x:5: 7 | daemon:x:6: 8 | floppy:x:7: 9 | disk:x:8: 10 | lp:x:9: 11 | dialout:x:10: 12 | audio:x:11: 13 | video:x:12: 14 | utmp:x:13: 15 | usb:x:14: 16 | cdrom:x:15: 17 | adm:x:16: 18 | messagebus:x:18: 19 | systemd-journal:x:23: 20 | input:x:24: 21 | mail:x:34: 22 | nogroup:x:99: 23 | users:x:999: 24 | hab:x:42:hab 25 | -------------------------------------------------------------------------------- /components/rootless_studio/default/etc/nsswitch.conf: -------------------------------------------------------------------------------- 1 | passwd: files 2 | group: files 3 | shadow: files 4 | hosts: files dns 5 | networks: files 6 | rpc: files 7 | services: files 8 | -------------------------------------------------------------------------------- /components/rootless_studio/default/etc/passwd: -------------------------------------------------------------------------------- 1 | 2 | root:x:0:0:root:/root:/bin/sh 3 | bin:x:1:1:bin:/dev/null:/bin/false 4 | daemon:x:6:6:Daemon User:/dev/null:/bin/false 5 | messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false 6 | nobody:x:99:99:Unprivileged User:/dev/null:/bin/false 7 | hab:x:42:42:root:/:/bin/sh 8 | -------------------------------------------------------------------------------- /components/rootless_studio/tests/fixtures/plans/test_build_with_secrets/README.md: -------------------------------------------------------------------------------- 1 | # Biome package: test_build_with_secrets 2 | 3 | ## Description 4 | 5 | Simple package used to verify that secrets can be passed into a build 6 | using the `HAB_STUDIO_SECRET_*` method. It produces nothing of 7 | interest, but will fail to build if a `FOO` environment variable has 8 | not been set. 9 | 10 | ## Usage 11 | 12 | ```bash 13 | HAB_STUDIO_SECRET_FOO=something bio pkg build test_build_with_secrets 14 | ``` 15 | -------------------------------------------------------------------------------- /components/rootless_studio/tests/fixtures/plans/test_build_with_secrets/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name=test_build_with_secrets 2 | pkg_origin=biome 3 | pkg_version="0.1.0" 4 | pkg_maintainer="The Biome Maintainers " 5 | pkg_license=("Apache-2.0") 6 | 7 | do_build() { 8 | set -u 9 | # The build will fail if the FOO environment variable is not set. 10 | echo "The secret is $FOO" 11 | set +u 12 | } 13 | 14 | do_install() { 15 | return 0 16 | } 17 | -------------------------------------------------------------------------------- /components/rst-reader/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "biome-rst-reader" 3 | version = "0.0.0" 4 | authors = ["The Biome Maintainers "] 5 | edition = "2018" 6 | workspace = "../../" 7 | 8 | [[bin]] 9 | name = "rst-reader" 10 | path = "src/main.rs" 11 | doc = false 12 | 13 | [dependencies] 14 | clap = { version = "4" , features = ["env", "derive", "string", "wrap_help"]} 15 | env_logger = "*" 16 | biome_butterfly = { path = "../butterfly", default-features = false } 17 | log = "0.4" 18 | -------------------------------------------------------------------------------- /components/studio/Makefile: -------------------------------------------------------------------------------- 1 | HAB_BLDR_CHANNEL ?= stable 2 | 3 | export HAB_INTERNAL_BLDR_CHANNEL = ${HAB_BLDR_CHANNEL} 4 | export CI_OVERRIDE_CHANNEL = ${HAB_BLDR_CHANNEL} 5 | export HAB_STUDIO_SECRET_HAB_INTERNAL_BLDR_CHANNEL = ${HAB_BLDR_CHANNEL} 6 | export HAB_STUDIO_SECRET_CI_OVERRIDE_CHANNEL = ${HAB_BLDR_CHANNEL} 7 | 8 | test: studio-from-package studio-from-source 9 | 10 | studio-from-package: 11 | test/studio-from-package/test.sh 12 | 13 | studio-from-source: 14 | test/studio-from-source/test.sh 15 | 16 | -------------------------------------------------------------------------------- /components/studio/defaults/etc/group: -------------------------------------------------------------------------------- 1 | root:x:0: 2 | bin:x:1:daemon 3 | sys:x:2: 4 | kmem:x:3: 5 | tape:x:4: 6 | tty:x:5: 7 | daemon:x:6: 8 | floppy:x:7: 9 | disk:x:8: 10 | lp:x:9: 11 | dialout:x:10: 12 | audio:x:11: 13 | video:x:12: 14 | utmp:x:13: 15 | usb:x:14: 16 | cdrom:x:15: 17 | adm:x:16: 18 | messagebus:x:18: 19 | systemd-journal:x:23: 20 | input:x:24: 21 | mail:x:34: 22 | nogroup:x:99: 23 | users:x:999: 24 | -------------------------------------------------------------------------------- /components/studio/defaults/etc/inputrc: -------------------------------------------------------------------------------- 1 | # Excerpted from the default /etc/inputrc on Ubuntu 2 | 3 | # allow the use of the Home/End keys 4 | "\e[1~": beginning-of-line 5 | "\e[4~": end-of-line 6 | 7 | # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving 8 | "\e[1;5C": forward-word 9 | "\e[1;5D": backward-word 10 | "\e[5C": forward-word 11 | "\e[5D": backward-word 12 | "\e\e[C": forward-word 13 | "\e\e[D": backward-word 14 | -------------------------------------------------------------------------------- /components/studio/defaults/etc/nsswitch.conf: -------------------------------------------------------------------------------- 1 | passwd: files 2 | group: files 3 | shadow: files 4 | 5 | hosts: files dns 6 | networks: files 7 | 8 | rpc: files 9 | services: files 10 | -------------------------------------------------------------------------------- /components/studio/defaults/etc/passwd: -------------------------------------------------------------------------------- 1 | root:x:0:0:root:/root:/bin/sh 2 | bin:x:1:1:bin:/dev/null:/bin/false 3 | daemon:x:6:6:Daemon User:/dev/null:/bin/false 4 | messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false 5 | nobody:x:99:99:Unprivileged User:/dev/null:/bin/false 6 | -------------------------------------------------------------------------------- /components/sup-client/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "biome-sup-client" 3 | version = "0.0.0" 4 | edition = "2018" 5 | authors = ["The Biome Maintainers "] 6 | workspace = "../../" 7 | 8 | [dependencies] 9 | futures = { version = "*" } 10 | biome-sup-protocol = { path = "../sup-protocol", default-features = false } 11 | biome_common = { path = "../common" } 12 | biome_core = { path = "../core" } 13 | log = "0.4" 14 | prost = "*" 15 | rustls = "*" 16 | termcolor = "*" 17 | tokio = { version = "*", features = ["full"] } 18 | tokio-util = { version = "0.7", features = ["full"] } 19 | -------------------------------------------------------------------------------- /components/sup-protocol/src/butterfly.rs: -------------------------------------------------------------------------------- 1 | /// Maximum allowed size for a file to be uploaded to a service (in bytes). 2 | pub const MAX_FILE_PUT_SIZE_BYTES: usize = 64 * 1024; 3 | /// Maximum allowed size for a configuration to be applied to a service (in bytes). 4 | pub const MAX_SVC_CFG_SIZE: usize = 64 * 1024; 5 | -------------------------------------------------------------------------------- /components/sup-protocol/src/message.rs: -------------------------------------------------------------------------------- 1 | pub trait MessageStatic { 2 | const MESSAGE_ID: &'static str; 3 | } 4 | -------------------------------------------------------------------------------- /components/sup/src/command.rs: -------------------------------------------------------------------------------- 1 | //! The CLI commands. 2 | 3 | pub mod shell; 4 | -------------------------------------------------------------------------------- /components/sup/src/sys/unix.rs: -------------------------------------------------------------------------------- 1 | pub mod service; 2 | -------------------------------------------------------------------------------- /components/sup/src/sys/windows.rs: -------------------------------------------------------------------------------- 1 | pub mod service; 2 | -------------------------------------------------------------------------------- /components/sup/src/util.rs: -------------------------------------------------------------------------------- 1 | pub mod pkg; 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/hooks/hook_templates/health-check: -------------------------------------------------------------------------------- 1 | exit 1 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/hooks/hook_templates/init: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "The message is {{cfg.message}}" 4 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/hooks/hook_templates/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Running a program" 4 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure.spec: -------------------------------------------------------------------------------- 1 | ident = "sup-integration-test/config-and-hooks-no-reconfigure" 2 | group = "default" 3 | bldr_url = "http://bio.sup.test" 4 | channel = "unstable" 5 | topology = "standalone" 6 | update_strategy = "at-once" 7 | binds = [] 8 | desired_state = "up" 9 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/config/app-config.toml: -------------------------------------------------------------------------------- 1 | app_name = {{cfg.app_name}} -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/hooks/file-updated: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing File Updated Hook with templated value: {{cfg.file_updated_templated_value}}" 4 | EXIT_CODE='{{#if cfg.file_updated_exit_code}}{{cfg.file_updated_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/hooks/health-check: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Health Check Hook with templated value: {{cfg.health_check_templated_value}}" 4 | EXIT_CODE='{{#if cfg.health_check_exit_code}}{{cfg.health_check_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/hooks/init: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Init Hook with templated value: {{cfg.init_templated_value}}" 4 | EXIT_CODE='{{#if cfg.init_exit_code}}{{cfg.init_exit_code}}{{else}}0{{/if}}' 5 | INIT_SLEEP='{{#if cfg.init_sleep}}{{cfg.init_sleep}}{{else}}0{{/if}}' 6 | sleep "$INIT_SLEEP" 7 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/hooks/post-run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Post Run Hook with templated value: {{cfg.post_run_templated_value}}" 4 | EXIT_CODE='{{#if cfg.post_run_exit_code}}{{cfg.post_run_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/hooks/post-stop: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Post Stop Hook with templated value: {{cfg.post_stop_templated_value}}" 4 | EXIT_CODE='{{#if cfg.post_stop_exit_code}}{{cfg.post_stop_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Run Hook with templated value: {{cfg.run_templated_value}}" 4 | EXIT_CODE='{{#if cfg.run_exit_code}}{{cfg.run_exit_code}}{{else}}0{{/if}}' 5 | RUN_SLEEP='{{#if cfg.run_sleep}}{{cfg.run_sleep}}{{else}}10000{{/if}}' 6 | sleep "$RUN_SLEEP" 7 | exit "$EXIT_CODE" 8 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-no-reconfigure/hooks/suitability: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Suitability Hook with templated value: {{cfg.suitability_templated_value}}" 4 | EXIT_CODE='{{#if cfg.suitability_exit_code}}{{cfg.suitability_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure.spec: -------------------------------------------------------------------------------- 1 | ident = "sup-integration-test/config-and-hooks-with-reconfigure" 2 | group = "default" 3 | bldr_url = "http://bio.sup.test" 4 | channel = "unstable" 5 | topology = "standalone" 6 | update_strategy = "at-once" 7 | binds = [] 8 | desired_state = "up" 9 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/config/app-config.toml: -------------------------------------------------------------------------------- 1 | app_name = {{cfg.app_name}} -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/file-updated: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing File Updated Hook with templated value: {{cfg.file_updated_templated_value}}" 4 | EXIT_CODE='{{#if cfg.file_updated_exit_code}}{{cfg.file_updated_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/health-check: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Health Check Hook with templated value: {{cfg.health_check_templated_value}}" 4 | EXIT_CODE='{{#if cfg.health_check_exit_code}}{{cfg.health_check_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/init: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Init Hook with templated value: {{cfg.init_templated_value}}" 4 | EXIT_CODE='{{#if cfg.init_exit_code}}{{cfg.init_exit_code}}{{else}}0{{/if}}' 5 | INIT_SLEEP='{{#if cfg.init_sleep}}{{cfg.init_sleep}}{{else}}0{{/if}}' 6 | sleep "$INIT_SLEEP" 7 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/post-run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Post Run Hook with templated value: {{cfg.post_run_templated_value}}" 4 | EXIT_CODE='{{#if cfg.post_run_exit_code}}{{cfg.post_run_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/post-stop: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Post Stop Hook with templated value: {{cfg.post_stop_templated_value}}" 4 | EXIT_CODE='{{#if cfg.post_stop_exit_code}}{{cfg.post_stop_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/reconfigure: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Reconfigure Hook with templated value: {{cfg.reconfigure_templated_value}}" 4 | EXIT_CODE='{{#if cfg.reconfigure_exit_code}}{{cfg.reconfigure_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Run Hook with templated value: {{cfg.run_templated_value}}" 4 | EXIT_CODE='{{#if cfg.run_exit_code}}{{cfg.run_exit_code}}{{else}}0{{/if}}' 5 | RUN_SLEEP='{{#if cfg.run_sleep}}{{cfg.run_sleep}}{{else}}10000{{/if}}' 6 | sleep "$RUN_SLEEP" 7 | exit "$EXIT_CODE" 8 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/config-and-hooks-with-reconfigure/hooks/suitability: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "$(date): Executing Suitability Hook with templated value: {{cfg.suitability_templated_value}}" 4 | EXIT_CODE='{{#if cfg.suitability_exit_code}}{{cfg.suitability_exit_code}}{{else}}0{{/if}}' 5 | exit "$EXIT_CODE" -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails-with-dependency.spec: -------------------------------------------------------------------------------- 1 | ident = "sup-integration-test/install-hook-fails-with-dependency" 2 | group = "default" 3 | bldr_url = "http://bio.sup.test" 4 | channel = "unstable" 5 | topology = "standalone" 6 | update_strategy = "at-once" 7 | binds = [] 8 | desired_state = "up" 9 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails-with-dependency/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails-with-dependency/TDEPS: -------------------------------------------------------------------------------- 1 | sup-integration-test/install-hook-fails/1.0.0/20170721000000 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails-with-dependency/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | while true; 4 | do 5 | echo "Running: $0" 6 | sleep 1 7 | done 8 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails.spec: -------------------------------------------------------------------------------- 1 | ident = "sup-integration-test/install-hook-fails" 2 | group = "default" 3 | bldr_url = "http://bio.sup.test" 4 | channel = "unstable" 5 | topology = "standalone" 6 | update_strategy = "at-once" 7 | binds = [] 8 | desired_state = "up" 9 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails/hooks/install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "I am a failure!" 4 | exit 1 5 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-fails/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | while true; 4 | do 5 | echo "Running: $0" 6 | sleep 1 7 | done 8 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds-with-dependency.spec: -------------------------------------------------------------------------------- 1 | ident = "sup-integration-test/install-hook-succeeds-with-dependency" 2 | group = "default" 3 | bldr_url = "http://bio.sup.test" 4 | channel = "unstable" 5 | topology = "standalone" 6 | update_strategy = "at-once" 7 | binds = [] 8 | desired_state = "up" 9 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds-with-dependency/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds-with-dependency/TDEPS: -------------------------------------------------------------------------------- 1 | sup-integration-test/install-hook-succeeds/1.0.0/20170721000000 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds-with-dependency/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | while true; 4 | do 5 | echo "Running: $0" 6 | sleep 1 7 | done 8 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds.spec: -------------------------------------------------------------------------------- 1 | ident = "sup-integration-test/install-hook-succeeds" 2 | group = "default" 3 | bldr_url = "http://bio.sup.test" 4 | channel = "unstable" 5 | topology = "standalone" 6 | update_strategy = "at-once" 7 | binds = [] 8 | desired_state = "up" 9 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds/hooks/install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "I am a success!" 4 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/integration/install-hook-succeeds/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | while true; 4 | do 5 | echo "Running: $0" 6 | sleep 1 7 | done 8 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/7zip/16.04/20170131110814/IDENT: -------------------------------------------------------------------------------- 1 | core/7zip/16.04/20170131110814 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/7zip/16.04/20170131110814/PATH: -------------------------------------------------------------------------------- 1 | \hab\pkgs\core\7zip\16.04\20170131110814\bin 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/7zip/16.04/20170131110814/SVC_GROUP: -------------------------------------------------------------------------------- 1 | hab 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/7zip/16.04/20170131110814/SVC_USER: -------------------------------------------------------------------------------- 1 | hab 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/7zip/16.04/20170131110814/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-windows 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/BUILD_DEPS: -------------------------------------------------------------------------------- 1 | core/gcc/7.3.0/20180608051919 2 | core/make/4.2.1/20180608100733 3 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/BUILD_TDEPS: -------------------------------------------------------------------------------- 1 | core/binutils/2.30/20180608050633 2 | core/gcc/7.3.0/20180608051919 3 | core/glibc/2.27/20180608041157 4 | core/gmp/6.1.2/20180608051426 5 | core/libmpc/1.1.0/20180608051824 6 | core/linux-headers/4.15.9/20180608041107 7 | core/make/4.2.1/20180608100733 8 | core/mpfr/4.0.1/20180608051629 9 | core/zlib/1.2.11/20180608050617 10 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/CFLAGS: -------------------------------------------------------------------------------- 1 | -I/hab/pkgs/core/tree/1.7.0/20180609045201/include 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/CPPFLAGS: -------------------------------------------------------------------------------- 1 | -I/hab/pkgs/core/tree/1.7.0/20180609045201/include 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/CXXFLAGS: -------------------------------------------------------------------------------- 1 | -I/hab/pkgs/core/tree/1.7.0/20180609045201/include 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/DEPS: -------------------------------------------------------------------------------- 1 | core/glibc/2.27/20180608041157 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/IDENT: -------------------------------------------------------------------------------- 1 | core/tree/1.7.0/20180609045201 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/LDFLAGS: -------------------------------------------------------------------------------- 1 | -L/hab/pkgs/core/tree/1.7.0/20180609045201/lib 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/LD_RUN_PATH: -------------------------------------------------------------------------------- 1 | /hab/pkgs/core/tree/1.7.0/20180609045201/lib 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/PATH: -------------------------------------------------------------------------------- 1 | /hab/pkgs/core/tree/1.7.0/20180609045201/bin 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/RUNTIME_ENVIRONMENT: -------------------------------------------------------------------------------- 1 | PATH=/hab/pkgs/core/tree/1.7.0/20180609045201/bin:/hab/pkgs/core/glibc/2.27/20180608041157/bin 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/RUNTIME_PATH: -------------------------------------------------------------------------------- 1 | /hab/pkgs/core/tree/1.7.0/20180609045201/bin:/hab/pkgs/core/glibc/2.27/20180608041157/bin 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/TDEPS: -------------------------------------------------------------------------------- 1 | core/glibc/2.27/20180608041157 2 | core/linux-headers/4.15.9/20180608041107 3 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/core/tree/1.7.0/20180609045201/TYPE: -------------------------------------------------------------------------------- 1 | standalone 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind-native/test-bind-native-linux-aarch64/0.1.0/20220701090436/BINDS: -------------------------------------------------------------------------------- 1 | database=port host 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind-native/test-bind-native-linux-aarch64/0.1.0/20220701090436/BINDS_OPTIONAL: -------------------------------------------------------------------------------- 1 | storage=port host 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind-native/test-bind-native-linux-aarch64/0.1.0/20220701090436/IDENT: -------------------------------------------------------------------------------- 1 | test-bind-native/test-bind-native-linux-aarch64/0.1.0/20220701090436 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind-native/test-bind-native-linux-aarch64/0.1.0/20220701090436/TARGET: -------------------------------------------------------------------------------- 1 | aarch64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind-win/0.1.0/20190219231616/BINDS: -------------------------------------------------------------------------------- 1 | database=port host 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind-win/0.1.0/20190219231616/BINDS_OPTIONAL: -------------------------------------------------------------------------------- 1 | storage=port host 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind-win/0.1.0/20190219231616/IDENT: -------------------------------------------------------------------------------- 1 | test-bind/test-bind-win/0.1.0/20190219231616 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind-win/0.1.0/20190219231616/SVC_GROUP: -------------------------------------------------------------------------------- 1 | hab 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind-win/0.1.0/20190219231616/SVC_USER: -------------------------------------------------------------------------------- 1 | hab 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind-win/0.1.0/20190219231616/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-windows 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind-win/0.1.0/20190219231616/default.toml: -------------------------------------------------------------------------------- 1 | # Use this file to templatize your application's native configuration files. 2 | # See the docs at https://www.habitat.sh/docs/create-packages-configure/. 3 | # You can safely delete this file if you don't need it. 4 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind/0.1.0/20190219230309/BINDS: -------------------------------------------------------------------------------- 1 | database=port host 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind/0.1.0/20190219230309/BINDS_OPTIONAL: -------------------------------------------------------------------------------- 1 | storage=port host 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind/0.1.0/20190219230309/IDENT: -------------------------------------------------------------------------------- 1 | test-bind/test-bind/0.1.0/20190219230309 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind/0.1.0/20190219230309/TARGET: -------------------------------------------------------------------------------- 1 | x86_64-linux 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind/0.1.0/20190219230309/TYPE: -------------------------------------------------------------------------------- 1 | standalone 2 | -------------------------------------------------------------------------------- /components/sup/tests/fixtures/pkgs/hab/pkgs/test-bind/test-bind/0.1.0/20190219230309/default.toml: -------------------------------------------------------------------------------- 1 | # Use this file to templatize your application's native configuration files. 2 | # See the docs at https://www.habitat.sh/docs/create-packages-configure/. 3 | # You can safely delete this file if you don't need it. 4 | -------------------------------------------------------------------------------- /components/sup/tests/utils/mod.rs: -------------------------------------------------------------------------------- 1 | //! Utility functions for testing a Supervisor 2 | pub mod fixture_root; 3 | pub mod fs; 4 | pub mod bio_root; 5 | pub mod test_butterfly; 6 | pub mod test_helpers; 7 | pub mod test_sup; 8 | 9 | // Re-export the key structs of this package for ergonomics. 10 | pub use self::{fixture_root::FixtureRoot, 11 | fs::{setup_package_files, 12 | FileSystemSnapshot}, 13 | bio_root::BioRoot, 14 | test_sup::TestSup}; 15 | -------------------------------------------------------------------------------- /components/win-users/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "biome_win_users" 3 | version = "0.0.0" 4 | edition = "2018" 5 | authors = ["The Biome Maintainers "] 6 | description = "Biome library for win32 account api calls" 7 | workspace = "../../" 8 | build = "build.rs" 9 | 10 | [build-dependencies] 11 | cc = "*" 12 | 13 | [dependencies] 14 | log = "0.4" 15 | 16 | [target.'cfg(windows)'.dependencies] 17 | widestring = "*" 18 | winapi = { version = "^0.3", features = ["winbase", "winerror", "handleapi", "sddl", "securitybaseapi"] } 19 | -------------------------------------------------------------------------------- /components/win-users/build.rs: -------------------------------------------------------------------------------- 1 | #[cfg(windows)] 2 | fn main() { 3 | cc::Build::new().file("./src/obtain_sid.c") 4 | .compile("libsid.a"); 5 | } 6 | 7 | #[cfg(not(windows))] 8 | fn main() {} 9 | -------------------------------------------------------------------------------- /components/win-users/src/lib.rs: -------------------------------------------------------------------------------- 1 | #[cfg(windows)] 2 | pub mod account; 3 | #[cfg(windows)] 4 | pub mod sid; 5 | -------------------------------------------------------------------------------- /components/windows-service/.gitignore: -------------------------------------------------------------------------------- 1 | *.suo 2 | *.user 3 | bin/ 4 | obj/ 5 | -------------------------------------------------------------------------------- /components/windows-service/install.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | pwsh.exe -NoProfile -ExecutionPolicy bypass -NoLogo -Command ". '%~dp0biome.ps1';Install-BioService" %* 3 | -------------------------------------------------------------------------------- /components/windows-service/uninstall.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | pwsh.exe -NoProfile -ExecutionPolicy bypass -NoLogo -Command ". '%~dp0biome.ps1';Uninstall-BioService" %* 3 | -------------------------------------------------------------------------------- /images/biome-application-rebuild-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-application-rebuild-flow.png -------------------------------------------------------------------------------- /images/biome-architecture-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-architecture-overview.png -------------------------------------------------------------------------------- /images/biome-automated-docker-container-publishing-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-automated-docker-container-publishing-flow.png -------------------------------------------------------------------------------- /images/biome-dependency-update-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-dependency-update-flow.png -------------------------------------------------------------------------------- /images/biome-flow-infographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-flow-infographic.png -------------------------------------------------------------------------------- /images/biome-initial-docker-container-publishing-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-initial-docker-container-publishing-flow.png -------------------------------------------------------------------------------- /images/biome-initial-package-build-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-initial-package-build-flow.png -------------------------------------------------------------------------------- /images/biome-promote-packages-through-channels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/biome-promote-packages-through-channels.png -------------------------------------------------------------------------------- /images/election-flow.graffle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/election-flow.graffle -------------------------------------------------------------------------------- /images/election-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/election-flow.png -------------------------------------------------------------------------------- /images/overview-youtube-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/overview-youtube-image.jpg -------------------------------------------------------------------------------- /images/standalone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/images/standalone.png -------------------------------------------------------------------------------- /plan.toml: -------------------------------------------------------------------------------- 1 | [tomlcheck] 2 | add-path = ["tests/test.toml"] 3 | 4 | [shellcheck] 5 | # Check by default all our plugins 6 | add-path = ["../../../ci/*.sh"] 7 | add-exclude = ["SC2164", "SC2148"] 8 | -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "1.85.0" 3 | -------------------------------------------------------------------------------- /support/allowed_lints.txt: -------------------------------------------------------------------------------- 1 | clippy::module_inception 2 | clippy::new_ret_no_self 3 | clippy::new_without_default 4 | -------------------------------------------------------------------------------- /support/lints_to_fix.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/support/lints_to_fix.txt -------------------------------------------------------------------------------- /support/linux/install_dev_0_arch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eux 3 | 4 | sudo -E pacman -Syyu --noconfirm 5 | 6 | sudo -E pacman -S --noconfirm \ 7 | base-devel \ 8 | cmake \ 9 | curl \ 10 | gdb \ 11 | git \ 12 | man \ 13 | npm \ 14 | pkg-config \ 15 | protobuf \ 16 | redis \ 17 | wget \ 18 | zeromq 19 | -------------------------------------------------------------------------------- /support/linux/install_dev_0_ubuntu_latest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eux 3 | 4 | sudo -E apt-get update 5 | 6 | sudo -E apt-get install -y --no-install-recommends \ 7 | build-essential \ 8 | ca-certificates \ 9 | cmake \ 10 | curl \ 11 | direnv \ 12 | file \ 13 | gdb \ 14 | git \ 15 | httpie \ 16 | iproute2 \ 17 | libprotobuf-dev \ 18 | libssl-dev \ 19 | libczmq-dev \ 20 | man \ 21 | musl-tools \ 22 | net-tools \ 23 | pkg-config \ 24 | libpq-dev \ 25 | protobuf-compiler \ 26 | software-properties-common \ 27 | sudo \ 28 | tmux \ 29 | vim \ 30 | wget 31 | -------------------------------------------------------------------------------- /support/mac/install_dev_0_mac_latest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eux 3 | 4 | if ! command -v brew >/dev/null; then 5 | echo "Homebrew missing, attempting to install" 6 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/main/install)" < /dev/null 7 | fi 8 | 9 | brew update 10 | 11 | brew install \ 12 | node \ 13 | pkg-config \ 14 | zeromq 15 | -------------------------------------------------------------------------------- /support/mac/install_dev_9_mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eux 3 | 4 | # Install Rust 5 | curl -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable 6 | . "$HOME"/.cargo/env 7 | # cargo install protobuf 8 | rustc --version 9 | cargo --version 10 | 11 | npm install -g docco 12 | echo "Node $(node --version)" 13 | echo "npm $(npm --version)" 14 | echo "docco $(docco --version)" 15 | 16 | sh /tmp/install.sh 17 | rm -rf /tmp/install.sh 18 | -------------------------------------------------------------------------------- /support/rustfmt_nightly.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PATH+=":$HOME/.cargo/bin" 4 | if [[ -f RUSTFMT_VERSION ]]; then 5 | toolchain="$(< RUSTFMT_VERSION)" 6 | else 7 | toolchain=stable 8 | fi 9 | 10 | { 11 | if ! rustup run "$toolchain" rustfmt --version; then 12 | rustup set profile minimal 13 | rustup toolchain install "$toolchain" 14 | rustup component add --toolchain "$toolchain" rustfmt 15 | rustup set profile default 16 | fi 17 | } &> /dev/null 18 | 19 | cargo +"${toolchain}" fmt -- "$@" 20 | -------------------------------------------------------------------------------- /support/unexamined_lints.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/support/unexamined_lints.txt -------------------------------------------------------------------------------- /test-services/force-kill/hooks/run: -------------------------------------------------------------------------------- 1 | _term() { 2 | echo "run hook is terminating" 3 | sleep 30 4 | } 5 | 6 | trap _term TERM 7 | 8 | while true; do 9 | echo "Working" 10 | sleep 3 11 | done 12 | -------------------------------------------------------------------------------- /test-services/force-kill/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="force-kill" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.1.0" 4 | pkg_maintainer="The Biome Maintainers " 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test-services/supplemental-group-tester/hooks/init: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | file="/tmp/supplemental-group-tester-file" 6 | 7 | echo "Supplemental Group Tester: INIT HOOK" 8 | echo "Verifying ${file} exists" 9 | file "${file}" 10 | echo "Should be able to read the file" 11 | cat "${file}" 12 | -------------------------------------------------------------------------------- /test-services/supplemental-group-tester/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | file="/tmp/supplemental-group-tester-file" 6 | 7 | echo "Supplemental Group Tester: RUN HOOK" 8 | echo "Verifying ${file} exists" 9 | file "${file}" 10 | echo "Should be able to read the file" 11 | cat "${file}" 12 | 13 | echo "Writing a sentinel file to show we got this far" 14 | echo "SUCCESS" > /tmp/supplemental-group-tester-sentinel 15 | 16 | while true; do 17 | echo "Working" 18 | echo "Sleeping for a while..." 19 | sleep 3 20 | done 21 | -------------------------------------------------------------------------------- /test-services/supplemental-group-tester/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="supplemental-group-tester" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.1.0" 5 | pkg_svc_user="hab" 6 | pkg_svc_group="hab" 7 | 8 | do_build() { :; } 9 | do_install() { :; } 10 | -------------------------------------------------------------------------------- /test-services/test-probe/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "test-probe" 3 | version = "0.1.0" 4 | edition = "2018" 5 | authors = ["The Biome Maintainers "] 6 | workspace = "../../" 7 | 8 | [dependencies] 9 | actix-rt = "*" 10 | actix-web = { version = "*", default-features = false, features = [ "rustls-0_21" ] } 11 | clap = { git = "https://github.com/habitat-sh/clap.git", branch = "v2-master", features = [ "suggestions", "color", "unstable" ] } 12 | serde = { version = "*", features = ["derive"] } 13 | serde_json = "*" 14 | toml = "*" 15 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/config/config.toml: -------------------------------------------------------------------------------- 1 | host = "{{cfg.host}}" 2 | port = {{cfg.port}} 3 | render_context_file = "{{cfg.render_context_file}}" 4 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/config/render_context.json: -------------------------------------------------------------------------------- 1 | { 2 | "sys": {{toJson sys}}, 3 | "pkg": {{toJson pkg}}, 4 | "cfg": {{toJson cfg}}, 5 | "svc": {{toJson svc}}, 6 | "bind": {{toJson bind}} 7 | } 8 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/default.toml: -------------------------------------------------------------------------------- 1 | host = "0.0.0.0" 2 | port = 8000 3 | render_context_file = "/hab/svc/test-probe/config/render_context.json" 4 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/health_exit: -------------------------------------------------------------------------------- 1 | 0 -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/hooks/health-check: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | echo "Running health_check hook: {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 4 | sleep 2 5 | echo "health_check finished!" 6 | exit $(cat {{pkg.path}}/health_exit) 7 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/hooks/init: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | echo "Initializing package {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 4 | sleep 1 5 | echo "... reticulating splines ..." 6 | echo "... integrating curves ..." 7 | echo "... relaxing splines ..." 8 | echo "... calculating inverse probability matrices ..." 9 | sleep 1 10 | echo "Deliberately taking a long time in the init hook" 11 | for i in {1..10}; do 12 | sleep 1 13 | echo "Sleeping ($i)/10..." 14 | done 15 | echo "init hook DONE" 16 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/hooks/post-run: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | echo "Running post-run script: {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 4 | echo "Done" 5 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/aarch64-linux/hooks/post-stop: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | byebye(){ 4 | echo "Got a signal!" 5 | } 6 | trap byebye INT TERM 7 | 8 | 9 | echo "Deliberately long post-stop hook executing: {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 10 | for i in {1..15}; do 11 | sleep 1 12 | echo "Sleeping ($i)/15..." 13 | done 14 | echo "post-stop hook DONE" 15 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/config/config.toml: -------------------------------------------------------------------------------- 1 | host = "{{cfg.host}}" 2 | port = {{cfg.port}} 3 | render_context_file = "{{cfg.render_context_file}}" 4 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/config/render_context.json: -------------------------------------------------------------------------------- 1 | { 2 | "sys": {{toJson sys}}, 3 | "pkg": {{toJson pkg}}, 4 | "cfg": {{toJson cfg}}, 5 | "svc": {{toJson svc}}, 6 | "bind": {{toJson bind}} 7 | } 8 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/default.toml: -------------------------------------------------------------------------------- 1 | host = "0.0.0.0" 2 | port = 8000 3 | render_context_file = "/hab/svc/test-probe/config/render_context.json" 4 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/health_exit: -------------------------------------------------------------------------------- 1 | 0 -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/hooks/health-check: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | echo "Running health_check hook: {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 4 | sleep 2 5 | echo "health_check finished!" 6 | exit $(cat {{pkg.path}}/health_exit) 7 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/hooks/init: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | echo "Initializing package {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 4 | sleep 1 5 | echo "... reticulating splines ..." 6 | echo "... integrating curves ..." 7 | echo "... relaxing splines ..." 8 | echo "... calculating inverse probability matrices ..." 9 | sleep 1 10 | echo "Deliberately taking a long time in the init hook" 11 | for i in {1..10}; do 12 | sleep 1 13 | echo "Sleeping ($i)/10..." 14 | done 15 | echo "init hook DONE" 16 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/hooks/post-run: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | echo "Running post-run script: {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 4 | echo "Done" 5 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-linux/hooks/post-stop: -------------------------------------------------------------------------------- 1 | #!{{pkgPathFor "core/bash"}}/bin/bash 2 | 3 | byebye(){ 4 | echo "Got a signal!" 5 | } 6 | trap byebye INT TERM 7 | 8 | 9 | echo "Deliberately long post-stop hook executing: {{pkg.ident}} (PID: $$, PPID: $PPID, PGID: $(ps h -o pgid -p $$))" 10 | for i in {1..15}; do 11 | sleep 1 12 | echo "Sleeping ($i)/15..." 13 | done 14 | echo "post-stop hook DONE" 15 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/config/config.toml: -------------------------------------------------------------------------------- 1 | host = "{{cfg.host}}" 2 | port = {{cfg.port}} 3 | render_context_file = "{{cfg.render_context_file}}" 4 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/config/render_context.json: -------------------------------------------------------------------------------- 1 | { 2 | "sys": {{toJson sys}}, 3 | "pkg": {{toJson pkg}}, 4 | "cfg": {{toJson cfg}}, 5 | "svc": {{toJson svc}}, 6 | "bind": {{toJson bind}} 7 | } 8 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/default.toml: -------------------------------------------------------------------------------- 1 | host = "0.0.0.0" 2 | port = 8000 3 | render_context_file = "/hab/svc/test-probe/config/render_context.json" 4 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/health_exit: -------------------------------------------------------------------------------- 1 | 0 -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Host "Running health_check hook: {{pkg.ident}}" 2 | Start-Sleep 2 3 | Write-Host "health_check finished!" 4 | Exit "$(Get-Content {{pkg.path}}\health_exit)" -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/hooks/init.ps1: -------------------------------------------------------------------------------- 1 | Write-Host "Initializing package {{pkg.ident}} " 2 | Start-Sleep 1 3 | Write-Host "... reticulating splines ..." 4 | Write-Host "... integrating curves ..." 5 | Write-Host "... relaxing splines ..." 6 | Write-Host "... calculating inverse probability matrices ..." 7 | Start-Sleep 1 8 | Write-Host "Deliberately taking a long time in the init hook" 9 | For ($i=0; $i -lt 10; $i++) { 10 | Start-Sleep 1 11 | Write-Host "Sleeping ($i)/10..." 12 | } 13 | Write-Host "init hook DONE" 14 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/hooks/post-run.ps1: -------------------------------------------------------------------------------- 1 | Write-Host "Running post-run script: {{pkg.ident}}" 2 | Write-Host "Done" 3 | -------------------------------------------------------------------------------- /test-services/test-probe/habitat/x86_64-windows/hooks/post-stop.ps1: -------------------------------------------------------------------------------- 1 | Write-Host "Deliberately long post-stop hook executing: {{pkg.ident}}" 2 | For ($i = 0; $i -lt 15; $i++) { 3 | Start-Sleep 1 4 | Write-Host "Sleeping ($i)/15..." 5 | } 6 | Write-Host "post-stop hook DONE" 7 | -------------------------------------------------------------------------------- /test/end-to-end/fixtures/pkg_download/bad_header.toml: -------------------------------------------------------------------------------- 1 | this_is_garbage=true 2 | 3 | # option 1, 4 | # complex, target first 5 | [[x86_64-linux]] 6 | channel = "stable" 7 | packages = ["core/gzip", "core/grep/3.1", "core/redis/4.0.14/20190319155852"] 8 | 9 | [[x86_64-linux]] 10 | channel = "unstable" 11 | packages = ["chef/chef-client", "chef/inspec/4.18.30/20191107165916"] 12 | 13 | [[x86_64-windows]] 14 | channel = "stable" 15 | packages = ["effortless/audit-baseline"] 16 | 17 | -------------------------------------------------------------------------------- /test/end-to-end/fixtures/pkg_download/bad_ident.toml: -------------------------------------------------------------------------------- 1 | format_version = 1 2 | file_descriptor = "fooa" 3 | 4 | # option 1, 5 | # complex, target first 6 | [[x86_64-windows]] 7 | channel = "stable" 8 | packages = ["effortless/audit-baseline/not/a/real/ident"] 9 | 10 | -------------------------------------------------------------------------------- /test/end-to-end/fixtures/pkg_download/bad_target.toml: -------------------------------------------------------------------------------- 1 | format_version = 1 2 | file_descriptor = "fooa" 3 | 4 | # we do not support PDP 11 builds. Be thankful. 5 | [[pdp11-ultrix]] 6 | channel = "stable" 7 | packages = ["core/gzip", "core/grep/3.1", "core/redis/4.0.14/20190319155852"] 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/end-to-end/fixtures/pkg_download/happy_path.toml: -------------------------------------------------------------------------------- 1 | format_version = 1 2 | file_descriptor = "fooa" 3 | 4 | # option 1, 5 | # complex, target first 6 | [[x86_64-linux]] 7 | channel = "stable" 8 | packages = ["core/gzip", "core/grep/3.1", "core/redis/4.0.14/20190319155852"] 9 | 10 | [[x86_64-linux]] 11 | channel = "unstable" 12 | packages = ["chef/chef-client", "chef/inspec/4.18.30/20191107165916"] 13 | 14 | [[x86_64-windows]] 15 | channel = "stable" 16 | packages = ["effortless/audit-baseline"] 17 | 18 | -------------------------------------------------------------------------------- /test/end-to-end/fixtures/pkg_download/no_header.toml: -------------------------------------------------------------------------------- 1 | # option 1, 2 | # complex, target first 3 | [[x86_64-linux]] 4 | channel = "stable" 5 | packages = ["core/gzip", "core/grep/3.1", "core/redis/4.0.14/20190319155852"] 6 | 7 | [[x86_64-linux]] 8 | channel = "unstable" 9 | packages = ["chef/chef-client", "chef/inspec/4.18.30/20191107165916"] 10 | 11 | [[x86_64-windows]] 12 | channel = "stable" 13 | packages = ["effortless/audit-baseline"] 14 | 15 | -------------------------------------------------------------------------------- /test/end-to-end/fixtures/pkg_download/no_target.toml: -------------------------------------------------------------------------------- 1 | format_version = 1 2 | file_descriptor = "fooa" 3 | 4 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/Makefile: -------------------------------------------------------------------------------- 1 | CHANNEL ?= stable 2 | IMAGE_NAME ?= supervisor-testing-${CHANNEL} 3 | 4 | biome_integration_base: Dockerfile 5 | docker build --build-arg CHANNEL=${CHANNEL} -t biome_integration_base . 6 | 7 | supervisor_image: supervisor/Dockerfile 8 | $(MAKE) -C supervisor CHANNEL=${CHANNEL} IMAGE_NAME=${IMAGE_NAME} 9 | 10 | run: supervisor_image 11 | SUPERVISOR_IMAGE=${IMAGE_NAME} ./run_test_case.sh redis 12 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/defaults/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/defaults/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | - beta 10 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/defaults/run_test.ps1: -------------------------------------------------------------------------------- 1 | Describe "what you want to test" { 2 | It "does what you want" { 3 | "random byte shuffling" | Should -Be "wanted behavior" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/new_testcase.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | testcase=${1} 4 | testcase_dir="testcases/${testcase}" 5 | 6 | if [ -d "${testcase_dir}" ]; then 7 | echo "Test case '${testcase}' already exists!" 8 | exit 1 9 | else 10 | mkdir "${testcase_dir}" 11 | cp defaults/* "${testcase_dir}" 12 | echo "A new (failing) testcase created in ${testcase_dir}" 13 | fi 14 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/supervisor/Makefile: -------------------------------------------------------------------------------- 1 | CHANNEL ?= stable 2 | IMAGE_NAME ?= supervisor 3 | 4 | image: Dockerfile 5 | docker build --build-arg CHANNEL=${CHANNEL} -t ${IMAGE_NAME} . 6 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/supervisor/etc/group: -------------------------------------------------------------------------------- 1 | root:x:0: 2 | bin:x:1:daemon 3 | sys:x:2: 4 | kmem:x:3: 5 | tape:x:4: 6 | tty:x:5: 7 | daemon:x:6: 8 | floppy:x:7: 9 | disk:x:8: 10 | lp:x:9: 11 | dialout:x:10: 12 | audio:x:11: 13 | video:x:12: 14 | utmp:x:13: 15 | usb:x:14: 16 | cdrom:x:15: 17 | adm:x:16: 18 | messagebus:x:18: 19 | systemd-journal:x:23: 20 | input:x:24: 21 | mail:x:34: 22 | nogroup:x:99: 23 | users:x:999: 24 | hab:x:42:hab 25 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/supervisor/etc/passwd: -------------------------------------------------------------------------------- 1 | 2 | root:x:0:0:root:/root:/bin/sh 3 | bin:x:1:1:bin:/dev/null:/bin/false 4 | daemon:x:6:6:Daemon User:/dev/null:/bin/false 5 | messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false 6 | nobody:x:99:99:Unprivileged User:/dev/null:/bin/false 7 | hab:x:42:42:root:/:/bin/sh 8 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/apply_config_from_file/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/apply_config_from_file/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | - beta 10 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/apply_config_from_stdin/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/apply_config_from_stdin/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | - beta 10 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/bad_secret_key/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/bad_secret_key/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/bad_secret_key/run_test.ps1: -------------------------------------------------------------------------------- 1 | Describe "ctl_gateway" { 2 | It "should NOT be able to issue a remote-sup call with the wrong secret key" { 3 | $env:HAB_CTL_SECRET=(bio sup secret generate) 4 | bio svc status --remote-sup "alpha.biome.dev" 5 | $LASTEXITCODE | Should -Not -Be 0 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/new-config-is-gossiped/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/new-config-is-gossiped/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | - beta 10 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/peer_watcher/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/peer_watcher/PEERS: -------------------------------------------------------------------------------- 1 | bastion.biome.dev -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/preseed-service-group-config/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/preseed-service-group-config/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | - beta 10 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/rolling_update/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/rolling_update_demote_mid_update/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | # Always accept the license when we run this image. 4 | ENV HAB_LICENSE=accept-no-persist 5 | 6 | COPY run_test.ps1 /run_test.ps1 7 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 8 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/rolling_update_remove_follower_keep_quorum/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | # Always accept the license when we run this image. 4 | ENV HAB_LICENSE=accept-no-persist 5 | 6 | COPY run_test.ps1 /run_test.ps1 7 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 8 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/rolling_update_remove_leader_keep_quorum/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | # Always accept the license when we run this image. 4 | ENV HAB_LICENSE=accept-no-persist 5 | 6 | COPY run_test.ps1 /run_test.ps1 7 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 8 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/rolling_update_remove_leader_lose_quorum/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | # Always accept the license when we run this image. 4 | ENV HAB_LICENSE=accept-no-persist 5 | 6 | COPY run_test.ps1 /run_test.ps1 7 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 8 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/send_file/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/send_file/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | - beta 10 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/service_files_are_written_to_disk_when_service_is_loaded/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/service_files_are_written_to_disk_when_service_is_loaded/docker-compose.override.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | services: 3 | tester: 4 | extends: 5 | service: test_base 6 | depends_on: 7 | - bastion 8 | - alpha 9 | - beta 10 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/with_ring_encryption/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/with_user_and_service_encryption/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM biome_integration_base 2 | 3 | COPY run_test.ps1 /run_test.ps1 4 | CMD pwsh /scripts/end_to_end/run_e2e_test_core.ps1 /run_test.ps1 5 | -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/with_user_and_service_encryption/cache_keys/mctesterson-20200811182846.pub: -------------------------------------------------------------------------------- 1 | BOX-PUB-1 2 | mctesterson-20200811182846 3 | 4 | YhVG31tkWaDzOM1FZTyf5zINQYDaqF7pgzDQCvj3nA8= -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/with_user_and_service_encryption/cache_keys/redis.default@e2e-20200811182943.pub: -------------------------------------------------------------------------------- 1 | BOX-PUB-1 2 | redis.default@e2e-20200811182943 3 | 4 | u+VmmRdeZmBU8zqmX4MBWrc6wJva0CMxh2bCQfhnlGE= -------------------------------------------------------------------------------- /test/end-to-end/multi-supervisor/testcases/with_user_and_service_encryption/cache_keys_no_user/redis.default@e2e-20200811182943.pub: -------------------------------------------------------------------------------- 1 | BOX-PUB-1 2 | redis.default@e2e-20200811182943 3 | 4 | u+VmmRdeZmBU8zqmX4MBWrc6wJva0CMxh2bCQfhnlGE= -------------------------------------------------------------------------------- /test/end-to-end/test_bio_bldr_channel_list_sandbox_optn.ps1: -------------------------------------------------------------------------------- 1 | $HAB_ORIGIN = "core" 2 | 3 | Describe "bldr channel list --sandbox" { 4 | It "Lists all the channels including sandbox for the origin" { 5 | $success = $false 6 | foreach($ch in bio bldr channel list --sandbox $HAB_ORIGIN) { 7 | if($ch.StartsWith("bldr-")) { 8 | $success = $true 9 | break 10 | } 11 | } 12 | $success | Should be $true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/end-to-end/test_studio_can_build_packages_with_pkg_version_function.ps1: -------------------------------------------------------------------------------- 1 | bio origin key generate $env:HAB_ORIGIN 2 | 3 | Describe "package defining pkg_version function" { 4 | bio pkg build test/fixtures/pkg_version 5 | It "builds without error" { 6 | $LASTEXITCODE | Should -Be 0 7 | } 8 | It "builds the correct version" { 9 | # pkg_version hardcoces 5.5.5 as the version 10 | . results/last_build.ps1 11 | $pkg_version | Should -Be "5.5.5" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/fixtures/after-failure-plan/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="after_failure_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | function Invoke-Build { 7 | throw "build is broken" 8 | } 9 | 10 | function Invoke-AfterSuccess { 11 | Write-Host "I am a success" 12 | } 13 | 14 | function Invoke-AfterFailure { 15 | Write-Host "I am a failure" 16 | } 17 | -------------------------------------------------------------------------------- /test/fixtures/after-failure-plan/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="after_failure_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { 7 | exit 1 8 | } 9 | do_install() { :; } 10 | 11 | do_after_success() { 12 | echo "I am a success" 13 | } 14 | 15 | do_after_failure() { 16 | echo "I am a failure" 17 | } 18 | -------------------------------------------------------------------------------- /test/fixtures/after-success-plan/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="after_success_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | function Invoke-AfterSuccess { 7 | Write-Host "I am a success" 8 | } 9 | 10 | function Invoke-AfterFailure { 11 | Write-Host "I am a failure" 12 | } 13 | -------------------------------------------------------------------------------- /test/fixtures/after-success-plan/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="after_success_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | 9 | do_after_success() { 10 | echo "I am a success" 11 | } 12 | 13 | do_after_failure() { 14 | echo "I am a failure" 15 | } 16 | -------------------------------------------------------------------------------- /test/fixtures/bad-hook-extension-plan/hooks/install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # install 3 | set -euo pipefail 4 | 5 | echo "install hook {{pkg.name}}" 6 | -------------------------------------------------------------------------------- /test/fixtures/bad-hook-extension-plan/hooks/install.ps1: -------------------------------------------------------------------------------- 1 | # install.ps1 2 | 3 | Write-Output "install hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/bad-hook-extension-plan/hooks/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # install.sh 3 | set -euo pipefail 4 | 5 | echo "install hook {{pkg.name}}" 6 | -------------------------------------------------------------------------------- /test/fixtures/bad-hook-extension-plan/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="hook-extension-plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/bad-hook-extension-plan/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="hook-extension-plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/breakable-refresh-downgrade/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="breakable-refresh-downgrade" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | $pkg_deps=@("core/protobuf", "core/libarchive") -------------------------------------------------------------------------------- /test/fixtures/breakable-refresh-downgrade/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="breakable-refresh-downgrade" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | pkg_deps=( 7 | core/glibc 8 | core/gcc 9 | ) 10 | 11 | do_build() { :; } 12 | do_install() { :; } 13 | -------------------------------------------------------------------------------- /test/fixtures/broken-after-failure-plan/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="broken_after_failure_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | function Invoke-Build { 7 | throw "build is broken" 8 | } 9 | 10 | function Invoke-AfterSuccess { 11 | throw "I am a success" 12 | } 13 | 14 | function Invoke-AfterFailure { 15 | throw "failure after failure" 16 | } 17 | -------------------------------------------------------------------------------- /test/fixtures/broken-after-failure-plan/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="broken_after_failure_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { 7 | exit 1 8 | } 9 | do_install() { :; } 10 | 11 | do_after_success() { 12 | echo "I am a success" 13 | } 14 | 15 | do_after_failure() { 16 | exit 1 17 | } 18 | -------------------------------------------------------------------------------- /test/fixtures/broken-after-success-plan/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="broken_after_success_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | function Invoke-AfterSuccess { 7 | throw "failure comes after success" 8 | } 9 | 10 | function Invoke-AfterFailure { 11 | Write-Host "I am a failure" 12 | } 13 | -------------------------------------------------------------------------------- /test/fixtures/broken-after-success-plan/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="broken_after_success_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | 9 | do_after_success() { 10 | exit 1 11 | } 12 | 13 | do_after_failure() { 14 | echo "I am a failure" 15 | } 16 | -------------------------------------------------------------------------------- /test/fixtures/custom-hook-exit-code/hooks/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | exit $Env:CUSTOM_HOOK_EXIT_CODE 4 | -------------------------------------------------------------------------------- /test/fixtures/custom-hook-exit-code/hooks/uninstall: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | exit $Env:CUSTOM_HOOK_EXIT_CODE 4 | -------------------------------------------------------------------------------- /test/fixtures/custom-hook-exit-code/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "custom-hook-exit-code" 2 | $pkg_origin = "biome-testing" 3 | $pkg_version = "0.1.0" 4 | -------------------------------------------------------------------------------- /test/fixtures/custom-hook-exit-code/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="custom-hook-exit-code" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.1.0" 4 | 5 | do_build() { :; } 6 | do_install() { :; } 7 | -------------------------------------------------------------------------------- /test/fixtures/database-server/hooks/health_check: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "OK" 4 | exit 0 5 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-1/hooks/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "install hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-1/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dep-pkg-1" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-1/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="dep-pkg-1" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-2/hooks/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "install hook {{pkg.name}}" 4 | 5 | $result = Test-Path "{{pkgPathFor "biome-testing/dep-pkg-1"}}/INSTALL_HOOK_STATUS" -ErrorAction SilentlyContinue 6 | 7 | if(!$result) { 8 | exit 1 9 | } 10 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-2/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dep-pkg-2" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | $pkg_deps=@("biome-testing/dep-pkg-1") 6 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-2/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="dep-pkg-2" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | pkg_deps=("biome-testing/dep-pkg-1") 6 | 7 | do_build() { :; } 8 | do_install() { :; } 9 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-3/hooks/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "install hook {{pkg.name}}" 4 | 5 | $result = Test-Path "{{pkgPathFor "biome-testing/dep-pkg-2"}}/INSTALL_HOOK_STATUS" -ErrorAction SilentlyContinue 6 | 7 | if(!$result) { 8 | exit 1 9 | } 10 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-3/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dep-pkg-3" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | $pkg_deps=@("biome-testing/dep-pkg-2") 6 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-3/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="dep-pkg-3" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | pkg_deps=("biome-testing/dep-pkg-2") 6 | 7 | do_build() { :; } 8 | do_install() { :; } 9 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-4/hooks/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "install hook {{pkg.name}}" 4 | 5 | $result = Test-Path "{{pkgPathFor "biome-testing/dep-pkg-2"}}/INSTALL_HOOK_STATUS" -ErrorAction SilentlyContinue 6 | 7 | if(!$result) { 8 | exit 1 9 | } 10 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-4/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dep-pkg-4" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | $pkg_deps=@("biome-testing/dep-pkg-1", "biome-testing/dep-pkg-2") 6 | -------------------------------------------------------------------------------- /test/fixtures/dep-pkg-4/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="dep-pkg-4" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | pkg_deps=("biome-testing/dep-pkg-1" "biome-testing/dep-pkg-2") 6 | 7 | do_build() { :; } 8 | do_install() { :; } 9 | -------------------------------------------------------------------------------- /test/fixtures/dep-uninstall-hook/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dep-uninstall-hook" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.1.0" 4 | $pkg_deps=@("biome-testing/uninstall-hook/0.1.0") 5 | -------------------------------------------------------------------------------- /test/fixtures/dep-uninstall-hook/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="dep-uninstall-hook" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.1.0" 4 | pkg_deps=("biome-testing/uninstall-hook/0.1.0") 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-00/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-00/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-00/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-00" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-00/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-00/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-00/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-00" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-01/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-01/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-01/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-01" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-01/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-01/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-01/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-01" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-02/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-02/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-02/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-02" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-02/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-02/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-02/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-02" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-03/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-03/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-03/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-03" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-03/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-03/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-03/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-03" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-04/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-04/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-04/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-04" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-04/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-04/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-04/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-04" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-05/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-05/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-05/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-05" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-05/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-05/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-05/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-05" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-06/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-06/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-06/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-06" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-06/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-06/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-06/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-06" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-07/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-07/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-07/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-07" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-07/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-07/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-07/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-07" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-08/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-08/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-08/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-08" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-08/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-08/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-08/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-08" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-09/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-09/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-09/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-09" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-09/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-09/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-09/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-09" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-10/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-10/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-10/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-10" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-10/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-10/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-10/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-10" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-11/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-11/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-11/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-11" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-11/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-11/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-11/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-11" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-12/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-12/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-12/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-12" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-12/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-12/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-12/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-12" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-13/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-13/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-13/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-13" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-13/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-13/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-13/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-13" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-14/x86_64-linux/hooks/health-check.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "health-check {{pkg.name}} {{pkg.version}} $$" 4 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-14/x86_64-linux/hooks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | while true 4 | do 5 | echo "run {{pkg.name}} {{pkg.version}} $$" 6 | sleep 5 7 | done 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-14/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="health-check-performance-14" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-14/x86_64-windows/hooks/health-check.ps1: -------------------------------------------------------------------------------- 1 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 2 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-14/x86_64-windows/hooks/run.ps1: -------------------------------------------------------------------------------- 1 | while ($true) { 2 | Write-Output "RUN {{pkg.name}} {{pkg.version}} $PID" 3 | Start-Sleep 5 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/health-check-performance/health-check-performance-14/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name = "health-check-performance-14" 2 | $pkg_origin = "biome-testing" 3 | $pkg_maintainer = "The Biome Maintainers " 4 | $pkg_version = "0.0.0" 5 | -------------------------------------------------------------------------------- /test/fixtures/hook-extension-plan/x86_64-linux/hooks/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # install.sh 3 | set -euo pipefail 4 | 5 | echo "install hook {{pkg.name}}" 6 | -------------------------------------------------------------------------------- /test/fixtures/hook-extension-plan/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="hook-extension-plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/hook-extension-plan/x86_64-windows/hooks/install.ps1: -------------------------------------------------------------------------------- 1 | # install.ps1 2 | 3 | Write-Output "install hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/hook-extension-plan/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="hook-extension-plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/minimal-package/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="minimal_package" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/minimal-package/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="minimal_package" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/pkg_version/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="pkg_version" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | 5 | function Invoke-SetupEnvironment { 6 | Push-RuntimeEnv "SomeVar" "SomeValue" 7 | } 8 | 9 | function pkg_version { 10 | "5.5.5" 11 | } 12 | 13 | function Invoke-Before { 14 | Invoke-DefaultBefore 15 | Set-PkgVersion 16 | } 17 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-biome-target/biome/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="biome_target_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-biome-target/biome/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="biome_target_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-biome-target/habitat/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="biome_target_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-biome-target/habitat/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="biome_target_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-biome/habitat/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="biome_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-biome/habitat/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="biome_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-habitat/habitat/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="biome_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-habitat/habitat/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="biome_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-none/plan.barf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/test/fixtures/plan-in-none/plan.barf -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-biome/habitat/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="root_biome_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-biome/habitat/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="root_biome_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-habitat/habitat/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="root_biome_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-habitat/habitat/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="root_biome_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-habitat/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="root_biome_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-habitat/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="root_biome_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-target/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="root_target_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-target/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="root_target_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-target/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="target_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root-and-target/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="target_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="root_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-root/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="root_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-target/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="target_plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/plan-in-target/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="target_plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | -------------------------------------------------------------------------------- /test/fixtures/plans/nats-event-stream-test/hooks/health-check: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -euo pipefail 4 | 5 | echo "NATS server is healthy" 6 | -------------------------------------------------------------------------------- /test/fixtures/plans/nats-event-stream-test/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec 2>&1 4 | 5 | exec nats-server -DV -auth "my_token=" 6 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/hooks/health-check: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "health-check hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/hooks/init: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "init hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/hooks/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "install hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/hooks/post-run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "post-run hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/hooks/post-stop: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | Write-Output "post-stop hook {{pkg.name}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/hooks/run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | while ($true) { 4 | Write-Output "run hook {{pkg.name}}" 5 | Start-Sleep 3 6 | } 7 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="simple-hooks" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.0.0" 4 | $pkg_maintainer="The Biome Maintainers " 5 | 6 | function Invoke-Build {} 7 | 8 | function Invoke-Install {} 9 | -------------------------------------------------------------------------------- /test/fixtures/plans/simple-hooks/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="simple-hooks" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.0.0" 4 | pkg_maintainer="The Biome Maintainers " 5 | 6 | do_build() { 7 | return 0 8 | } 9 | 10 | do_install() { 11 | return 0 12 | } 13 | -------------------------------------------------------------------------------- /test/fixtures/render/consul/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec 2>&1 4 | 5 | SERVERMODE={{cfg.server.mode}} 6 | export CONSUL_UI_LEGACY={{cfg.server.legacy_ui}} 7 | 8 | CONSUL_OPTS="-dev" 9 | if [ "$SERVERMODE" = true ]; then 10 | CONSUL_OPTS="{{~#if cfg.website}} -ui {{~/if}} -server -bootstrap-expect {{cfg.bootstrap.expect}} -config-file={{pkg.svc_config_path}}/basic_config.json" 11 | fi 12 | 13 | exec consul agent ${CONSUL_OPTS} 14 | -------------------------------------------------------------------------------- /test/fixtures/render/consul/user.toml: -------------------------------------------------------------------------------- 1 | [server] 2 | loglevel = "IN_USER_TOML" 3 | 4 | [ports] 5 | serf_lan = 8888 6 | server = 9999 7 | -------------------------------------------------------------------------------- /test/fixtures/runtime-env-consumer-plan/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="runtime-env-consumer-plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | $pkg_build_deps=@("biome-testing/runtime-env-plan") 6 | 7 | function Invoke-Build { 8 | if($env:SOME_VAR -ne "SOME_VAL") { 9 | Write-Error "build failed" 10 | } 11 | } -------------------------------------------------------------------------------- /test/fixtures/runtime-env-consumer-plan/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="runtime-env-consumer-plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | pkg_build_deps=("biome-testing/runtime-env-plan") 6 | 7 | do_build() { 8 | if [[ "$SOME_VAR" != "SOME_VAL" ]]; then 9 | exit 1 10 | else 11 | exit 0 12 | fi 13 | } 14 | do_install() { :; } 15 | -------------------------------------------------------------------------------- /test/fixtures/runtime-env-plan/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="runtime-env-plan" 2 | $pkg_origin="biome-testing" 3 | $pkg_maintainer="The Biome Maintainers " 4 | $pkg_version="0.0.0" 5 | 6 | function Invoke-SetupEnvironment { 7 | Set-RuntimeEnv "SOME_VAR" "SOME_VAL" 8 | } 9 | -------------------------------------------------------------------------------- /test/fixtures/runtime-env-plan/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="runtime-env-plan" 2 | pkg_origin="biome-testing" 3 | pkg_maintainer="The Biome Maintainers " 4 | pkg_version="0.0.0" 5 | 6 | do_setup_environment() { 7 | set_runtime_env "SOME_VAR" "SOME_VAL" 8 | } 9 | do_build() { :; } 10 | do_install() { :; } 11 | -------------------------------------------------------------------------------- /test/fixtures/scaffolding/lib/scaffolding.ps1: -------------------------------------------------------------------------------- 1 | [Diagnostics.CodeAnalysis.SuppressMessage("PSUseApprovedVerbs", '', Scope="function")] 2 | param() 3 | function Load-Scaffolding { 4 | $pkg_deps += @("$env:HAB_ORIGIN/minimal_package") 5 | $pkg_build_deps += @("$env:HAB_ORIGIN/dep-pkg-1") 6 | } 7 | -------------------------------------------------------------------------------- /test/fixtures/scaffolding/lib/scaffolding.sh: -------------------------------------------------------------------------------- 1 | scaffolding_load() { 2 | pkg_deps=("$HAB_ORIGIN/minimal_package" "${pkg_deps[@]}") 3 | pkg_build_deps=("$HAB_ORIGIN/dep-pkg-1" "${pkg_build_deps[@]}") 4 | } -------------------------------------------------------------------------------- /test/fixtures/scaffolding/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dummy-scaffolding" 2 | $pkg_origin=$env:HAB_ORIGIN 3 | $pkg_version="0.1.0" 4 | 5 | function Invoke-Install { 6 | Copy-Item "$PLAN_CONTEXT/lib" $pkg_prefix -Recurse -Force 7 | } 8 | -------------------------------------------------------------------------------- /test/fixtures/scaffolding/plan.sh: -------------------------------------------------------------------------------- 1 | # shellcheck disable=2154 2 | pkg_name="dummy-scaffolding" 3 | pkg_origin=$HAB_ORIGIN 4 | pkg_version="0.1.0" 5 | 6 | do_build() { :; } 7 | do_install() { 8 | install -D -m 0644 "$PLAN_CONTEXT/lib/scaffolding.sh" "$pkg_prefix/lib/scaffolding.sh" 9 | } 10 | -------------------------------------------------------------------------------- /test/fixtures/testpkg1/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="testpkg1" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.1.0" 4 | pkg_maintainer="The Biome Maintainers " 5 | pkg_license=("Apache-2.0") 6 | pkg_deps=() 7 | pkg_build_deps=() 8 | do_build() { 9 | return 0 10 | } 11 | 12 | do_install() { 13 | return 0 14 | } 15 | -------------------------------------------------------------------------------- /test/fixtures/testpkg2/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="testpkg2" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.1.0" 4 | pkg_maintainer="The Biome Maintainers " 5 | pkg_license=("Apache-2.0") 6 | pkg_deps=() 7 | pkg_build_deps=() 8 | do_build() { 9 | return 0 10 | } 11 | 12 | do_install() { 13 | return 0 14 | } 15 | -------------------------------------------------------------------------------- /test/fixtures/testpkgbindconsumer/config/myconfig.conf: -------------------------------------------------------------------------------- 1 | {{bind.alias.first.cfg.setting}} -------------------------------------------------------------------------------- /test/fixtures/testpkgbindconsumer/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="testpkgbindconsumer" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.1.0" 4 | $pkg_maintainer="The Biome Maintainers " 5 | $pkg_license=@("Apache-2.0") 6 | $pkg_binds=@{ 7 | "alias" = "setting" 8 | } 9 | 10 | function Invoke-Install { 11 | mkdir "$pkg_prefix\hooks" 12 | Set-Content -Path "$pkg_prefix\hooks\run" -Value "while (`$true) { Start-Sleep 1 }" 13 | } 14 | -------------------------------------------------------------------------------- /test/fixtures/testpkgbindproducer/default.toml: -------------------------------------------------------------------------------- 1 | setting1="default1" 2 | -------------------------------------------------------------------------------- /test/fixtures/testpkgbindproducer/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="testpkgbindproducer" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.1.0" 4 | $pkg_maintainer="The Biome Maintainers " 5 | $pkg_license=@("Apache-2.0") 6 | $pkg_exports=@{ 7 | "setting" = "setting1" 8 | } 9 | 10 | function Invoke-Install { 11 | mkdir "$pkg_prefix\hooks" 12 | Set-Content -Path "$pkg_prefix\hooks\run" -Value "while (`$true) { Start-Sleep 1 }" 13 | } 14 | -------------------------------------------------------------------------------- /test/fixtures/testpkgstophook/x86_64-linux/hooks/post-stop: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "post-stop hook has fired" >> /tmp/testpkgstophook.out 5 | -------------------------------------------------------------------------------- /test/fixtures/testpkgstophook/x86_64-linux/hooks/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | _term() { 4 | echo "run hook is terminating" >> /tmp/testpkgstophook.out 5 | } 6 | 7 | trap _term TERM 8 | 9 | while true; do 10 | sleep 1 11 | done 12 | -------------------------------------------------------------------------------- /test/fixtures/testpkgstophook/x86_64-linux/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="testpkgstophook" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.1.0" 4 | pkg_maintainer="The Biome Maintainers " 5 | pkg_license=("Apache-2.0") 6 | pkg_deps=() 7 | pkg_build_deps=() 8 | do_build() { 9 | return 0 10 | } 11 | 12 | do_install() { 13 | return 0 14 | } 15 | -------------------------------------------------------------------------------- /test/fixtures/testpkgstophook/x86_64-windows/hooks/post-stop: -------------------------------------------------------------------------------- 1 | 'post-stop hook has fired' | Out-File -path $env:temp/testpkgstophook.out -Append 2 | -------------------------------------------------------------------------------- /test/fixtures/testpkgstophook/x86_64-windows/hooks/run: -------------------------------------------------------------------------------- 1 | try { 2 | while ($true) { Start-Sleep 1 } 3 | } finally { 4 | 'run hook is terminating' | Out-File -path $env:temp/testpkgstophook.out 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/testpkgstophook/x86_64-windows/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="testpkgstophook" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.1.0" 4 | $pkg_maintainer="The Biome Maintainers " 5 | $pkg_license=@("Apache-2.0") 6 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook1/hooks/uninstall: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | write-host "uninstalling {{pkg.version}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook1/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="uninstall-hook" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.1.0" 4 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook1/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="uninstall-hook" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.1.0" 4 | 5 | do_build() { :; } 6 | do_install() { :; } 7 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook2/hooks/uninstall: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | write-host "uninstalling {{pkg.version}}" 4 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook2/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="uninstall-hook" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.2.0" 4 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook2/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="uninstall-hook" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.2.0" 4 | 5 | do_build() { :; } 6 | do_install() { :; } 7 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook3/hooks/uninstall: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | write-host "uninstalling {{pkg.version}}" 4 | 5 | exit 1 6 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook3/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="uninstall-hook" 2 | $pkg_origin="biome-testing" 3 | $pkg_version="0.3.0" 4 | -------------------------------------------------------------------------------- /test/fixtures/uninstall-hook3/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="uninstall-hook" 2 | pkg_origin="biome-testing" 3 | pkg_version="0.3.0" 4 | 5 | do_build() { :; } 6 | do_install() { :; } 7 | -------------------------------------------------------------------------------- /test/fixtures/use_scaffolding/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="use-scaffolding" 2 | $pkg_origin=$env:HAB_ORIGIN 3 | $pkg_version="0.1.0" 4 | $pkg_scaffolding="$env:HAB_ORIGIN/dummy-scaffolding" 5 | -------------------------------------------------------------------------------- /test/fixtures/use_scaffolding/plan.sh: -------------------------------------------------------------------------------- 1 | pkg_name="use-scaffolding" 2 | pkg_origin=$HAB_ORIGIN 3 | pkg_version="0.1.0" 4 | pkg_scaffolding="$HAB_ORIGIN/dummy-scaffolding" 5 | 6 | do_build() { :; } 7 | do_install() { :; } 8 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy/hooks/init: -------------------------------------------------------------------------------- 1 | write-host "I am initializing" 2 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy/hooks/install: -------------------------------------------------------------------------------- 1 | write-host "I am installing" 2 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy/hooks/run: -------------------------------------------------------------------------------- 1 | Write-host "I am running" 2 | ping -t localhost 3 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dummy" 2 | $pkg_origin="ci" 3 | $pkg_version="0.1.0" 4 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_bio_svc_user/hooks/init: -------------------------------------------------------------------------------- 1 | write-host "I am initializing" 2 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_bio_svc_user/hooks/install: -------------------------------------------------------------------------------- 1 | write-host "I am installing" 2 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_bio_svc_user/hooks/run: -------------------------------------------------------------------------------- 1 | Write-host "I am running" 2 | ping -t localhost 3 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_bio_svc_user/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dummy-bio-user" 2 | $pkg_origin="ci" 3 | $pkg_version="0.1.0" 4 | $pkg_svc_user="hab" 5 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_svc_user/hooks/init: -------------------------------------------------------------------------------- 1 | write-host "I am initializing" 2 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_svc_user/hooks/install: -------------------------------------------------------------------------------- 1 | write-host "I am installing" 2 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_svc_user/hooks/run: -------------------------------------------------------------------------------- 1 | Write-host "I am running" 2 | ping -t localhost 3 | -------------------------------------------------------------------------------- /test/fixtures/windows_plans/dummy_svc_user/plan.ps1: -------------------------------------------------------------------------------- 1 | $pkg_name="dummy" 2 | $pkg_origin="ci" 3 | $pkg_version="0.1.0" 4 | $pkg_svc_user="bio_test" 5 | -------------------------------------------------------------------------------- /test/integration/-: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/test/integration/- -------------------------------------------------------------------------------- /tmp/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biome-sh/biome/0a6192730e9cacac881b0aaa88cc2915915512c2/tmp/.gitkeep -------------------------------------------------------------------------------- /tools/bldr_toml_create/README.md: -------------------------------------------------------------------------------- 1 | ## Builder TOML Creation Tool 2 | 3 | This is a development tool that can be used to create a ```bldr.toml``` file for 4 | a given repo. This tool is targeted to creating a toml file for the core plans 5 | repo. 6 | 7 | It takes as input parameters a local path to the core-plans repo, and a 8 | destination directory for the ```bldr.toml``` file. 9 | 10 | ### Usage 11 | 12 | You need to have a recent Ruby installed. 13 | 14 | To run: 15 | ``` 16 | ruby toml_create.rb 17 | ``` 18 | -------------------------------------------------------------------------------- /tools/bldr_toml_create/toml.erb: -------------------------------------------------------------------------------- 1 | [<%= plan %>] 2 | plan_path = "<%= plan %>" 3 | -------------------------------------------------------------------------------- /tools/project_create/project.erb: -------------------------------------------------------------------------------- 1 | { 2 | "origin": "core", 3 | "plan_path": "<%= plan %>/plan.sh", 4 | "installation_id": <%= installation_id %>, 5 | "repo_id": <%= repo_id %> 6 | } 7 | -------------------------------------------------------------------------------- /tools/sup-network/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | RUN apt-get update 4 | 5 | RUN apt-get install -y \ 6 | libczmq-dev \ 7 | libssl-dev 8 | 9 | RUN apt-get install -y \ 10 | jq \ 11 | curl 12 | 13 | RUN useradd --user-group hab 14 | --------------------------------------------------------------------------------