Skip to content

Commit

Permalink
Merge pull request spinnaker#6 from lwander/setup-init
Browse files Browse the repository at this point in the history
feat(setup): Flush out halyard setup pages
  • Loading branch information
lwander authored Apr 14, 2017
2 parents 5919605 + f724fee commit c01ee5a
Show file tree
Hide file tree
Showing 22 changed files with 363 additions and 18 deletions.
48 changes: 40 additions & 8 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,60 @@ concepts:

setup:
- title: Quickstart
url: /setup/quickstart
- title: Requirements
url: /setup/requirements
children:
- title: AWS Quickstart
url: /setup/quickstart/aws-quickstart
- title: Azure Quickstart
url: /setup/quickstart/azure-quickstart
- title: Google Cloud Launcher
url: /setup/quickstart/google-cloud-launcher
- title: Install
children:
- title: Getting Started
url: /setup/install/getting-started
- title: Halyard
url: /setup/install/halyard
- title: Environment
url: /setup/install/environment
- title: Storage
url: /setup/install/storage
- title: Deploy
url: /setup/install/deploy
- title: Configuration
url: /setup/install/configuration
- title: Cloud Providers
children:
- title: Overview
url: /setup/providers/overview
- title: Amazon Web Services
url: /setup/providers/aws
- title: AppEngine
url: /setup/providers/appengine
- title: Azure
url: /setup/providers/azure
- title: Google Cloud Engine
- title: Docker Registry
url: /setup/providers/docker-registry
- title: Google Compute Engine
url: /setup/providers/gce
- title: Kubernetes
url: /setup/providers/kubernetes
- title: OpenStack
url: /setup/providers/openstack
- title: Oracle
url: /setup/providers/oracle
- title: Install
url: /setup/install
- title: Titus
url: /setup/providers/titus
- title: Persistent Storage
children:
- title: Overview
url: /setup/storage/overview
- title: Azure Blob Storage
url: /setup/storage/abs
- title: Google Cloud Storage
url: /setup/storage/gcs
- title: S3
url: /setup/storage/s3
- title: Security
url: /setup/security
children:
- title: Authentication
url: /setup/security/authentication
Expand Down Expand Up @@ -96,7 +128,7 @@ reference:
children:
- title: Amazon Web Services
url: /reference/providers/aws
- title: AppEngine
- title: App Engine
url: /reference/providers/appengine
- title: Azure
url: /reference/providers/azure
Expand Down
1 change: 1 addition & 0 deletions _sass/_masthead.scss
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
}

