Retrieves admin/hosting-clusters resource.
Replaces the admin/hosting-clusters resource.
Deletes the admin/hosting-clusters resource.
Replaces the admin/organization resource.
Deletes the admin/organization resource.
Retrieves admin/workspace/golden-images resource.
Replaces the admin/workspace/golden-images resource.
Deletes the admin/workspace/golden-images resource.
Replaces the organization_member resource.
Kubernetes integration managed hosting region.
Kubernetes integration identifier for the ephemeral auto deploy cluster.
Hosting Region for the ephemeral auto deploy cluster.
Environment ephemeral auto deploy status.
Environment ephemeral create-on-PR status.
Environment ephemeral destroy-on-PR close status.
Environment ephemeral branch whitelist status.
Environment ephemeral branch whitelist regex.
Retrieves external_v1_environment resource.
Creates a external_v1_environment resource.
Replaces the external_v1_environment resource.
Updates the external_v1_environment resource.
An environment holds a collection of buildable and deployable components.
Retrieves external_v1_environment_variable resource.
Updates the external_v1_environment_variable resource.
Deletes the external_v1_environment_variable resource.
An environment variable used during Bunnyshell workflows.
Retrieves external_v1_environ_item resource.
Updates the external_v1_environ_item resource.
Deletes the external_v1_environ_item resource.
An event represents an operation on an environment, integration or settings
Kubernetes integration cluster provider.
Retrieves external_v1_kubernetes_integration resource.
A Kubernetes integration stores connection information for a Kubernetes cluster.
Organization name as defined in Bunnyshell UI.
Organization timezone as defined in Bunnyshell UI.
Organization total available registry integrations.
Organization total available cluster integrations.
Organization total available git integrations.
Retrieves external_v1_organization resource.
An organization holds multiple projects and all the integrations used by environments
Retrieves external_v1_pipeline resource.
Updates the external_v1_project resource.
Deletes the external_v1_project resource.
A project holds multiple environments and shared secrets and settings.
Retrieves external_v1_project_variable resource.
Updates the external_v1_project_variable resource.
Deletes the external_v1_project_variable resource.
A project variable used during Bunnyshell workflows.
Retrieves external_v1_registry_integration resource.
A Registry integration stores connection information for a Container registry.
A secret is used to encrypt plain texts and decrypt cipher texts.
Retrieves external_v1_componentEndpoint resource.
Retrieves external_v1_componentGit resource.
Retrieves external_v1_component resource.
Creates a external_v1_component resource.
A service component represents either an application or a group of applications as a single unit
Retrieves external_v1_service_component_variable resource.
Updates the external_v1_service_component_variable resource.
Deletes the external_v1_service_component_variable resource.
A component variable used during Bunnyshell workflows.
Retrieves external_v1_template resource.
A template holds information for generating an environment.
Templates repository git repository URL.
Templates repository git repository reference.
Templates repository last synced git repository SHA.
Retrieves external_v1_templates_repository resource.
A templates repository holds multiple templates.
Retrieves external_v1_workflow resource.
Whether this workflow job is allowed to fail.
Retrieves external_v1_workflow_job resource.
Retrieves ApplyConfigurationJob resource.
Retrieves BunnyshellVolumesAddon resource.
Replaces the BunnyshellVolumesAddon resource.
Deletes the BunnyshellVolumesAddon resource.
Replaces the CostTrackingAddon resource.
Retrieves CustomDockerImageComponent resource.
Retrieves DockerImageComponent resource.
It's a One-To-One in disguise; if we use One-To-One the fetch=EXTRA_LAZY does not work
Add fetch=EXTRA_LAZY to force $environmentVariables->count() to run a COUNT sql query, not a SELECT + hydration (which includes Vault) + count()
Retrieves the collection of EnvironmentVariable resources.
Retrieves the collection of EnvironmentTimeframe resources.
Retrieves EnvironmentTimeframe resource.
Deletes the EnvironmentTimeframe resource.
TODO: cleanup when ND-4825 is not needed
For Github, GithubApp variant user or organization, we need this to be able to form the installation url accountType=organization => https://github.com/organizations/{slug}/settings/installations/{installationId} accountType=user => https://github.com/settings/installations/{installationId}
! This is overwritten in GitIntegrationNormalizer, because Github non-owners cannot access the installation settings page (https://github.com/organizations/%s/settings/installations/%s), instead of sending them to a 404 page in Github, we will send them to the installation page, where they can choose an organization and continue with request adding a repo, request uninstalling the app If we would know the user who click Configure/Remove in Bunnyshell is the owner of the Org in Github, then this function would be better
Provider id is set and mandatory only for private git connections
Type is mandatory for all types of integrations
Retrieves the collection of GitRepository resources.
Technical, not exposed to user, but for us to be able to make updates on the images, while keeping the same slug for user
Technical, not exposed to user, but for us to be able to make updates on the images, while keeping the same slug for user, only one version of a slug can be enabled !! To benefit from unique_index, we use NULL for false value
We validate that the root disk for a WorkspaceVM to not have less than this
For the moment, just for the record, maybe in future when we will support many os arches.
For the moment, just for the record, maybe in future when we will make a listing and filtering, "I want to be an Ubuntu"
For the moment, just for the record, maybe in future when we will make a listing and filtering, "I want to be an Ubuntu, 20"
We will create the bunnyshell user to use this shell, so when the user SSH into VM will use this shell
For the moment, just for the record, maybe in future when we will make a listing and filtering, "I want to be an Ubuntu, and have php and docker, what golden images do you have with these"
Just a description, will be displayed in UI when user choose it
Retrieves IngressControllerAddon resource.
Replaces the IngressControllerAddon resource.
Deletes the IngressControllerAddon resource.
Retrieves InitContainerComponent resource.
Retrieves KubernetesDashboardAddon resource.
Replaces the KubernetesDashboardAddon resource.
Deletes the KubernetesDashboardAddon resource.
This means this is a cluster running on our infrastructure.
For the managed ones, and especially for the shared ones too, to what Hosting Regions it belongs
Most probably is managed too and shared, And it means it has demo purpose, so apart from the managed limitations (see above) and shared limitations (see above), the user should not be able to: - deploy Kube and Helm components - any env deployed on this cluster will have an auto-stop after 2 hours
If false, any add-on updates to be applied will wait for user to click "Apply Configuration"
For GCP -> Project Id For Azure -> Tenant Id
The token used to connect to the Kubernetes cluster It may be available for long-term use, in case it is not changed - or - It may be available for short-term use, in which case it will be renewed (if needed) after loading it from the DB $userTokenId and $userTokenSecret will be used for renewal
The "user" part of the login needed to update the token For AWS -> Access Key ID For GCP -> Service Account ID For Azure -> Access Key ID
The "password" part of the login needed to update the token For AWS -> Secret Access Key For GCP -> Service Account Key For Azure -> Access Secret Key
For AWS -> Session Token, optional; for temporary access (users asked for this when testing, they want a temporary connection with Bunnyshell)
For AWS -> IAM Role Arn for assume role auth mechanism (You have a simple user, with no permission other than assume role from a specific IP, and based on that role he can have access to EKS cluster)
Can be used for DIGITAL_OCEAN and DT_CLOUD and SCALEWAY, it expects a kubeconfig file content, and it will try to extract the fields needed, just a alternate and simpler way to send those params
todo nice: todo workflowSettings: to be separated in a workflowSettings table (But not the one existing and added to Env, Proj and Org), as it it much more limited OR if we really want to keep all settings in that table, to add extra column, kubeMaxParallelWorkflows, and to be used only for kubes, like we have projectMaxParallelWorkflows, organizationMaxParallelWorkflows
Retrieves KubernetesIntegration resource.
Replaces the KubernetesIntegration resource.
Creates a KubernetesIntegration resource.
Retrieves the collection of Addon resources.
Retrieves KubernetesManifestComponent resource.
!!! A separate collection will be used for each organization
Replaces the NginxIngressAddon resource.
One of the PHP timezone identifiers (https://www.php.net/manual/en/timezones.php)
BuildSettings Organization Default RegistryIntegration (also marked as default in the registryIntegrations listing)
Retrieves the collection of Project resources.
Retrieves the collection of Environment resources.
Retrieves the collection of ProjectTimeframe resources.
Retrieves the collection of ProjectVariable resources.
Retrieves the collection of GitIntegration resources.
Retrieves the collection of KubernetesIntegration resources.
Retrieves the collection of Event resources.
Retrieves the collection of OrganizationUser resources.
Retrieves the collection of RegistryIntegration resources.
Retrieves the collection of TemplatesRepository resources.
Retrieves the collection of Template resources.
Retrieves the collection of SlackIntegration resources.
Retrieves the collection of TeamsIntegration resources.
Replaces the RegistryIntegration resource.
Retrieves ServiceComponentVariable resource.
Retrieves SidecarContainerComponent resource.
Replaces the TemplatesRepository resource.
Deletes the TemplatesRepository resource.
Retrieves the collection of Organization resources.
We set this on specific serialization groups.
This indicates if a dependant job of this one can be triggered.
WorkflowSteps are saved in MongoDB, we cannot declare here relations between ORM and ODM
Retrieves WorkspaceVMComponent resource.
The collection of admin/hashid resources
The collection of admin/hosting-clusters resources
Retrieves the collection of admin/hosting-clusters resources.
Creates a admin/hosting-clusters resource.
The collection of admin/organization resources
Retrieves the collection of admin/organization resources.
Retrieves the collection of admin/user resources.
The collection of admin/vouchers resources
Retrieves the collection of admin/vouchers resources.
The collection of admin/workspace/golden-images resources
Retrieves the collection of admin/workspace/golden-images resources.
Creates a admin/workspace/golden-images resource.
The collection of organization_member resources
Retrieves the collection of organization_member resources.
Retrieves the collection of policy resources.
Retrieves the collection of team resources.
Retrieves the collection of team_member resources.
Retrieves the collection of permission resources.
The collection of resource_matcher resources
Retrieves the collection of resource_matcher resources.
Retrieves the collection of role resources.
The collection of external_v1_ai_sandbox resources
Creates a external_v1_ai_sandbox resource.
The collection of external_v1_environment resources
Retrieves the collection of external_v1_environment resources.
The collection of external_v1_environment_variable resources
Retrieves the collection of external_v1_environment_variable resources.
Creates a external_v1_environment_variable resource.
The collection of external_v1_environ_item resources
Retrieves the collection of external_v1_environ_item resources.
Creates a external_v1_environ_item resource.
The collection of external_v1_event resources
Retrieves the collection of external_v1_event resources.
The collection of external_v1_kubernetes_integration resources
Retrieves the collection of external_v1_kubernetes_integration resources.
The collection of external_v1_organization resources
Retrieves the collection of external_v1_organization resources.
The collection of external_v1_pipeline resources
Retrieves the collection of external_v1_pipeline resources.
The collection of external_v1_project resources
Retrieves the collection of external_v1_project resources.
The collection of external_v1_project_variable resources
Retrieves the collection of external_v1_project_variable resources.
Creates a external_v1_project_variable resource.
The collection of external_v1_registry_integration resources
Retrieves the collection of external_v1_registry_integration resources.
The collection of external_v1_ssh resources
The collection of external_v1_secret resources
The collection of external_v1_componentEndpoint resources
Retrieves the collection of external_v1_componentEndpoint resources.
The collection of external_v1_componentGit resources
Retrieves the collection of external_v1_componentGit resources.
The collection of external_v1_component resources
Retrieves the collection of external_v1_component resources.
The collection of external_v1_service_component_variable resources
Retrieves the collection of external_v1_service_component_variable resources.
Creates a external_v1_service_component_variable resource.
The collection of external_v1_template resources
Retrieves the collection of external_v1_template resources.
Creates a external_v1_template resource.
The collection of external_v1_templates_repository resources
Retrieves the collection of external_v1_templates_repository resources.
The collection of external_v1_workflow resources
Retrieves the collection of external_v1_workflow resources.
The collection of external_v1_workflow_job resources
Retrieves the collection of external_v1_workflow_job resources.
The collection of BillingProduct resources
Retrieves the collection of BillingProduct resources.
The collection of BillingProfile resources
The collection of BunnyshellVolumesAddon resources
Creates a BunnyshellVolumesAddon resource.
The collection of CloudProvider resources
Retrieves the collection of CloudProvider resources.
The collection of CostTrackingAddon resources
The collection of EnvironmentTimeframe resources
Creates a EnvironmentTimeframe resource.
The collection of EnvironmentVariable resources
The collection of GitIntegration resources
The collection of GitRepository resources
Retrieves the collection of GoldenImage resources.
The collection of IngressControllerAddon resources
Creates a IngressControllerAddon resource.
The collection of KubernetesDashboardAddon resources
Creates a KubernetesDashboardAddon resource.
The collection of KubernetesIntegration resources
Retrieves the collection of LogEntry resources.
The collection of NginxIngressAddon resources
The collection of Organization resources
The collection of OrganizationUser resources
The collection of ProjectTimeframe resources
The collection of ProjectVariable resources
The collection of RegistryIntegration resources
The collection of RegistryProvider resources
Retrieves the collection of RegistryProvider resources.
The collection of SlackIntegration resources
The collection of TeamsIntegration resources
The collection of TemplatesRepository resources
Retrieves the collection of Timeframe resources.
Retrieves the collection of Workflow resources.
Retrieves the collection of WorkflowJob resources.
The message associated with the violation