<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Armory Docs – spinnaker.deployment.tasks.before</title><link>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/</link><description>Recent content in spinnaker.deployment.tasks.before on Armory Docs</description><generator>Hugo -- gohugo.io</generator><atom:link href="/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/index.xml" rel="self" type="application/rss+xml"/><item><title>Plugins: spinnaker.deployment.tasks.before.cleanupArtifacts</title><link>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/cleanupartifacts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/cleanupartifacts/</guid><description>
&lt;h2 id="example-payload">Example Payload&lt;/h2>
&lt;details>&lt;summary>Click to expand&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;deploy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;account&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;credentials&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;events&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manifests&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;apiVersion&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;apps/v1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;kind&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Deployment&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;metadata&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;annotations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/location&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;kubernetes/deployment&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;deployment.kubernetes.io/revision&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;4&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;kubectl.kubernetes.io/last-applied-configuration&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;{\&amp;#34;apiVersion\&amp;#34;:\&amp;#34;apps/v1\&amp;#34;,\&amp;#34;kind\&amp;#34;:\&amp;#34;Deployment\&amp;#34;,\&amp;#34;metadata\&amp;#34;:{\&amp;#34;annotations\&amp;#34;:{\&amp;#34;artifact.spinnaker.io/location\&amp;#34;:\&amp;#34;staging\&amp;#34;,\&amp;#34;artifact.spinnaker.io/name\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;artifact.spinnaker.io/type\&amp;#34;:\&amp;#34;kubernetes/deployment\&amp;#34;,\&amp;#34;artifact.spinnaker.io/version\&amp;#34;:\&amp;#34;\&amp;#34;,\&amp;#34;moniker.spinnaker.io/application\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;moniker.spinnaker.io/cluster\&amp;#34;:\&amp;#34;deployment hostname\&amp;#34;},\&amp;#34;labels\&amp;#34;:{\&amp;#34;app.kubernetes.io/managed-by\&amp;#34;:\&amp;#34;spinnaker\&amp;#34;,\&amp;#34;app.kubernetes.io/name\&amp;#34;:\&amp;#34;hostname\&amp;#34;},\&amp;#34;name\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;namespace\&amp;#34;:\&amp;#34;staging\&amp;#34;},\&amp;#34;spec\&amp;#34;:{\&amp;#34;replicas\&amp;#34;:4,\&amp;#34;selector\&amp;#34;:{\&amp;#34;matchLabels\&amp;#34;:{\&amp;#34;app\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;version\&amp;#34;:\&amp;#34;v1\&amp;#34;}},\&amp;#34;strategy\&amp;#34;:{\&amp;#34;rollingUpdate\&amp;#34;:{\&amp;#34;maxSurge\&amp;#34;:1,\&amp;#34;maxUnavailable\&amp;#34;:1},\&amp;#34;type\&amp;#34;:\&amp;#34;RollingUpdate\&amp;#34;},\&amp;#34;template\&amp;#34;:{\&amp;#34;metadata\&amp;#34;:{\&amp;#34;annotations\&amp;#34;:{\&amp;#34;artifact.spinnaker.io/location\&amp;#34;:\&amp;#34;staging\&amp;#34;,\&amp;#34;artifact.spinnaker.io/name\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;artifact.spinnaker.io/type\&amp;#34;:\&amp;#34;kubernetes/deployment\&amp;#34;,\&amp;#34;artifact.spinnaker.io/version\&amp;#34;:\&amp;#34;\&amp;#34;,\&amp;#34;moniker.spinnaker.io/application\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;moniker.spinnaker.io/cluster\&amp;#34;:\&amp;#34;deployment hostname\&amp;#34;,\&amp;#34;prometheus.io/port\&amp;#34;:\&amp;#34;9113\&amp;#34;,\&amp;#34;prometheus.io/scrape\&amp;#34;:\&amp;#34;true\&amp;#34;},\&amp;#34;labels\&amp;#34;:{\&amp;#34;app\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;app.kubernetes.io/managed-by\&amp;#34;:\&amp;#34;spinnaker\&amp;#34;,\&amp;#34;app.kubernetes.io/name\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;version\&amp;#34;:\&amp;#34;v1\&amp;#34;}},\&amp;#34;spec\&amp;#34;:{\&amp;#34;containers\&amp;#34;:[{\&amp;#34;image\&amp;#34;:\&amp;#34;rstarmer/hostname:v1\&amp;#34;,\&amp;#34;imagePullPolicy\&amp;#34;:\&amp;#34;Always\&amp;#34;,\&amp;#34;name\&amp;#34;:\&amp;#34;hostname\&amp;#34;,\&amp;#34;resources\&amp;#34;:{},\&amp;#34;volumeMounts\&amp;#34;:[{\&amp;#34;mountPath\&amp;#34;:\&amp;#34;/etc/nginx/conf.d/nginx-status.conf\&amp;#34;,\&amp;#34;name\&amp;#34;:\&amp;#34;nginx-status-conf\&amp;#34;,\&amp;#34;readOnly\&amp;#34;:true,\&amp;#34;subPath\&amp;#34;:\&amp;#34;nginx.status.conf\&amp;#34;}]},{\&amp;#34;args\&amp;#34;:[\&amp;#34;-nginx.scrape-uri=http://localhost:8090/nginx_status\&amp;#34;],\&amp;#34;image\&amp;#34;:\&amp;#34;nginx/nginx-prometheus-exporter:0.3.0\&amp;#34;,\&amp;#34;imagePullPolicy\&amp;#34;:\&amp;#34;Always\&amp;#34;,\&amp;#34;name\&amp;#34;:\&amp;#34;nginx-exporter\&amp;#34;,\&amp;#34;ports\&amp;#34;:[{\&amp;#34;containerPort\&amp;#34;:9113,\&amp;#34;name\&amp;#34;:\&amp;#34;nginx-ex-port\&amp;#34;,\&amp;#34;protocol\&amp;#34;:\&amp;#34;TCP\&amp;#34;}]}],\&amp;#34;restartPolicy\&amp;#34;:\&amp;#34;Always\&amp;#34;,\&amp;#34;volumes\&amp;#34;:[{\&amp;#34;configMap\&amp;#34;:{\&amp;#34;defaultMode\&amp;#34;:420,\&amp;#34;name\&amp;#34;:\&amp;#34;nginx-status-conf-v000\&amp;#34;},\&amp;#34;name\&amp;#34;:\&amp;#34;nginx-status-conf\&amp;#34;}]}}}}\n&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/application&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/cluster&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;creationTimestamp&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;2021-04-30T21:19:15Z&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;generation&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">11&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;labels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/managed-by&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;managedFields&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;apiVersion&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;apps/v1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;fieldsType&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;FieldsV1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;fieldsV1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:metadata&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:annotations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/location&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/name&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/type&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/version&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:kubectl.kubernetes.io/last-applied-configuration&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:moniker.spinnaker.io/application&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:moniker.spinnaker.io/cluster&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:labels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:app.kubernetes.io/managed-by&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:app.kubernetes.io/name&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:spec&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:progressDeadlineSeconds&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:replicas&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:revisionHistoryLimit&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:selector&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:matchLabels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:app&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:version&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:strategy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:rollingUpdate&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:maxSurge&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:maxUnavailable&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:type&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:template&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:metadata&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:annotations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/location&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/name&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/type&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:artifact.spinnaker.io/version&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:moniker.spinnaker.io/application&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:moniker.spinnaker.io/cluster&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:prometheus.io/port&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:prometheus.io/scrape&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:labels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:app&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:app.kubernetes.io/managed-by&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:app.kubernetes.io/name&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:version&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:spec&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:containers&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;k:{\&amp;#34;name\&amp;#34;:\&amp;#34;hostname\&amp;#34;}&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:image&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:imagePullPolicy&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:name&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:resources&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:terminationMessagePath&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:terminationMessagePolicy&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:volumeMounts&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;k:{\&amp;#34;mountPath\&amp;#34;:\&amp;#34;/etc/nginx/conf.d/nginx-status.conf\&amp;#34;}&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:mountPath&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:name&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:readOnly&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:subPath&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;k:{\&amp;#34;name\&amp;#34;:\&amp;#34;nginx-exporter\&amp;#34;}&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:args&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:image&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:imagePullPolicy&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:name&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:ports&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;k:{\&amp;#34;containerPort\&amp;#34;:9113,\&amp;#34;protocol\&amp;#34;:\&amp;#34;TCP\&amp;#34;}&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:containerPort&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:name&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:protocol&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:resources&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:terminationMessagePath&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:terminationMessagePolicy&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:dnsPolicy&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:restartPolicy&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:schedulerName&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:securityContext&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:terminationGracePeriodSeconds&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:volumes&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;k:{\&amp;#34;name\&amp;#34;:\&amp;#34;nginx-status-conf\&amp;#34;}&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:configMap&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:defaultMode&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:name&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:name&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manager&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;kubectl&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;operation&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Update&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;time&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;2021-04-30T21:19:15Z&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;apiVersion&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;apps/v1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;fieldsType&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;FieldsV1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;fieldsV1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:metadata&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:annotations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:deployment.kubernetes.io/revision&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:status&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:availableReplicas&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:conditions&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;k:{\&amp;#34;type\&amp;#34;:\&amp;#34;Available\&amp;#34;}&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:lastTransitionTime&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:lastUpdateTime&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:message&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:reason&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:status&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:type&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;k:{\&amp;#34;type\&amp;#34;:\&amp;#34;Progressing\&amp;#34;}&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;.&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:lastTransitionTime&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:lastUpdateTime&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:message&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:reason&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:status&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:type&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:observedGeneration&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:readyReplicas&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:replicas&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;f:updatedReplicas&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manager&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;kube-controller-manager&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;operation&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Update&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;time&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;2021-05-07T22:39:40Z&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;namespace&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;resourceVersion&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;25266763&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;selfLink&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;/apis/apps/v1/namespaces/staging/deployments/hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;uid&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;e1d20734-60ea-44a0-a830-168f001b482f&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;spec&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;progressDeadlineSeconds&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;replicas&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">4&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;revisionHistoryLimit&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">10&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;selector&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;matchLabels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;v1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;strategy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;rollingUpdate&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;maxSurge&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">1&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;maxUnavailable&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;RollingUpdate&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;template&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;metadata&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;annotations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/location&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;kubernetes/deployment&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/application&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/cluster&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;prometheus.io/port&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;9113&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;prometheus.io/scrape&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;true&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;labels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/managed-by&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;v1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;spec&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;containers&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;image&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;rstarmer/hostname:v1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;imagePullPolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Always&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;resources&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;terminationMessagePath&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;/dev/termination-log&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;terminationMessagePolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;File&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;volumeMounts&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;mountPath&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;/etc/nginx/conf.d/nginx-status.conf&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-status-conf&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;readOnly&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;subPath&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx.status.conf&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;args&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;-nginx.scrape-uri=http://localhost:8090/nginx_status&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;image&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx/nginx-prometheus-exporter:0.3.0&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;imagePullPolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Always&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-exporter&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ports&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;containerPort&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">9113&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-ex-port&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;protocol&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;TCP&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;resources&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;terminationMessagePath&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;/dev/termination-log&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;terminationMessagePolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;File&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dnsPolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ClusterFirst&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;restartPolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Always&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;schedulerName&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;default-scheduler&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;securityContext&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;terminationGracePeriodSeconds&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">30&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;volumes&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;configMap&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultMode&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">420&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-status-conf-v000&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-status-conf&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;status&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;availableReplicas&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">10&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;conditions&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;lastTransitionTime&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;2021-04-30T21:19:15Z&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;lastUpdateTime&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;2021-05-07T20:39:03Z&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;message&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ReplicaSet \&amp;#34;hostname-f5b957cc\&amp;#34; has successfully progressed.&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;reason&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;NewReplicaSetAvailable&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;status&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;True&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Progressing&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;lastTransitionTime&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;2021-05-07T22:39:40Z&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;lastUpdateTime&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;2021-05-07T22:39:40Z&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;message&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Deployment has minimum availability.&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;reason&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;MinimumReplicasAvailable&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;status&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;True&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Available&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;observedGeneration&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">10&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;readyReplicas&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">10&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;replicas&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">10&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;updatedReplicas&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">10&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/details>
&lt;h2 id="example-policy">Example Policy&lt;/h2>
&lt;p>Prevents cleanupArtifacts tasks from running on any account in a predefined list.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">package&lt;/span> spinnaker.deployment.tasks.before.cleanupArtifacts
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>productionAccounts &lt;span style="color:#ff79c6">:=&lt;/span>[&lt;span style="color:#f1fa8c">&amp;#34;prod1&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;prod2&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deny[&lt;span style="color:#f1fa8c">&amp;#34;Artifactss may not be cleaned up from production accounts&amp;#34;&lt;/span>] {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> input.deploy.account&lt;span style="color:#ff79c6">==&lt;/span>productionAccounts[_]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="keys">Keys&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Key&lt;/th>
&lt;th>Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>input.deploy.account&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The account being deployed to.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.credentials&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The credentials to use to access the account.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.manifests[].*&lt;/code>&lt;/td>
&lt;td>&lt;code>*&lt;/code>&lt;/td>
&lt;td>The entire Kubernetes manifest to be removed.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Plugins: spinnaker.deployment.tasks.before.deleteManifest</title><link>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/deletemanifest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/deletemanifest/</guid><description>
&lt;p>If your policy is for controlling deletion from within a pipeline, more information is available in policies written against the &lt;a href="/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/deploymanifest/">spinnaker.deployment.tasks.before.deployManifest&lt;/a> package.&lt;/p>
&lt;p>If your policy is for controlling manual deletion triggers from within the Armory Continuous Deployment UI that are not triggered via a pipeline, more information is available in policies written against the &lt;a href="/docs/plugin-guide/plugin-policy-engine/packages/spinnaker.http.authz/">spinnaker.http.authz&lt;/a> package.&lt;/p>
&lt;h2 id="example-payload">Example Payload&lt;/h2>
&lt;details>&lt;summary>Click to expand&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;deploy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;account&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;allCoordinates&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;credentials&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;events&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;kinds&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;labelSelectors&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;empty&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;notEmpty&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">false&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;selectors&amp;#34;&lt;/span>: []
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;location&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manifestName&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;apiVersion&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dryRun&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;gracePeriodSeconds&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">5&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;kind&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;orphanDependents&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;preconditions&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;propagationPolicy&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/details>
&lt;h2 id="example-policy">Example Policy&lt;/h2>
&lt;p>This example policy prevents deleteManifest tasks from running unless they provide a grace period of 30 seconds or more.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">package&lt;/span> spinnaker.deployment.tasks.before.deleteManifest
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deny[&lt;span style="color:#f1fa8c">&amp;#34;A minimum 30 second grace period must be given when deleting a kubernetes manifest&amp;#34;&lt;/span>] {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> input.deploy.options.gracePeriodSeconds&amp;lt;&lt;span style="color:#bd93f9">30&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="keys">Keys&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Key&lt;/th>
&lt;th>Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>input.deploy.account&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The account being deployed to.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.credentials&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The credentials to use to access the account.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.labelSelectors.empty&lt;/code>&lt;/td>
&lt;td>&lt;code>boolean&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.labelSelectors.notEmpty&lt;/code>&lt;/td>
&lt;td>&lt;code>boolean&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.location&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the namespace from which the manifest is being deleted.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.manifestName&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the manifest being deleted.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.options.apiVersion&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The API version in which the manifest&amp;rsquo;s kind is defined.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.options.dryRun&lt;/code>&lt;/td>
&lt;td>&lt;code>boolean&lt;/code>&lt;/td>
&lt;td>If true then the manifest is not actually deleted. if false it is.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.options.gracePeriodSeconds&lt;/code>&lt;/td>
&lt;td>&lt;code>number&lt;/code>&lt;/td>
&lt;td>How many seconds should the resource being deleted be given to shut down gracefully before being forcefully shut down.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.options.kind&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The kind of manifest that is being deleted.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.options.orphanDependents&lt;/code>&lt;/td>
&lt;td>&lt;code>boolean&lt;/code>&lt;/td>
&lt;td>When set, delete all resources managed by this resource as well (all pods owned by a replica set). When unset, this may orphan resources.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.options.preconditions&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.options.propagationPolicy&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>There are three different ways to delete a Kubernetes object:&lt;br/> Foreground: The object itself cannot be deleted unless the objects that it owns have already been deleted.&lt;br/> Background: The object itself is deleted, then the objects that it owned are automatically deleted.&lt;br/> Orphan: The object itself is deleted. Any objects it owns are “orphaned.”&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Plugins: spinnaker.deployment.tasks.before.deployManifest</title><link>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/deploymanifest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/deploymanifest/</guid><description>
&lt;h2 id="example-payload">Example Payload&lt;/h2>
&lt;details>&lt;summary>Click to expand&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;deploy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;account&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;credentials&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;enableTraffic&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;events&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manifest&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manifestArtifact&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manifests&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;apiVersion&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;apps/v1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;kind&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Deployment&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;metadata&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;annotations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/location&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;kubernetes/deployment&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/application&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/cluster&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;labels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/managed-by&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;namespace&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;spec&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;replicas&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">4&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;selector&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;matchLabels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;v1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;strategy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;rollingUpdate&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;maxSurge&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">1&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;maxUnavailable&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;RollingUpdate&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;template&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;metadata&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;annotations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/location&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;kubernetes/deployment&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;artifact.spinnaker.io/version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/application&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker.spinnaker.io/cluster&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;prometheus.io/port&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;9113&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;prometheus.io/scrape&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;true&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;labels&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/managed-by&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app.kubernetes.io/name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;version&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;v1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;spec&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;containers&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;image&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;rstarmer/hostname:v1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;imagePullPolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Always&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;resources&amp;#34;&lt;/span>: {},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;volumeMounts&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;mountPath&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;/etc/nginx/conf.d/nginx-status.conf&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-status-conf&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;readOnly&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;subPath&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx.status.conf&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;args&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;-nginx.scrape-uri=http://localhost:8090/nginx_status&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;image&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx/nginx-prometheus-exporter:0.3.0&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;imagePullPolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Always&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-exporter&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ports&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;containerPort&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">9113&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-ex-port&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;protocol&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;TCP&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;restartPolicy&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Always&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;volumes&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;configMap&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultMode&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">420&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-status-conf-v000&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;nginx-status-conf&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;moniker&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;app&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;cluster&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;detail&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;sequence&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;stack&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;namespaceOverride&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;optionalArtifacts&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;requiredArtifacts&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;services&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;source&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;text&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;strategy&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;versioned&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/details>
&lt;h2 id="example-policy">Example Policy&lt;/h2>
&lt;p>This example prevents deploying of pods, pod templates (deployments/jobs/replicasets) and services that use the following services: HTTP, FTP, TELNET, POP3, NNTP, IMAP, LDAP, SMTP&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">package&lt;/span> spinnaker.deployment.tasks.before.deployManifest
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>blockedPorts &lt;span style="color:#ff79c6">:=&lt;/span> [&lt;span style="color:#bd93f9">20&lt;/span>,&lt;span style="color:#bd93f9">21&lt;/span>,&lt;span style="color:#bd93f9">23&lt;/span>,&lt;span style="color:#bd93f9">80&lt;/span>,&lt;span style="color:#bd93f9">110&lt;/span>,&lt;span style="color:#bd93f9">119&lt;/span>,&lt;span style="color:#bd93f9">143&lt;/span>,&lt;span style="color:#bd93f9">389&lt;/span>,&lt;span style="color:#bd93f9">587&lt;/span>,&lt;span style="color:#bd93f9">8080&lt;/span>,&lt;span style="color:#bd93f9">8088&lt;/span>,&lt;span style="color:#bd93f9">8888&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deny[&lt;span style="color:#f1fa8c">&amp;#34;A port typically used by an unencrypted protocol was detected.&amp;#34;&lt;/span>] {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> #Check &lt;span style="color:#ff79c6">for&lt;/span> service
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ports &lt;span style="color:#ff79c6">:=&lt;/span> input.deploy.manifests[_].spec.ports[_]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#50fa7b">any&lt;/span>([object.&lt;span style="color:#50fa7b">get&lt;/span>(ports,&lt;span style="color:#f1fa8c">&amp;#34;port&amp;#34;&lt;/span>,null) &lt;span style="color:#ff79c6">==&lt;/span> blockedPorts[_],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> object.&lt;span style="color:#50fa7b">get&lt;/span>(ports,&lt;span style="color:#f1fa8c">&amp;#34;targetPort&amp;#34;&lt;/span>,null) &lt;span style="color:#ff79c6">==&lt;/span> blockedPorts[_]])
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> #Check &lt;span style="color:#ff79c6">for&lt;/span> pod
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> input.deploy.manifests[_].spec.containers[_].ports[_].containerPort=blockedPorts[_]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>} {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> #Check &lt;span style="color:#ff79c6">for&lt;/span> pod template
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> input.deploy.manifests[_].spec.template.spec.containers[_].ports[_].containerPort=blockedPorts[_]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This example requires that the annotations &amp;lsquo;owner&amp;rsquo; and &amp;lsquo;app&amp;rsquo; are applied on all deployed infrastructure.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">package&lt;/span> spinnaker.deployment.tasks.before.deployManifest
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>required_annotations&lt;span style="color:#ff79c6">:=&lt;/span>[&lt;span style="color:#f1fa8c">&amp;#34;app&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;owner&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deny[&lt;span style="color:#f1fa8c">&amp;#34;Manifest is missing a required annotation&amp;#34;&lt;/span>] {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> annotations &lt;span style="color:#ff79c6">:=&lt;/span>input.deploy.manifests[_].metadata.annotations
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> # Use object.get to check &lt;span style="color:#ff79c6">if&lt;/span> data exists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> object.&lt;span style="color:#50fa7b">get&lt;/span>(annotations,required_annotations[_],null)&lt;span style="color:#ff79c6">==&lt;/span>null
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="keys">Keys&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Key&lt;/th>
&lt;th>Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>input.deploy.account&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The account being deployed to.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.credentials&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The credentials to use to access the account.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.enableTraffic&lt;/code>&lt;/td>
&lt;td>&lt;code>boolean&lt;/code>&lt;/td>
&lt;td>Allow Armory Continuous Deployment to associate each ReplicaSet deployed in this stage with one or more services and manage traffic based on your selected rollout strategy options.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.manifest&lt;/code>&lt;/td>
&lt;td>&lt;code>[array]&lt;/code>&lt;/td>
&lt;td>An array of the manifests being deployed&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.manifestArtifact&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>The name of the artifact from which the manifest should be read.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.manifests[].*&lt;/code>&lt;/td>
&lt;td>&lt;code>*&lt;/code>&lt;/td>
&lt;td>The entire Kubernetes manifest to be deployed.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.moniker.app&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the application being deployed&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.moniker.cluster&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the cluster you are deploying to.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.moniker.detail&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.moniker.sequence&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.moniker.stack&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.namespaceOverride&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>The namespace the job should deploy to&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.services&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>The services that are having their traffic managed, if any.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.source&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.strategy&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>The rollout strategy tells Armory Continuous Deployment what to do with the previous version(s) of the ReplicaSet in the cluster.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.versioned&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Plugins: spinnaker.deployment.tasks.before.scaleManifest</title><link>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/scalemanifest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/scalemanifest/</guid><description>
&lt;h2 id="example-payload">Example Payload&lt;/h2>
&lt;details>&lt;summary>Click to expand&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;deploy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;account&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;credentials&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;events&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;location&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manifestName&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;replicas&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">10&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/details>
&lt;h2 id="example-policy">Example Policy&lt;/h2>
&lt;p>This policy prevents scaling a deployment or replicaset in a production account to have &amp;lt;2 replicas.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">package&lt;/span> spinnaker.deployment.tasks.before.scaleManifest
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>productionAccounts &lt;span style="color:#ff79c6">:=&lt;/span>[&lt;span style="color:#f1fa8c">&amp;#34;prod1&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;prod2&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deny[&lt;span style="color:#f1fa8c">&amp;#34;production accounts require &amp;gt;1 replicas to avoid a single point of failure.&amp;#34;&lt;/span>]{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> input.deploy.location&lt;span style="color:#ff79c6">==&lt;/span>productionAccounts[_]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> input.deploy.replicas&amp;lt;&lt;span style="color:#bd93f9">2&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="keys">Keys&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Key&lt;/th>
&lt;th>Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>input.deploy.account&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The account being deployed to.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.credentials&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The credentials used to access the account.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.location&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the namespace the manifest is being deleted from.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.manifestName&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the manifest being deleted.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.replicas&lt;/code>&lt;/td>
&lt;td>&lt;code>number&lt;/code>&lt;/td>
&lt;td>How many pods should be running after the scaling action.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Plugins: spinnaker.deployment.tasks.before.undoRolloutManifest</title><link>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/undorolloutmanifest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/plugins/policy-engine/use/packages/spinnaker.deployment/tasks.before/undorolloutmanifest/</guid><description>
&lt;h2 id="example-payload">Example Payload&lt;/h2>
&lt;details>&lt;summary>Click to expand&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;deploy&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;account&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;credentials&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;spinnaker&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;events&amp;#34;&lt;/span>: [],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;location&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;staging&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;manifestName&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;deployment hostname&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;numRevisionsBack&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">1&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;revision&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">null&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/details>
&lt;h2 id="example-policy">Example Policy&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">package&lt;/span> spinnaker.deployment.tasks.before.undoRolloutManifest
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deny [&lt;span style="color:#f1fa8c">&amp;#34;You may only rollback 1 revision at a time.&amp;#34;&lt;/span>]{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> input.deploy.numRevisionsBack&lt;span style="color:#ff79c6">!=&lt;/span>&lt;span style="color:#bd93f9">1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="keys">Keys&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Key&lt;/th>
&lt;th>Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>input.deploy.account&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The spinnaker account to which this stage is deploying.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.credentials&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The credentials to use to access the account.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.location&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the namespace the manifest is being deleted from.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.manifestName&lt;/code>&lt;/td>
&lt;td>&lt;code>string&lt;/code>&lt;/td>
&lt;td>The name of the manifest being deleted.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.numRevisionsBack&lt;/code>&lt;/td>
&lt;td>&lt;code>number&lt;/code>&lt;/td>
&lt;td>How many revisions of the manifest should be rolled back.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>input.deploy.revision&lt;/code>&lt;/td>
&lt;td>&lt;code>number&lt;/code>&lt;/td>
&lt;td>What revision the manifest should be rolled back to.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item></channel></rss>