.masthead__menu-item {
font-size: 0.8em;
display: block;
list-style-type: none;
white-space: nowrap;
Expand Down
2 changes: 1 addition & 1 deletion _sass/_navigation.scss
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@
padding: 0;
width: 100%;
list-style: none;
font-size: 0.8rem;
font-size: 1rem;

a {
display: block;
Expand Down
6 changes: 1 addition & 5 deletions _sass/_page.scss
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,10 @@
border-bottom: 1px solid $border-color;
}

p, dl {
p, dl, li {
font-size: 0.8em;
}

li {
font-size: 1em;
}

/* paragraph indents */
p {
margin: 0 0 $indent-var;
Expand Down
4 changes: 3 additions & 1 deletion setup/cloud-providers.md → setup/install/configuration.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
---
layout: single
title: "Cloud Providers"
title: "Configuration"
sidebar:
nav: setup
---

{% include toc %}


30 changes: 30 additions & 0 deletions setup/install/deploy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
layout: single
title: "Deploy"
sidebar:
nav: setup
---

{% include toc %}

Now that we've picked a [Deployment Environment](/setup/install/environment) as
well as configured [Persistent Storage](/setup/install/storage), we're ready to
deploy Spinnaker with the following command:

```
hal deploy apply
```

__Note:__ If you're deploying to your local machine, that command may need to
be run with `sudo`.

## Troubleshooting

todo(lwander) https://github.com/spinnaker/halyard/issues/311

## Next Steps

So far we have a very minimal, but functional installation of Spinnaker. If you
want to add more accounts to manage, configure authentication, add
monitoring, enable external CI integrations and more, head over to [Configuring
Spinnaker](/setup/install/configuration).
77 changes: 77 additions & 0 deletions setup/install/environment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
layout: single
title: "Environment"
sidebar:
nav: setup
---

{% include toc %}

There are several environments Halyard can deploy Spinnaker to, and they can be
split into two groups, both entirely handled by Halyard.

* [Local installations](#local) of Debian packages.
* [Distributed installations](#distributed) via a remote bootstrapping process.

## Local

The __Local__ installation means Spinnaker will be downloaded and run on the
single machine Halyard is currently installed on.

### Intended Use-case

The __Local__ installation is intended for smaller deployments of Spinnaker,
and for clouds where the __Distributed__ installation is not yet supported;
however, since all services are on a single machine, there will be downtime when
Halyard updates Spinnaker.

### Required Hal Invocations

Currently, Halyard defaults to a __Local__ install when first run,
and no changes are required on your behalf. However, if you've edited
Halyard's deployment type and want to revert to a local install, you can run
the following command.

```
hal config deploy edit --type localdebian
```

## Distributed

The __Distributed__ installation means that Spinnaker will be deployed to a
remote cloud such that each of Spinnaker's services are deployed
independently. This allows Halyard to manage Spinnaker's lifecycle by creating
a smaller, headless Spinnaker to update your Spinnaker, ensuring 0 downtime
updates.

### Intended Use-case

This installation is intended for users with a larger resource footprint, and
for those who can't afford downtime during Spinnaker updates.

### Required Hal Invocations

First, you need to configure one of the Cloud Providers that supports the
__Distributed__ installation:

* <a href="/setup/providers/kubernetes" target="_blank">Kubernetes</a>

Then, remembering the `$ACCOUNT` name that you've created during the
Provider configuration, run

```
hal config deploy edit --type distributed --account-name $ACCOUNT
```

This command changes the type of the next deployment of Spinnaker, and will
deploy it to the account you have previously configured.

## Further Reading

* [Spinnaker Architecture](/reference/architecture) for a better understanding
of the Distributed installation.

## Next Steps

Now that your deployment environment is set up, you need to provide Spinnaker
with a [Persistent Storage](/setup/install/storage) source.
19 changes: 19 additions & 0 deletions setup/install/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
layout: single
title: "Getting Started"
sidebar:
nav: setup
---

{% include toc %}

This set of pages explains how to install Spinnaker with a higher degree of
configurability and availability than the [Quickstart](/setup/quickstart)
solutions. If your goal is to evaluate Spinnaker without much work, we
recommend trying that Quickstart page first.

## Next Steps

Let's start by [setting up Halyard](/setup/install/halyard), which will manage
the configuration, installation, and updates of Spinnaker for you.

67 changes: 67 additions & 0 deletions setup/install/halyard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
layout: single
title: "Halyard"
sidebar:
nav: setup
---

{% include toc %}

Halyard is the tool responsible for managing your Spinnaker deployment's
lifecycle. This includes writing & validating your deployment's configuration,
deploying each of Spinnaker's subcomponents, and performing updates to your
deployment of Spinnaker.

All non-quickstart deployments of Spinnaker require Halyard to manage
configuration, installation, and updates of Spinnaker. While it is possible to
install Spinnaker without Halyard, we do not recommend it, and if you get stuck
we will encourage you to instead use Halyard.

## Installation

Currently Halyard may only be installed on Ubuntu 14.04+.

The following command installs the latest released Halyard version, and will
prompt the user for some configuration in the process. Generally the default
answers to each prompt are best.

```
curl https://raw.githubusercontent.com/spinnaker/halyard/master/InstallHalyard.sh | sudo bash
```

At this point, run the following command to see if Halyard was installed
properly.

```
hal -v
```

If that command fails, make sure `hal` is in your `$PATH`, and check for logs
under `/var/log/upstart/halyard` and `/var/log/spinnaker/halyard/halyard.log`.

## Command-Completion & Help

If you're ever stuck, appending `-h` to a command will provide some help text
to explain what a command does. If you're still stuck, try looking under the
[reference documentation](/reference/halyard).

Halyard also supplies a fair amount of command-completion; if you haven't
already, run the following command or restart your shell to enable it.

```
. ~/.bashrc
```

## Updates

You can always update Halyard by running the following commands.

```
sudo apt-get update
sudo apt-get upgrade halyard
```

## Next Steps

Once Halyard is installed and running, it's time to decide which [environment to
deploy](/setup/install/environment) Spinnaker to.
23 changes: 23 additions & 0 deletions setup/install/storage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
layout: single
title: "Storage"
sidebar:
nav: setup
---

{% include toc %}

Spinnaker relies on having an external Persistent Storage source to store
Spinnaker-specific metadata, such as your [Pipelines](/concepts/pipelines), or
configured [Applications](/concepts#applications). Before you can deploy
Spinnaker, you must configure it to use one of the supported storage types.

## Supported Storage Types

* <a href="/setup/storage/abs" target="_blank">Azure Blob Storage</a>
* <a href="/setup/storage/gcs" target="_blank">Google Cloud Storage</a>
* <a href="/setup/storage/s3" target="_blank">S3</a>

## Next Steps

Now we're ready to [deploy Spinnaker](/setup/install/deploy).
2 changes: 1 addition & 1 deletion setup/providers/appengine.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: single
title: "AppEngine"
title: "App Engine"
sidebar:
nav: setup
---
Expand Down
8 changes: 8 additions & 0 deletions setup/providers/docker-registry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
layout: single
title: "Docker Registry"
sidebar:
nav: setup
---

{% include toc %}
34 changes: 34 additions & 0 deletions setup/providers/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
layout: single
title: "Overview"
sidebar:
nav: setup
---

{% include toc %}

For Spinnaker, a cloud provider is an interface to a set of virtual resources
that Spinnaker has control over. Typically, this is a IaaS provider, like
[AWS](https://aws.amazon.com/), or [GCP](https://cloud.google.com), but it can
also be a PaaS, like [App Engine](https://cloud.google.com/appengine),
or a container orchestrator, like [Kubernetes](https://kubernetes.io).

The cloud provider is central to everything you do in Spinnaker. It will be
where you deploy your [Server Groups](/concepts#server-groups), the source of
your deployable artifacts, and the subject of automation via
[Pipelines](/concepts/pipelines).

## Supported Providers

These are the cloud providers currently supported by Spinnaker:

* [App Engine](/setup/providers/appengine)
* [Amazon Web Services](/setup/providers/aws)
* [Azure](/setup/providers/azure)
* [Docker v2 Registry](/setup/providers/docker-registry) __Note:__ This is
only acts as a source of images, and does not include support for Docker Swarm.
* [Google Compute Engine](/setup/providers/gce)
* [Kubernetes](/setup/providers/kubernetes)
* [Openstack](/setup/providers/openstack)
* [Oracle](/setup/providers/oracle)
* [Titus](/setup/providers/titus)
Loading

0 comments on commit c01ee5a

Please sign in to comment.