spinnaker.execution.stages.before.deleteManifest
A policy targeting this object runs before executing each task in a deleteManifest stage.
See Deploy Applications to Kubernetes for more information on this stage.
Example Payload
Click to expand
{
"input": {
"deploy": {
"account": "spinnaker",
"allCoordinates": [],
"credentials": "spinnaker",
"events": [],
"kinds": [],
"labelSelectors": {
"empty": true,
"notEmpty": false,
"selectors": []
},
"location": "staging",
"manifestName": "deployment hostname",
"options": {
"apiVersion": null,
"dryRun": null,
"gracePeriodSeconds": 5,
"kind": null,
"orphanDependents": null,
"preconditions": null,
"propagationPolicy": null
}
}
}
}
Example Policy
This example policy requires Delete Manifest stages to provide a minimum 2 minute grace period when run in production.
package spinnaker.execution.stages.before.deleteManifest
productionAccounts :=["prod1","prod2"]
deny["deletions in production accounts must allow a minimum of 2 minutes for graceful shutdown."]{
input.deploy.account==productionAccounts[_]
input.deploy.options.gracePeriodSeconds<120
}
Keys
Key | Type | Description |
---|---|---|
input.deploy.account |
string |
The account being deployed to. |
input.deploy.credentials |
string |
The credentials to use to access the account. |
input.deploy.labelSelectors.empty |
boolean |
|
input.deploy.labelSelectors.notEmpty |
boolean |
|
input.deploy.location |
string |
The name of the namespace from which the manifest is being deleted. |
input.deploy.manifestName |
string |
The name of the manifest being deleted. |
input.deploy.options.apiVersion |
string |
The API version in which the manifest’s kind is defined. |
input.deploy.options.dryRun |
boolean |
If true then the manifest is not actually deleted. if false it is. |
input.deploy.options.gracePeriodSeconds |
number |
How many seconds the resource being deleted is given to shut down gracefully before being forcefully shut down. |
input.deploy.options.kind |
string |
What is the kind of manifest that is being deleted. |
input.deploy.options.orphanDependents |
When set, delete all resources managed by this resource as well (all pods owned by a replica set). When unset, this may orphan resources. | |
input.deploy.options.preconditions |
||
input.deploy.options.propagationPolicy |
There are three different ways to delete a Kubernetes object: Foreground: The object itself cannot be deleted unless the objects that it owns have already been deleted. Background: The object itself is deleted, then the objects that it owned are automatically deleted. Orphan: The object itself is deleted. Any objects it owns are “orphaned.” |
Feedback
Was this page helpful?
Thank you for letting us know!
Sorry to hear that. Please tell us how we can improve.
Last modified August 18, 2023: (02b163b7)