Merge pull request #125 from sbidoul/configurable-delete

Configurable delete
This commit is contained in:
Stéphane Bidoul 2025-09-13 15:11:38 +02:00 committed by GitHub
commit afa10b592a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 9 additions and 4 deletions

View file

@ -182,7 +182,7 @@ class Controller:
f"but the corresponding deployment {build_name} is gone. "
f"Deleting all build resources."
)
await k8s.delete_resources(build_name)
await k8s.delete_deployment_resources(build_name)
continue
if job_kind == "initialize":
if job.status.active:

View file

@ -243,13 +243,13 @@ async def deploy(kubefiles_path: Path | None, deployment_vars: DeploymentVars) -
)
async def delete_resources(build_name: str) -> None:
async def delete_deployment_resources(build_name: str) -> None:
await _kubectl(
[
"-n",
settings.build_namespace,
"delete",
"all",
settings.deployment_resource_types,
"-l",
f"runboat/build={build_name}",
"--wait=false",

View file

@ -319,7 +319,7 @@ class Build(BaseModel):
async def on_cleanup_succeeded(self) -> None:
_logger.info(f"Cleanup job succeeded for {self}, deleting resources.")
await k8s.delete_resources(self.name)
await k8s.delete_deployment_resources(self.name)
_logger.debug("Removing finalizer for %s.", self)
await self._patch(remove_finalizers=True, not_found_ok=True)

View file

@ -84,6 +84,11 @@ class Settings(BaseSettings):
additional_footer_html: str = ""
# Disable posting of statuses to GitHub commits
disable_commit_statuses: bool = False
# Resources generated by the kubefiles templates in 'deployment' mode. These
# are used when undeploying a build to delete all resources.
deployment_resource_types: str = (
"deployment,service,ingress,configmap,secret,pvc,job"
)
def get_build_settings(self, repo: str, target_branch: str) -> list[BuildSettings]:
for repo_settings in self.repos: