# Life Cycle Management

## Life Cycle Management

The Life Cycle Management feature for Spinnaker helps you to deploy spinnaker in a hassle free mode. Under normal circumstances deploying spinnaker means you have to perform multiple steps which includes the following:

1. Creating a persistent storage to store metadata of spinnaker objects like, applications and its pipelines.&#x20;
2. Installing Halyard Service which is responsible to handle spinnaker installation and configuration.
3. Choosing which version of spinnaker to install and installing its components to make spinnaker as a solution.
4. Enabling TLS for spinnaker's externally exposed services like gate and deck.&#x20;
5. &#x20;Also, you can configure spinnaker with authentication and authorization (for example, LDAP or oAuth etc).

This is where the Life Cycle Management (LCM) features comes in with automation and helps you to reduce the time and effort in the initial set up of spinnaker.  The LCM features allows you to automate the following:

1. Automated Installation in Cloud Environment - Cloud-driver and echo services are enabled in High Available mode.
2. Secrets are enabled in git/S3 for data protection.
3. Dynamically load deployment target K8s accounts from external store.
4. Spinnaker version upgrade can be easily done by simply updating the Halyard configuration in git repository.

To automate all the above features you need to do the following:

1. Set the `spinnaker.gitops.HalyardInit.enabled` property to `true` in the `values.yaml` file while configuring OES.
2. Set the type of repo using the `spinnaker.gitops.HalyardInit.repo-type` property in the `values.yaml file` . The default value is git.
3. Clone and use the following public git repos to use the LCM automations when the above property is set to true:
   * Halyard Configuration Repo - <https://github.com/OpsMx/gitops-accounts-sample>
   * Repo where k8s dynamic accounts, jenkins, etc., can be added - <https://github.com/OpsMx/gitops-hal-sample>
   * Information about these repos and credentials to access shall be specified via a secret that's installed along with our oes helm chart in this repo - <https://github.com/OpsMx/enterprise-spinnaker/blob/master/charts/oes/templates/secrets/opsmx-gitops-secret.yaml>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opsmx.com/opsmx-1/opsmx-context-engine/additional-resources/previous-releases/isd-3.12/opsmx-intelligent-software-delivery-platform/life-cycle-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
