<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Managed Delivery on Spinnaker</title>
		<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/</link>
		<description>Recent content in Managed Delivery on Spinnaker</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Managed Delivery Overview</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/managed-delivery-overview/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/managed-delivery-overview/</guid>
				<description>&lt;h2 id=&#34;what-is-managed-delivery&#34;&gt;What is Managed Delivery?&lt;/h2&gt;&#xA;&lt;p&gt;Managed Delivery is an initiative with two key goals.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Provide native means for Spinnaker users to declaratively manage software delivery.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;With a &lt;em&gt;declarative&lt;/em&gt; model, users describe the desired end-state of a deployed application. Spinnaker continually&#xA;calculates how this desired state maps to cloud resources. When desired state diverges from actual cloud state,&#xA;Spinnaker figures out how to safely bring the deployed state in-line with the desired.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Getting Started</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/getting-started/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/getting-started/</guid>
				<description>&lt;p&gt;This means that we support only EC2 and Titus, and that we have limited feature and UI support.&#xA;This guide walks through onboarding to Managed Delivery assuming that you are using EC2 or Titus.&lt;/p&gt;&#xA;&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;To get started with Managed Delivery you&amp;rsquo;ll need an idea of what infrastructure you want to manage.&#xA;You can pick a new piece of infrastructure that you want to create (a new load balancer, for example) or migrate an existing piece of infrastructure (an existing cluster, for example).&lt;/p&gt;</description>
			</item>
			<item>
				<title>API</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/api/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/api/</guid>
				<description>&lt;p&gt;The endpoints for managed delivery are located in the &lt;code&gt;managed-controller&lt;/code&gt;.&#xA;The endpoints are easily accessible from the swagger api page of your Spinnaker instance.&lt;/p&gt;&#xA;&lt;p&gt;This doc provides samples for how to use the endpoints.&lt;/p&gt;&#xA;&lt;h3 id=&#34;export-an-existing-resource&#34;&gt;Export an Existing Resource&lt;/h3&gt;&#xA;&lt;p&gt;The export endpoint (under the &amp;ldquo;managed-controller&amp;rdquo;) allows you to take an existing resource and export it to a yaml config.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;GET /managed/resources/export/{cloudProvider}/{account}/{type}/{name}?serviceAccount=yourServiceAccount@company.com&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;These definitions can be stored in your git repo.&lt;/p&gt;&#xA;&lt;h3 id=&#34;validating-yaml&#34;&gt;Validating yaml&lt;/h3&gt;&#xA;&lt;p&gt;The ad-hoc diff endpoint allows you to see if a resource config is valid, and to see the difference between config (desired state) and reality.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Managed Delivery Artifacts</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/artifacts/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/artifacts/</guid>
				<description>&lt;p&gt;Managed Delivery supports two types of delivery artifacts: &lt;strong&gt;debians&lt;/strong&gt; and &lt;strong&gt;Docker images&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Delivery artifacts are meant to provide Spinnaker information about:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Where to locate the &lt;em&gt;available versions&lt;/em&gt; of an artifact you care about&lt;/li&gt;&#xA;&lt;li&gt;How to choose the &lt;em&gt;latest version&lt;/em&gt; from a list of versions&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Spinnaker needs this information to make decisions about when and how to roll out new versions as they become available. Artifacts are defined with name, type, and version strategy information.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Delivery Configs</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/delivery-configs/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/delivery-configs/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Prerequisite:&lt;/strong&gt; read and complete the &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/getting-started/&#34;&gt;Getting Started&lt;/a&gt;&#xA; document!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;what-is-a-delivery-config&#34;&gt;What is a Delivery Config?&lt;/h2&gt;&#xA;&lt;p&gt;A &lt;strong&gt;delivery config&lt;/strong&gt; allows you to group resources together in a single file (e.g. &lt;code&gt;spinnaker.yml&lt;/code&gt;) and specify how these resources work together to promote an &lt;strong&gt;artifact&lt;/strong&gt; between &lt;strong&gt;environments&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;artifacts&#34;&gt;Artifacts&lt;/h3&gt;&#xA;&lt;p&gt;An artifact represents the package or docker image that you want to promote in your delivery flow.&#xA;For example, if you develop the package &lt;code&gt;keeldemo&lt;/code&gt; (which is built into a debian) and that is the only package that runs in your application, you&amp;rsquo;d have the following artifact section:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Environment Constraints</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/environment-constraints/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/environment-constraints/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Prerequisite:&lt;/strong&gt; understand the environment concept offered by &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/delivery-configs/#environments&#34;&gt;Delivery Configs&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;what-is-an-environment-constraint&#34;&gt;What is an Environment Constraint?&lt;/h2&gt;&#xA;&lt;p&gt;Environment constraints control how an artifact version flows through environments. A constraint can&#xA;be as simple as ensuring an artifact isn&amp;rsquo;t promoted into &lt;code&gt;Environment B&lt;/code&gt; unless it has successfully deployed into&#xA;&lt;code&gt;Environment A&lt;/code&gt;. Constraints can also specify that an artifact needs to have a canary evaluated by Kayenta before&#xA;it can be deployed into an environment, while also defining how the canary should be deployed and evaluated.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Git-Based Workflows</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/git-based-workflows/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/git-based-workflows/</guid>
				<description>&lt;p&gt;Spinnaker supports git-based workflows to create and update Managed Delivery configurations.&#xA;This allows you to keep your Managed Delivery configuration in code and follow all the usual&#xA;best practices like code review and approvals before a change is introduced to your managed&#xA;resources, environments or deployments.&lt;/p&gt;&#xA;&lt;p&gt;Git support is currently achieved via a pipeline configured with a&#xA;&#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/pipeline/triggers/&#34;&gt;trigger&lt;/a&gt;&#xA; that can provide source repository&#xA;information (such as a Git trigger) and containing a single &lt;code&gt;Import Delivery Config&lt;/code&gt; stage.&#xA;This stage will retrieve a Delivery Config manifest from the repository associated with your&#xA;pipeline&amp;rsquo;s trigger, then save (or update) it in Spinnaker so it will automatically monitor&#xA;and manage the resources, environments and deployments described in the manifest.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Mark an Artifact as Bad</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/marking-as-bad/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/marking-as-bad/</guid>
				<description>&lt;p&gt;You can mark a version of an artifact in an environment as bad to ensure that that version never gets deployed to the environment.&#xA;If you mark an artifact as bad in the first in a series of environments (linked together by &lt;code&gt;depends-on&lt;/code&gt; constraints) that version of the artifact will never be promoted into the later environments.&lt;/p&gt;&#xA;&lt;h3 id=&#34;marking-via-the-api&#34;&gt;Marking via the API&lt;/h3&gt;&#xA;&lt;p&gt;To mark the artifact via the API you&amp;rsquo;ll need the application name, the name of the environment, the reference for your artifact (defined in your delivery config, defaulted to the artifact name), and the version that is bad.&#xA;The request needs to have a body that contains &#xA;&lt;a href=&#34;https://github.com/spinnaker/gate/blob/master/gate-core/src/main/groovy/com/netflix/spinnaker/gate/model/manageddelivery/EnvironmentArtifactVeto.java&#34; target=&#34;_blank&#34;&gt;this information&lt;/a&gt;&#xA;.&#xA;Here&amp;rsquo;s an example:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Pin an Environment</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/pinning/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/pinning/</guid>
				<description>&lt;p&gt;You can pin an environment to a specific artifact version to ensure that all resources in the environment stay on that version.&#xA;Until the pin is removed, that environment won&amp;rsquo;t change to a new version of the artifact.&lt;/p&gt;&#xA;&lt;h3 id=&#34;pinning-via-the-api&#34;&gt;Pinning via the API&lt;/h3&gt;&#xA;&lt;p&gt;To create a pin via the API you&amp;rsquo;ll need the application name, the name of the environment you want to pin, the reference for your artifact (defined in your delivery config, defaulted to the artifact name), and the version you&amp;rsquo;d like to pin to.&#xA;The request needs to have a body that contains &#xA;&lt;a href=&#34;https://github.com/spinnaker/gate/blob/master/gate-core/src/main/groovy/com/netflix/spinnaker/gate/model/manageddelivery/EnvironmentArtifactPin.java&#34; target=&#34;_blank&#34;&gt;this information&lt;/a&gt;&#xA;.&#xA;Here&amp;rsquo;s an example:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Resource Status</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/resource-status/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/resource-status/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re not sure what a managed resource is, check out our &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/managed-delivery-overview&#34;&gt;Overview of Managed Delivery&lt;/a&gt;&#xA; first.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;Managed resources always have a &lt;strong&gt;status&lt;/strong&gt;, which describes the current state of the resource from Spinnaker&amp;rsquo;s perspective. A resource&amp;rsquo;s status can help you quickly answer questions like:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is Spinnaker taking automatic action on this resource right now?&lt;/li&gt;&#xA;&lt;li&gt;Does the actual state of this resource match the declarative configuration I gave to Spinnaker?&lt;/li&gt;&#xA;&lt;li&gt;Is something wrong with this resource?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;how-to-find-a-resources-status&#34;&gt;How to find a resource&amp;rsquo;s status&lt;/h2&gt;&#xA;&lt;h3 id=&#34;ui&#34;&gt;UI&lt;/h3&gt;&#xA;&lt;p&gt;On the Infrastructure views (Clusters, Load Balancers, Firewalls), you&amp;rsquo;ll see a color-coded &amp;ldquo;M&amp;rdquo; logo attached to any resources that are managed by Spinnaker. Hovering over the logo reveals additional context about the current status and what it means.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Managed Delivery FAQ</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/faq/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/faq/</guid>
				<description>&lt;h3 id=&#34;what-is-happening&#34;&gt;What is happening?&lt;/h3&gt;&#xA;&lt;p&gt;Spinnaker is managing this resource.&#xA;That means that the state of this resource is controlled using a declarative config submitted to Spinnaker.&lt;/p&gt;&#xA;&lt;h3 id=&#34;can-i-make-changes-in-the-ui-to-this-resource&#34;&gt;Can I make changes in the UI to this resource?&lt;/h3&gt;&#xA;&lt;p&gt;Nope.&#xA;Well, you can, but they will be almost immediately stomped to return to the declared state.&lt;/p&gt;&#xA;&lt;h3 id=&#34;who-is-the-source-of-truth-for-that-declared-state&#34;&gt;Who is the source of truth for that declared state?&lt;/h3&gt;&#xA;&lt;p&gt;Spinnaker is.&lt;/p&gt;&#xA;&lt;h3 id=&#34;then-why-do-i-have-code-checked-into-a-repo&#34;&gt;Then why do I have code checked into a repo?&lt;/h3&gt;&#xA;&lt;p&gt;To help you keep your resources in a known good state.&#xA;You must publish these resource configs to Spinnaker every time they change in order for that change to be reflected in Spinnaker.&lt;/p&gt;</description>
			</item>
			<item>
				<title>CI Features</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/ci-features/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/user/managed-delivery/ci-features/</guid>
				<description>&lt;p&gt;One of the goals of Managed Delivery is to show you the journey of your code, from commit to deployment,&#xA;in an easy, consistent way.&#xA;In order to enable this experience, we created an integration between Managed Delivery and the Continuous Integration (CI) provider, which is described below.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Note: in order to take advantage of this feature, your Spinnaker operator/administrator will have to configure a CI provider which matches your company&amp;rsquo;s setup.&#xA;They can look for available open-source or commercial Spinnaker CI providers, or even develop their own. See the developer guide on &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/developer/extending/integrate-your-ci/&#34;&gt;CI integration&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
