gitextract_iyyaf1qh/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ ├── helm-release.yml │ ├── main.yml │ └── release.yml ├── .gitignore ├── .rubocop.yml ├── .ruby-version ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── Gemfile ├── INSTALL.md ├── LICENSE ├── Makefile ├── README.md ├── Rakefile ├── app/ │ ├── assets/ │ │ ├── config/ │ │ │ └── manifest.js │ │ ├── fonts/ │ │ │ └── mtiFontTrackingCode.js │ │ ├── images/ │ │ │ └── .keep │ │ └── stylesheets/ │ │ └── application.css │ ├── channels/ │ │ └── application_cable/ │ │ ├── channel.rb │ │ └── connection.rb │ ├── controllers/ │ │ ├── application_controller.rb │ │ └── concerns/ │ │ └── .keep │ ├── helpers/ │ │ └── application_helper.rb │ ├── javascript/ │ │ ├── channels/ │ │ │ ├── consumer.js │ │ │ └── index.js │ │ └── packs/ │ │ └── application.js │ ├── jobs/ │ │ └── application_job.rb │ ├── mailers/ │ │ └── application_mailer.rb │ ├── models/ │ │ ├── application_record.rb │ │ └── concerns/ │ │ └── .keep │ └── views/ │ └── layouts/ │ ├── application.html.erb │ ├── mailer.html.erb │ └── mailer.text.erb ├── bin/ │ ├── rails │ ├── rake │ ├── setup │ └── yarn ├── charts/ │ └── uffizzi-app/ │ ├── Chart.yaml │ ├── README.md │ ├── templates/ │ │ ├── configmap-common.yaml │ │ ├── configmap-sidekiq.yaml │ │ ├── configmap-web.yaml │ │ ├── secret-web.yaml │ │ ├── sidekiq-deployment.yaml │ │ ├── web-deployment.yaml │ │ ├── web-ingress.yaml │ │ └── web-service.yaml │ └── values.yaml ├── ci/ │ ├── github-actions/ │ │ └── README.md │ └── gitlab/ │ └── README.md ├── config/ │ ├── application.rb │ ├── boot.rb │ ├── cable.yml │ ├── credentials.yml.enc │ ├── database.yml │ ├── environment.rb │ ├── environments/ │ │ ├── development.rb │ │ ├── production.rb │ │ └── test.rb │ ├── initializers/ │ │ ├── application_controller_renderer.rb │ │ ├── assets.rb │ │ ├── backtrace_silencers.rb │ │ ├── content_security_policy.rb │ │ ├── cookies_serializer.rb │ │ ├── filter_parameter_logging.rb │ │ ├── health_check.rb │ │ ├── inflections.rb │ │ ├── mime_types.rb │ │ ├── sidekiq.rb │ │ └── wrap_parameters.rb │ ├── locales/ │ │ └── en.yml │ ├── puma.rb │ ├── routes.rb │ ├── secrets.yml │ ├── settings.yml │ ├── sidekiq.yml │ └── storage.yml ├── config.ru ├── core/ │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Dockerfile │ ├── Gemfile │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── Rakefile │ ├── app/ │ │ ├── assets/ │ │ │ ├── config/ │ │ │ │ └── uffizzi_core_manifest.js │ │ │ ├── images/ │ │ │ │ └── uffizzi_core/ │ │ │ │ └── .keep │ │ │ └── stylesheets/ │ │ │ └── uffizzi_core/ │ │ │ └── application.css │ │ ├── clients/ │ │ │ └── uffizzi_core/ │ │ │ ├── amazon_registry_client.rb │ │ │ ├── azure_registry_client/ │ │ │ │ └── request_result.rb │ │ │ ├── azure_registry_client.rb │ │ │ ├── container_registry_request_decorator.rb │ │ │ ├── controller_client/ │ │ │ │ └── request_result.rb │ │ │ ├── controller_client.rb │ │ │ ├── docker_hub_client/ │ │ │ │ ├── not_authorized_error.rb │ │ │ │ └── request_result.rb │ │ │ ├── docker_hub_client.rb │ │ │ ├── docker_registry_client/ │ │ │ │ └── request_result.rb │ │ │ ├── docker_registry_client.rb │ │ │ ├── github_container_registry_client/ │ │ │ │ └── request_result.rb │ │ │ ├── github_container_registry_client.rb │ │ │ ├── google_registry_client/ │ │ │ │ └── request_result.rb │ │ │ └── google_registry_client.rb │ │ ├── contexts/ │ │ │ └── uffizzi_core/ │ │ │ ├── account_context.rb │ │ │ ├── base_context.rb │ │ │ ├── project/ │ │ │ │ └── cluster_context.rb │ │ │ ├── project_context.rb │ │ │ └── webhooks_context.rb │ │ ├── controller_modules/ │ │ │ └── uffizzi_core/ │ │ │ └── api/ │ │ │ └── cli/ │ │ │ └── v1/ │ │ │ ├── accounts_controller_module.rb │ │ │ ├── projects/ │ │ │ │ ├── clusters_controller_module.rb │ │ │ │ └── deployments_controller_module.rb │ │ │ └── projects_controller_module.rb │ │ ├── controllers/ │ │ │ ├── concerns/ │ │ │ │ └── uffizzi_core/ │ │ │ │ ├── auth_management.rb │ │ │ │ ├── authorization_concern.rb │ │ │ │ └── dependency_injection_concern.rb │ │ │ └── uffizzi_core/ │ │ │ ├── api/ │ │ │ │ └── cli/ │ │ │ │ └── v1/ │ │ │ │ ├── accounts/ │ │ │ │ │ ├── application_controller.rb │ │ │ │ │ ├── clusters_controller.rb │ │ │ │ │ ├── credentials_controller.rb │ │ │ │ │ └── projects_controller.rb │ │ │ │ ├── accounts_controller.rb │ │ │ │ ├── application_controller.rb │ │ │ │ ├── ci/ │ │ │ │ │ ├── application_controller.rb │ │ │ │ │ └── sessions_controller.rb │ │ │ │ ├── projects/ │ │ │ │ │ ├── application_controller.rb │ │ │ │ │ ├── clusters/ │ │ │ │ │ │ ├── application_controller.rb │ │ │ │ │ │ └── ingresses_controller.rb │ │ │ │ │ ├── clusters_controller.rb │ │ │ │ │ ├── compose_files_controller.rb │ │ │ │ │ ├── deployments/ │ │ │ │ │ │ ├── activity_items_controller.rb │ │ │ │ │ │ ├── application_controller.rb │ │ │ │ │ │ ├── containers/ │ │ │ │ │ │ │ ├── application_controller.rb │ │ │ │ │ │ │ └── logs_controller.rb │ │ │ │ │ │ ├── containers_controller.rb │ │ │ │ │ │ └── events_controller.rb │ │ │ │ │ ├── deployments_controller.rb │ │ │ │ │ └── secrets_controller.rb │ │ │ │ ├── projects_controller.rb │ │ │ │ └── sessions_controller.rb │ │ │ └── application_controller.rb │ │ ├── errors/ │ │ │ └── uffizzi_core/ │ │ │ ├── cluster_scale_error.rb │ │ │ ├── compose_file/ │ │ │ │ ├── build_error.rb │ │ │ │ ├── credential_error.rb │ │ │ │ ├── parse_error.rb │ │ │ │ └── secrets_error.rb │ │ │ ├── compose_file_error.rb │ │ │ ├── container_registry_error.rb │ │ │ ├── deployment/ │ │ │ │ └── image_pull_error.rb │ │ │ ├── deployment_not_found_error.rb │ │ │ └── registry_not_supported_error.rb │ │ ├── forms/ │ │ │ └── uffizzi_core/ │ │ │ ├── api/ │ │ │ │ └── cli/ │ │ │ │ └── v1/ │ │ │ │ ├── account/ │ │ │ │ │ └── credential/ │ │ │ │ │ ├── check_credential_form.rb │ │ │ │ │ ├── create_form.rb │ │ │ │ │ └── update_form.rb │ │ │ │ ├── cluster/ │ │ │ │ │ ├── create_form.rb │ │ │ │ │ └── sync_form.rb │ │ │ │ ├── compose_file/ │ │ │ │ │ ├── check_credentials_form.rb │ │ │ │ │ ├── cli_form.rb │ │ │ │ │ ├── create_form.rb │ │ │ │ │ ├── template_form.rb │ │ │ │ │ └── update_form.rb │ │ │ │ ├── config_file/ │ │ │ │ │ └── create_form.rb │ │ │ │ ├── deployment/ │ │ │ │ │ ├── create_form.rb │ │ │ │ │ └── update_form.rb │ │ │ │ ├── project/ │ │ │ │ │ ├── create_form.rb │ │ │ │ │ └── update_form.rb │ │ │ │ ├── secret/ │ │ │ │ │ └── bulk_assign_form.rb │ │ │ │ ├── session_create_form.rb │ │ │ │ └── template/ │ │ │ │ └── create_form.rb │ │ │ ├── application_form.rb │ │ │ ├── application_form_without_active_record.rb │ │ │ └── mass_assignment_control_concern.rb │ │ ├── helpers/ │ │ │ └── uffizzi_core/ │ │ │ └── application_helper.rb │ │ ├── jobs/ │ │ │ └── uffizzi_core/ │ │ │ ├── account/ │ │ │ │ ├── create_credential_job.rb │ │ │ │ └── update_credential_job.rb │ │ │ ├── activity_item/ │ │ │ │ └── docker/ │ │ │ │ └── update_digest_job.rb │ │ │ ├── application_job.rb │ │ │ ├── cluster/ │ │ │ │ ├── delete_job.rb │ │ │ │ ├── deploy_job.rb │ │ │ │ ├── manage_deploying_job.rb │ │ │ │ ├── manage_scaling_down_job.rb │ │ │ │ └── manage_scaling_up_job.rb │ │ │ ├── config_file/ │ │ │ │ └── apply_job.rb │ │ │ └── deployment/ │ │ │ ├── create_credential_job.rb │ │ │ ├── create_credentials_job.rb │ │ │ ├── create_job.rb │ │ │ ├── delete_credential_job.rb │ │ │ ├── delete_job.rb │ │ │ ├── deploy_containers_job.rb │ │ │ ├── manage_deploy_activity_item_job.rb │ │ │ └── update_credential_job.rb │ │ ├── lib/ │ │ │ └── uffizzi_core/ │ │ │ ├── concerns/ │ │ │ │ └── models/ │ │ │ │ ├── account.rb │ │ │ │ ├── activity_item.rb │ │ │ │ ├── cluster.rb │ │ │ │ ├── comment.rb │ │ │ │ ├── compose_file.rb │ │ │ │ ├── config_file.rb │ │ │ │ ├── container.rb │ │ │ │ ├── container_config_file.rb │ │ │ │ ├── container_host_volume_file.rb │ │ │ │ ├── coupon.rb │ │ │ │ ├── credential.rb │ │ │ │ ├── deployment.rb │ │ │ │ ├── deployment_event.rb │ │ │ │ ├── event.rb │ │ │ │ ├── host_volume_file.rb │ │ │ │ ├── kubernetes_distribution.rb │ │ │ │ ├── membership.rb │ │ │ │ ├── payment.rb │ │ │ │ ├── price.rb │ │ │ │ ├── product.rb │ │ │ │ ├── project.rb │ │ │ │ ├── rating.rb │ │ │ │ ├── repo.rb │ │ │ │ ├── role.rb │ │ │ │ ├── secret.rb │ │ │ │ ├── template.rb │ │ │ │ ├── user.rb │ │ │ │ └── user_project.rb │ │ │ └── rbac/ │ │ │ └── user_access_service.rb │ │ ├── mailers/ │ │ │ └── uffizzi_core/ │ │ │ └── application_mailer.rb │ │ ├── models/ │ │ │ ├── concerns/ │ │ │ │ └── uffizzi_core/ │ │ │ │ ├── hashid_concern.rb │ │ │ │ └── state_machine_concern.rb │ │ │ └── uffizzi_core/ │ │ │ ├── account.rb │ │ │ ├── activity_item/ │ │ │ │ ├── docker.rb │ │ │ │ ├── github.rb │ │ │ │ └── memory_limit.rb │ │ │ ├── activity_item.rb │ │ │ ├── application_record.rb │ │ │ ├── cluster.rb │ │ │ ├── comment.rb │ │ │ ├── compose_file.rb │ │ │ ├── config_file.rb │ │ │ ├── container.rb │ │ │ ├── container_config_file.rb │ │ │ ├── container_host_volume_file.rb │ │ │ ├── continuous_preview.rb │ │ │ ├── coupon.rb │ │ │ ├── credential/ │ │ │ │ ├── amazon.rb │ │ │ │ ├── azure.rb │ │ │ │ ├── docker_hub.rb │ │ │ │ ├── docker_registry.rb │ │ │ │ ├── github_container_registry.rb │ │ │ │ └── google.rb │ │ │ ├── credential.rb │ │ │ ├── database.rb │ │ │ ├── database_offering.rb │ │ │ ├── deployment.rb │ │ │ ├── deployment_event.rb │ │ │ ├── event.rb │ │ │ ├── host_volume_file.rb │ │ │ ├── kubernetes_distribution.rb │ │ │ ├── membership.rb │ │ │ ├── payment.rb │ │ │ ├── price.rb │ │ │ ├── product.rb │ │ │ ├── project.rb │ │ │ ├── rating.rb │ │ │ ├── repo/ │ │ │ │ ├── amazon.rb │ │ │ │ ├── azure.rb │ │ │ │ ├── docker_hub.rb │ │ │ │ ├── docker_registry.rb │ │ │ │ ├── github_container_registry.rb │ │ │ │ └── google.rb │ │ │ ├── repo.rb │ │ │ ├── role.rb │ │ │ ├── secret.rb │ │ │ ├── template.rb │ │ │ ├── user.rb │ │ │ └── user_project.rb │ │ ├── policies/ │ │ │ └── uffizzi_core/ │ │ │ ├── api/ │ │ │ │ └── cli/ │ │ │ │ └── v1/ │ │ │ │ ├── accounts/ │ │ │ │ │ ├── clusters_policy.rb │ │ │ │ │ ├── credentials_policy.rb │ │ │ │ │ └── projects_policy.rb │ │ │ │ ├── accounts_policy.rb │ │ │ │ ├── projects/ │ │ │ │ │ ├── clusters/ │ │ │ │ │ │ └── ingresses_policy.rb │ │ │ │ │ ├── clusters_policy.rb │ │ │ │ │ ├── compose_files_policy.rb │ │ │ │ │ ├── deployments/ │ │ │ │ │ │ ├── activity_items_policy.rb │ │ │ │ │ │ ├── containers_policy.rb │ │ │ │ │ │ └── events_policy.rb │ │ │ │ │ ├── deployments_policy.rb │ │ │ │ │ └── secrets_policy.rb │ │ │ │ └── projects_policy.rb │ │ │ └── application_policy.rb │ │ ├── repositories/ │ │ │ └── uffizzi_core/ │ │ │ ├── account_repo.rb │ │ │ ├── activity_item_repo.rb │ │ │ ├── basic_order_repo.rb │ │ │ ├── cluster_repo.rb │ │ │ ├── comment_repo.rb │ │ │ ├── compose_file_repo.rb │ │ │ ├── config_file_repo.rb │ │ │ ├── container_repo.rb │ │ │ ├── credential_repo.rb │ │ │ ├── deployment_repo.rb │ │ │ ├── event_repo.rb │ │ │ ├── host_volume_file_repo.rb │ │ │ ├── membership_repo.rb │ │ │ ├── price_repo.rb │ │ │ ├── product_repo.rb │ │ │ ├── project_repo.rb │ │ │ ├── repo_repo.rb │ │ │ ├── template_repo.rb │ │ │ ├── usage_repo.rb │ │ │ └── user_repo.rb │ │ ├── responders/ │ │ │ └── uffizzi_core/ │ │ │ └── json_responder.rb │ │ ├── serializers/ │ │ │ └── uffizzi_core/ │ │ │ ├── api/ │ │ │ │ └── cli/ │ │ │ │ └── v1/ │ │ │ │ ├── account_serializer.rb │ │ │ │ ├── accounts/ │ │ │ │ │ ├── cluster_serializer/ │ │ │ │ │ │ └── project_serializer.rb │ │ │ │ │ ├── cluster_serializer.rb │ │ │ │ │ ├── credential_serializer.rb │ │ │ │ │ └── project_serializer.rb │ │ │ │ ├── project_serializer/ │ │ │ │ │ ├── account_serializer.rb │ │ │ │ │ ├── compose_file_serializer.rb │ │ │ │ │ └── deployment_serializer.rb │ │ │ │ ├── project_serializer.rb │ │ │ │ ├── projects/ │ │ │ │ │ ├── cluster_serializer.rb │ │ │ │ │ ├── compose_file_serializer.rb │ │ │ │ │ ├── deployment_serializer/ │ │ │ │ │ │ ├── container_serializer.rb │ │ │ │ │ │ └── user_serializer.rb │ │ │ │ │ ├── deployment_serializer.rb │ │ │ │ │ ├── deployments/ │ │ │ │ │ │ ├── activity_item_serializer.rb │ │ │ │ │ │ ├── container_serializer/ │ │ │ │ │ │ │ ├── container_config_file_serializer/ │ │ │ │ │ │ │ │ └── config_file_serializer.rb │ │ │ │ │ │ │ └── container_config_file_serializer.rb │ │ │ │ │ │ └── container_serializer.rb │ │ │ │ │ ├── deployments_serializer/ │ │ │ │ │ │ └── user_serializer.rb │ │ │ │ │ ├── deployments_serializer.rb │ │ │ │ │ ├── secret_serializer.rb │ │ │ │ │ └── short_cluster_serializer.rb │ │ │ │ ├── short_project_serializer.rb │ │ │ │ ├── user_serializer/ │ │ │ │ │ └── account_serializer.rb │ │ │ │ └── user_serializer.rb │ │ │ ├── base_serializer.rb │ │ │ └── controller/ │ │ │ ├── apply_config_file/ │ │ │ │ └── config_file_serializer.rb │ │ │ ├── create_cluster/ │ │ │ │ └── cluster_serializer.rb │ │ │ ├── create_credential/ │ │ │ │ └── credential_serializer.rb │ │ │ ├── create_deployment/ │ │ │ │ └── deployment_serializer.rb │ │ │ ├── deploy_containers/ │ │ │ │ ├── compose_file_serializer.rb │ │ │ │ ├── container_serializer/ │ │ │ │ │ ├── container_config_file_serializer/ │ │ │ │ │ │ └── config_file_serializer.rb │ │ │ │ │ ├── container_config_file_serializer.rb │ │ │ │ │ └── container_host_volume_file_serializer.rb │ │ │ │ ├── container_serializer.rb │ │ │ │ ├── credential_serializer.rb │ │ │ │ └── host_volume_file_serializer.rb │ │ │ └── update_cluster/ │ │ │ └── cluster_serializer.rb │ │ ├── services/ │ │ │ └── uffizzi_core/ │ │ │ ├── account_service.rb │ │ │ ├── activity_item_service.rb │ │ │ ├── ci_service.rb │ │ │ ├── cluster_service.rb │ │ │ ├── compose_file/ │ │ │ │ ├── builders/ │ │ │ │ │ ├── container_builder_service.rb │ │ │ │ │ ├── container_config_files_builder_service.rb │ │ │ │ │ ├── container_host_volume_files_builder_service.rb │ │ │ │ │ ├── docker_repo_builder_service.rb │ │ │ │ │ ├── template_builder_service.rb │ │ │ │ │ └── variables_builder_service.rb │ │ │ │ ├── config_files_service.rb │ │ │ │ ├── config_option_service.rb │ │ │ │ ├── container_service.rb │ │ │ │ ├── dependencies_service.rb │ │ │ │ ├── errors_service.rb │ │ │ │ ├── github_dependencies_service.rb │ │ │ │ ├── host_volume_files_service.rb │ │ │ │ ├── parsers/ │ │ │ │ │ ├── configs_parser_service.rb │ │ │ │ │ ├── continuous_preview_parser_service.rb │ │ │ │ │ ├── ingress_parser_service.rb │ │ │ │ │ ├── named_volumes_parser_service.rb │ │ │ │ │ ├── secrets_parser_service.rb │ │ │ │ │ ├── services/ │ │ │ │ │ │ ├── command_parser_service.rb │ │ │ │ │ │ ├── configs_parser_service.rb │ │ │ │ │ │ ├── deploy_parser_service.rb │ │ │ │ │ │ ├── entrypoint_parser_service.rb │ │ │ │ │ │ ├── env_file_parser_service.rb │ │ │ │ │ │ ├── environment_parser_service.rb │ │ │ │ │ │ ├── healthcheck_parser_service.rb │ │ │ │ │ │ ├── image_parser_service.rb │ │ │ │ │ │ ├── secrets_parser_service.rb │ │ │ │ │ │ └── volumes_parser_service.rb │ │ │ │ │ ├── services_parser_service.rb │ │ │ │ │ └── variables_parser_service.rb │ │ │ │ └── template_service.rb │ │ │ ├── compose_file_service.rb │ │ │ ├── container_registry/ │ │ │ │ ├── amazon_service.rb │ │ │ │ ├── azure_service.rb │ │ │ │ ├── docker_hub_service.rb │ │ │ │ ├── docker_registry_service.rb │ │ │ │ ├── github_container_registry_service.rb │ │ │ │ └── google_service.rb │ │ │ ├── container_registry_service.rb │ │ │ ├── container_service.rb │ │ │ ├── controller_service.rb │ │ │ ├── controller_settings_service.rb │ │ │ ├── deployment/ │ │ │ │ ├── domain_service.rb │ │ │ │ └── memory_service.rb │ │ │ ├── deployment_service.rb │ │ │ ├── logs_service.rb │ │ │ ├── manage_activity_items_service.rb │ │ │ ├── project_service.rb │ │ │ ├── repo_service.rb │ │ │ ├── response_service.rb │ │ │ ├── template/ │ │ │ │ └── memory_service.rb │ │ │ ├── token_service.rb │ │ │ ├── user_access_service.rb │ │ │ └── user_generator_service.rb │ │ ├── utils/ │ │ │ └── uffizzi_core/ │ │ │ └── converters.rb │ │ └── validators/ │ │ └── uffizzi_core/ │ │ ├── email_validator.rb │ │ ├── environment_variable_list_validator.rb │ │ └── image_command_args_validator.rb │ ├── bin/ │ │ └── rails │ ├── config/ │ │ ├── initializers/ │ │ │ ├── rswag_api.rb │ │ │ ├── rswag_ui.rb │ │ │ └── swagger_yard.rb │ │ ├── locales/ │ │ │ ├── en.activerecord.yml │ │ │ └── en.yml │ │ └── routes.rb │ ├── db/ │ │ ├── migrate/ │ │ │ ├── 20220218121438_create_uffizzi_core_tables.rb │ │ │ ├── 20220309110201_remove_secrets_from_projects.rb │ │ │ ├── 20220310110150_create_project_secrets.rb │ │ │ ├── 20220325113342_add_name_to_uffizzi_containers.rb │ │ │ ├── 20220329123323_rename_project_secrets_to_secrets.rb │ │ │ ├── 20220329124542_add_resource_to_secrets.rb │ │ │ ├── 20220329143241_remove_project_ref_from_secrets.rb │ │ │ ├── 20220419074956_add_health_check_to_containers.rb │ │ │ ├── 20220422151523_add_volumes_to_uffizzi_core_containers.rb │ │ │ ├── 20220525113412_rename_name_to_uffizzi_containers.rb │ │ │ ├── 20220704135629_add_disabled_at_to_deployments.rb │ │ │ ├── 20220805164628_add_metadata_to_deployment.rb │ │ │ ├── 20220901110752_create_host_volume_files.rb │ │ │ ├── 20220901165313_create_container_host_volume_files.rb │ │ │ ├── 20220927113647_add_additional_subdomains_to_containers.rb │ │ │ ├── 20230111000000_add_state_to_memberships.rb │ │ │ ├── 20230306142513_add_last_deploy_at_to_deployments.rb │ │ │ ├── 20230406154451_add_full_image_name_to_container.rb │ │ │ ├── 20230531135739_create_deployment_events.rb │ │ │ ├── 20230613101901_create_clusters.rb │ │ │ ├── 20230711101901_add_host_to_clusters.rb │ │ │ ├── 20230810140316_add_source_to_uffizzi_core_clusters.rb │ │ │ ├── 20230824150022_update_name_constraint_to_projects.rb │ │ │ ├── 20231009162719_create_uffizzi_core_kubernetes_distributions.rb │ │ │ ├── 20231009182412_add_kubernetes_distribution_id_to_uffizzi_core_clusters.rb │ │ │ ├── 20240301200235_add_node_selector_to_cluster.rb │ │ │ └── 20240314170113_delete_node_selector_from_cluster.rb │ │ └── seeds.rb │ ├── lib/ │ │ ├── tasks/ │ │ │ └── uffizzi_core_tasks.rake │ │ ├── uffizzi_core/ │ │ │ ├── engine.rb │ │ │ └── version.rb │ │ └── uffizzi_core.rb │ ├── swagger/ │ │ └── v1/ │ │ └── swagger.json │ ├── test/ │ │ ├── controllers/ │ │ │ └── uffizzi_core/ │ │ │ └── api/ │ │ │ └── cli/ │ │ │ └── v1/ │ │ │ ├── accounts/ │ │ │ │ ├── clusters_controller_test.rb │ │ │ │ ├── credentials_controller_test.rb │ │ │ │ └── projects_controller_test.rb │ │ │ ├── accounts_controller_test.rb │ │ │ ├── projects/ │ │ │ │ ├── clusters/ │ │ │ │ │ └── ingresses_controller_test.rb │ │ │ │ ├── clusters_controller_test.rb │ │ │ │ ├── compose_files_controller_test.rb │ │ │ │ ├── deployments/ │ │ │ │ │ ├── activity_items_controller_test.rb │ │ │ │ │ ├── containers/ │ │ │ │ │ │ └── logs_controller_test.rb │ │ │ │ │ ├── containers_controller_test.rb │ │ │ │ │ └── events_controller_test.rb │ │ │ │ ├── deployments_controller/ │ │ │ │ │ ├── create_test.rb │ │ │ │ │ ├── deploy_containers_test.rb │ │ │ │ │ ├── destroy_test.rb │ │ │ │ │ └── update_test.rb │ │ │ │ └── secrets_controller_test.rb │ │ │ ├── projects_controller_test.rb │ │ │ └── sessions_controller_test.rb │ │ ├── dummy/ │ │ │ ├── Rakefile │ │ │ ├── app/ │ │ │ │ ├── assets/ │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── manifest.js │ │ │ │ │ ├── images/ │ │ │ │ │ │ └── .keep │ │ │ │ │ └── stylesheets/ │ │ │ │ │ └── application.css │ │ │ │ ├── channels/ │ │ │ │ │ └── application_cable/ │ │ │ │ │ ├── channel.rb │ │ │ │ │ └── connection.rb │ │ │ │ ├── controllers/ │ │ │ │ │ ├── application_controller.rb │ │ │ │ │ └── concerns/ │ │ │ │ │ └── .keep │ │ │ │ ├── helpers/ │ │ │ │ │ └── application_helper.rb │ │ │ │ ├── javascript/ │ │ │ │ │ └── packs/ │ │ │ │ │ └── application.js │ │ │ │ ├── jobs/ │ │ │ │ │ └── application_job.rb │ │ │ │ ├── mailers/ │ │ │ │ │ └── application_mailer.rb │ │ │ │ ├── models/ │ │ │ │ │ ├── application_record.rb │ │ │ │ │ └── concerns/ │ │ │ │ │ └── .keep │ │ │ │ └── views/ │ │ │ │ └── layouts/ │ │ │ │ ├── application.html.erb │ │ │ │ ├── mailer.html.erb │ │ │ │ └── mailer.text.erb │ │ │ ├── bin/ │ │ │ │ ├── rails │ │ │ │ ├── rake │ │ │ │ ├── setup │ │ │ │ └── spring │ │ │ ├── config/ │ │ │ │ ├── application.rb │ │ │ │ ├── boot.rb │ │ │ │ ├── cable.yml │ │ │ │ ├── database.yml │ │ │ │ ├── environment.rb │ │ │ │ ├── environments/ │ │ │ │ │ ├── development.rb │ │ │ │ │ ├── production.rb │ │ │ │ │ └── test.rb │ │ │ │ ├── initializers/ │ │ │ │ │ ├── application_controller_renderer.rb │ │ │ │ │ ├── assets.rb │ │ │ │ │ ├── backtrace_silencers.rb │ │ │ │ │ ├── config.rb │ │ │ │ │ ├── content_security_policy.rb │ │ │ │ │ ├── cookies_serializer.rb │ │ │ │ │ ├── filter_parameter_logging.rb │ │ │ │ │ ├── inflections.rb │ │ │ │ │ ├── mime_types.rb │ │ │ │ │ ├── octokit.rb │ │ │ │ │ ├── permissions_policy.rb │ │ │ │ │ └── wrap_parameters.rb │ │ │ │ ├── locales/ │ │ │ │ │ └── en.yml │ │ │ │ ├── puma.rb │ │ │ │ ├── routes.rb │ │ │ │ ├── settings.yml │ │ │ │ ├── spring.rb │ │ │ │ └── storage.yml │ │ │ ├── config.ru │ │ │ ├── db/ │ │ │ │ └── schema.rb │ │ │ ├── lib/ │ │ │ │ └── assets/ │ │ │ │ └── .keep │ │ │ ├── log/ │ │ │ │ └── .keep │ │ │ └── public/ │ │ │ ├── 404.html │ │ │ ├── 422.html │ │ │ └── 500.html │ │ ├── factories/ │ │ │ ├── account.rb │ │ │ ├── activity_item.rb │ │ │ ├── cluster.rb │ │ │ ├── comments.rb │ │ │ ├── compose_files.rb │ │ │ ├── config_files.rb │ │ │ ├── container_config_files.rb │ │ │ ├── container_host_volume_files.rb │ │ │ ├── containers.rb │ │ │ ├── credentials.rb │ │ │ ├── deployment.rb │ │ │ ├── host_volume_files.rb │ │ │ ├── kubernetes_distribution.rb │ │ │ ├── membership.rb │ │ │ ├── payments.rb │ │ │ ├── project.rb │ │ │ ├── ratings.rb │ │ │ ├── repos.rb │ │ │ ├── secrets.rb │ │ │ ├── sequences.rb │ │ │ ├── templates.rb │ │ │ ├── user.rb │ │ │ └── user_project.rb │ │ ├── fixtures/ │ │ │ └── files/ │ │ │ ├── cluster/ │ │ │ │ └── manifest.yml │ │ │ ├── compose_dependencies/ │ │ │ │ └── configs/ │ │ │ │ └── vote_conf.json │ │ │ ├── compose_files/ │ │ │ │ ├── azure_services/ │ │ │ │ │ └── nginx.yml │ │ │ │ ├── boolean_option.yml │ │ │ │ ├── compose_empty.yml │ │ │ │ ├── compose_memory.yml │ │ │ │ ├── compose_vote_app_github.yml │ │ │ │ ├── compose_with_continuous_preview.yml │ │ │ │ ├── compose_with_only_line.yml │ │ │ │ ├── compose_with_syntax_error.yml │ │ │ │ ├── compose_with_volumes.yml │ │ │ │ ├── compose_without_image.yml │ │ │ │ ├── compose_without_services.yml │ │ │ │ ├── config_file_dependencies.yml │ │ │ │ ├── dockerhub_services/ │ │ │ │ │ ├── account_custom_image.yml │ │ │ │ │ ├── nginx.yml │ │ │ │ │ ├── nginx_auto_deploy_off.yml │ │ │ │ │ ├── nginx_config_files.yml │ │ │ │ │ ├── nginx_config_invalid_ingress_service.yml │ │ │ │ │ ├── nginx_configs_long_syntax.yml │ │ │ │ │ ├── nginx_configs_long_syntax_without_target.yml │ │ │ │ │ ├── nginx_configs_short_syntax.yml │ │ │ │ │ ├── nginx_configs_short_syntax_invalid_path.yml │ │ │ │ │ ├── nginx_configs_short_syntax_unknown_config.yml │ │ │ │ │ ├── nginx_cp_delete_after_integer.yml │ │ │ │ │ ├── nginx_cp_invalid_delete_after_hours.yml │ │ │ │ │ ├── nginx_cp_invalid_delete_after_max.yml │ │ │ │ │ ├── nginx_cp_invalid_delete_after_min.yml │ │ │ │ │ ├── nginx_cp_invalid_delete_after_postfix.yml │ │ │ │ │ ├── nginx_env_file.yml │ │ │ │ │ ├── nginx_env_file_duplicates.yml │ │ │ │ │ ├── nginx_env_file_empty.yml │ │ │ │ │ ├── nginx_env_file_empty_in_array.yml │ │ │ │ │ ├── nginx_envs.yml │ │ │ │ │ ├── nginx_ingress_port_non_integer.yml │ │ │ │ │ ├── nginx_invalid_deploy_auto.yml │ │ │ │ │ ├── nginx_invalid_memory.yml │ │ │ │ │ ├── nginx_invalid_memory_min_value.yml │ │ │ │ │ ├── nginx_invalid_memory_postfix.yml │ │ │ │ │ ├── nginx_invalid_memory_type.yml │ │ │ │ │ ├── nginx_invalid_port.yml │ │ │ │ │ ├── nginx_uffizzi_ingress.yml │ │ │ │ │ ├── nginx_with_continuous_preview_without_x-uffizzi.yml │ │ │ │ │ ├── nginx_with_ingress_without_x-uffizzi.yml │ │ │ │ │ ├── nginx_without_ingress.yml │ │ │ │ │ ├── nginx_without_ingress_port.yml │ │ │ │ │ ├── nginx_without_ingress_service.yml │ │ │ │ │ ├── nginx_without_tag.yml │ │ │ │ │ ├── postgres_secrets.yml │ │ │ │ │ ├── postgres_secrets_duplicates.yml │ │ │ │ │ ├── postgres_secrets_unknown.yml │ │ │ │ │ ├── postgres_secrets_without_external.yml │ │ │ │ │ ├── postgres_secrets_without_name.yml │ │ │ │ │ ├── volumes_anonymous.yml │ │ │ │ │ └── volumes_named.yml │ │ │ │ ├── github_services/ │ │ │ │ │ └── hello_world.yml │ │ │ │ ├── google_services/ │ │ │ │ │ ├── cloudsql.yml │ │ │ │ │ ├── cloudsql_entrypoint.yml │ │ │ │ │ └── nginx.yml │ │ │ │ ├── healthcheck/ │ │ │ │ │ ├── array_command_success.yml │ │ │ │ │ ├── disabled_healthcheck.yml │ │ │ │ │ ├── healthcheck_with_disable.yml │ │ │ │ │ ├── invalid_command.yml │ │ │ │ │ ├── invalid_interval.yml │ │ │ │ │ ├── invalid_options.yml │ │ │ │ │ ├── invalid_retries.yml │ │ │ │ │ └── string_command_success.yml │ │ │ │ └── invalid_service.yml │ │ │ ├── controller/ │ │ │ │ ├── cluster_asleep.json │ │ │ │ ├── cluster_awake.json │ │ │ │ ├── cluster_not_ready.json │ │ │ │ ├── cluster_ready.json │ │ │ │ ├── deployment_containers.json │ │ │ │ ├── deployment_containers_with_error.json │ │ │ │ ├── deployments.json │ │ │ │ ├── ingresses.json │ │ │ │ └── logs.json │ │ │ ├── dockerhub/ │ │ │ │ ├── digest.json │ │ │ │ ├── login_fail.json │ │ │ │ ├── repository.json │ │ │ │ └── webhooks/ │ │ │ │ └── push/ │ │ │ │ └── event_data.json │ │ │ ├── github/ │ │ │ │ └── compose_files/ │ │ │ │ └── hello_world_compose_github_container_registry.json │ │ │ ├── test-compose-full.yml │ │ │ ├── test-compose-success-jfrog.yml │ │ │ ├── test-compose-success-without-dependencies.yml │ │ │ ├── test-compose-success.yml │ │ │ ├── test-compose-without-images.yml │ │ │ ├── uffizzi-compose-amazon.yml │ │ │ ├── uffizzi-compose-azure.yml │ │ │ ├── uffizzi-compose-docker-registry-anonymous.yml │ │ │ ├── uffizzi-compose-dockerhub.yml │ │ │ ├── uffizzi-compose-ghcr.yml │ │ │ ├── uffizzi-compose-google.yml │ │ │ ├── uffizzi-compose-invalid-service-name.yml │ │ │ ├── uffizzi-compose-vote-app-docker-with-memory-request.yml │ │ │ ├── uffizzi-compose-vote-app-docker.yml │ │ │ ├── uffizzi-compose-vote-app-with-command-as-string.yml │ │ │ ├── uffizzi-compose-with-host-volumes.yml │ │ │ └── uffizzi-compose-with_alias.yml │ │ ├── services/ │ │ │ ├── activity_item_service_test.rb │ │ │ ├── compose_file_service_test.rb │ │ │ ├── deployment_service_test.rb │ │ │ ├── google_service_test.rb │ │ │ ├── image_parser_service_test.rb │ │ │ ├── manage_activity_items_service_test.rb │ │ │ └── user_generator_service_test.rb │ │ ├── support/ │ │ │ ├── azure_registry_stub_support.rb │ │ │ ├── controller_stub_support.rb │ │ │ ├── docker_hub_stub_support.rb │ │ │ ├── docker_registry_stub_support.rb │ │ │ ├── fixture_support.rb │ │ │ ├── github_container_registry_support.rb │ │ │ ├── google_registry_stub_support.rb │ │ │ └── stub_support.rb │ │ ├── test_helper.rb │ │ └── uffizzi_core_test.rb │ └── uffizzi_core.gemspec ├── db/ │ ├── migrate/ │ │ ├── 20220219114713_create_uffizzi_core_tables.uffizzi_core.rb │ │ ├── 20220317112742_remove_secrets_from_projects.uffizzi_core.rb │ │ ├── 20220317112743_create_project_secrets.uffizzi_core.rb │ │ ├── 20220325113623_add_name_to_uffizzi_containers.uffizzi_core.rb │ │ ├── 20220412133606_rename_project_secrets_to_secrets.uffizzi_core.rb │ │ ├── 20220412133607_add_resource_to_secrets.uffizzi_core.rb │ │ ├── 20220412133608_remove_project_ref_from_secrets.uffizzi_core.rb │ │ ├── 20220420103952_add_health_check_to_containers.uffizzi_core.rb │ │ ├── 20220527135654_rename_name_to_uffizzi_containers.uffizzi_core.rb │ │ ├── 20220617184754_add_volumes_to_uffizzi_core_containers.uffizzi_core.rb │ │ ├── 20220708093405_add_disabled_at_to_deployments.uffizzi_core.rb │ │ ├── 20220817140346_add_metadata_to_deployment.uffizzi_core.rb │ │ ├── 20220901110752_create_host_volume_files.rb │ │ ├── 20220901165313_create_container_host_volume_files.rb │ │ ├── 20220927113647_add_additional_subdomains_to_containers.rb │ │ ├── 20230111000000_add_state_to_memberships.rb │ │ ├── 20230306142805_add_last_deploy_at_to_deployments.uffizzi_core.rb │ │ ├── 20230406154547_add_full_image_name_to_container.uffizzi_core.rb │ │ ├── 20230531135739_create_deployment_events.rb │ │ ├── 20230613110517_create_clusters.uffizzi_core.rb │ │ ├── 20230711101901_add_host_to_clusters.rb │ │ ├── 20230824150022_update_name_constraint_to_projects.rb │ │ ├── 20231009103942_add_source_to_uffizzi_core_clusters.uffizzi_core.rb │ │ ├── 20231009163516_create_uffizzi_core_kubernetes_distributions.uffizzi_core.rb │ │ ├── 20231009201239_add_kubernetes_distribution_id_to_uffizzi_core_clusters.uffizzi_core.rb │ │ ├── 20240301200916_add_node_selector_to_cluster.uffizzi_core.rb │ │ └── 20240314170425_delete_node_selector_from_cluster.uffizzi_core.rb │ ├── schema.rb │ └── seeds.rb ├── docker-compose.yml ├── docs/ │ ├── continuous-previews.md │ └── quickstart-guide.md ├── lib/ │ ├── assets/ │ │ └── .keep │ └── tasks/ │ └── .keep ├── log/ │ └── .keep ├── public/ │ ├── 404.html │ ├── 422.html │ ├── 500.html │ └── robots.txt ├── storage/ │ └── .keep ├── test/ │ ├── application_system_test_case.rb │ ├── channels/ │ │ └── application_cable/ │ │ └── connection_test.rb │ ├── controllers/ │ │ └── .keep │ ├── fixtures/ │ │ ├── .keep │ │ └── files/ │ │ └── .keep │ ├── helpers/ │ │ └── .keep │ ├── integration/ │ │ └── .keep │ ├── mailers/ │ │ └── .keep │ ├── models/ │ │ └── .keep │ ├── system/ │ │ └── .keep │ └── test_helper.rb ├── tmp/ │ └── .keep ├── uffizzi-compose-example.yml └── vendor/ └── .keep