Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More cleanup #10

Merged
merged 8 commits into from
May 6, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ defaultContentLanguage = "en"
defaultContentLanguageInSubdir= false
enableMissingTranslationPlaceholders = false


enableEmoji = true
# [Languages]
# [Languages.en]
Expand All @@ -32,6 +33,7 @@ disableNavChevron = false # set true to hide next/prev chevron, default is false
highlightClientSide = false # set true to use highlight.pack.js instead of the default hugo chroma highlighter
menushortcutsnewtab = false # set true to open shortcuts links to a new tab/window
enableGitInfo = true
editURL = "https://github.com/cloudposse/docs/edit/master"

[outputs]
home = [ "HTML", "RSS", "JSON"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ excerpt: Example of a well-executed postmortem for Root Cause Analysis

# Incident #1 - Rollout Caused Unplanned Outage (2017-06-29)

| | |
|:-----------------|:---------------------|
| On-call Engineer | Erik Osterman |
| Start Time | 2018-06-29 12:58 PST |
Expand Down
10 changes: 5 additions & 5 deletions content/documentation/contact-us.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ excerpt: ''
parent: home
---

|
------------- | ----------------------------------------------------------
Inquiries | [[email protected]](mailto:[email protected])
Schedule Time | [calendly.com/cloudposse](https://calendly.com/cloudposse)
Call | +1 (310) 496-6556
| | |
|:--------------|:-----------------------------------------------------------|
| Inquiries | [[email protected]](mailto:[email protected]) |
| Schedule Time | [calendly.com/cloudposse](https://calendly.com/cloudposse) |
| Call | +1 (310) 496-6556 |
63 changes: 35 additions & 28 deletions content/geodesic/geodesic-module/use/with-terraform.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,16 @@ Then run these commands:

5. Re-run `init-terraform`, answer `yes` when asked to import state

##### :warning: Prerequisites
> Follow the "Use geodesic module" to [Use](doc:use) get how to use the module shell.
{{% dialog type="warning" icon="fa-exclamation-circle" title="Prerequisites" %}}
Follow the "Use geodesic module" to [Use](doc:use) get how to use the module shell.
{{% /dialog %}}

# Create terraform state bucket

##### :no_entry_sign: Important
> To use terraform you need to create terraform state bucket.
>Follow the instructions to do that.
{{% dialog type="important" icon="fa-exclamation-triangle" title="Important" %}}
To use terraform you need to create terraform state bucket.
Follow the instructions to do that.
{{% /dialog %}}

To create terraform state bucket follow this steps:

Expand Down Expand Up @@ -129,7 +131,7 @@ Run Geodesic Shell in [development mode](doc:use#section-development-mode)
> $CLUSTER_NAME
```

##### Example
{{% dialog type="code-block" icon="fa-code" title="Example" %}}
```shell
> staging.example.com
# Mounting /home/goruha into container
Expand All @@ -156,14 +158,15 @@ IMPORTANT:
❌ (none) ~ ➤

```
{{% /dialog %}}

## Authorize on AWS
Assume role by running
```bash
assume-role
```

##### Example
{{% dialog type="code-block" icon="fa-code" title="Example" %}}
```shell
❌ (none) tfstate-backend ➤ assume-role
Enter passphrase to unlock /conf/.awsvault/keys/:
Expand All @@ -174,6 +177,7 @@ Enter token for arn:aws:iam::xxxxxxx:mfa/goruha: 781874
✅ (example-staging-admin) tfstate-backend ➤

```
{{% /dialog %}}

## Apply tfstate-bucket

Expand All @@ -185,7 +189,7 @@ terraform apply
```
The latest command will output id of terraform state bucket and dynamo DB table. Please copy that values because we need it for next step.

##### Example
{{% dialog type="code-block" icon="fa-code" title="Example" %}}
```shell
✅ (example-staging-admin) tfstate-backend ➤ terraform apply
null_resource.default: Refreshing state... (ID: 4514126170089387416)
Expand All @@ -207,13 +211,14 @@ tfstate_backend_s3_bucket_id = example-staging-terraform-state
✅ (example-staging-admin) tfstate-backend ➤

```
{{% /dialog %}}

In the example the bucket name is `example-staging-terraform-state` and dynamo DB table `example-staging-terraform-state-lock`.

## Exit the module shell
Exit from the shell by running `exit` twice

##### Example
{{% dialog type="code-block" icon="fa-code" title="Example" %}}
```shell
✅ (example-staging-admin) tfstate-backend ➤ exit
logout
Expand All @@ -223,8 +228,8 @@ Goodbye
❌ (none) ~ ➤ exit
logout
Goodbye

```
{{% /dialog %}}

## Set the bucket as default bucket to store for terraform state files
Update in module `Dockerfile` environment variables
Expand All @@ -236,7 +241,7 @@ ENV TF_DYNAMODB_TABLE ""
```
with terraform state bucket name and region and dynamo DB table name.

##### Example
### Example
```text
# Terraform
ENV TF_BUCKET "example-staging-terraform-state"
Expand All @@ -257,7 +262,7 @@ Run Geodesic Shell in [development mode](doc:use#section-development-mode)
> assume-role
```

##### Example
{{% dialog type="code-block" icon="fa-code" title="Example" %}}
```shell
> staging.example.com
# Mounting /home/goruha into container
Expand Down Expand Up @@ -289,33 +294,32 @@ Enter token for arn:aws:iam::xxxxxxx:mfa/goruha: 781874
⧉ staging example
✅ (example-staging-admin) tfstate-backend ➤
```
{{% /dialog %}}

## Save `tfstate-bucket` terraform state file into the bucket
This is kind of self-reference but we need to store state in reliable storage. This is useful for the future update.


# Create terraform module


# Create Terraform Module

To provision terraform module create a directory for it in `/conf`

##### :information_source: Example
> If terraform module name is `kube2iam`.
>Create `/conf/kube2iam` and put there terraform code.
>Example of code you can find there [LINK!]
{{% dialog type="tip" icon="fa-hand-o-right" title="Tip" %}}
If the terraform module is named `kube2iam`, then create `/conf/kube2iam` and stick the terraform code in there.
Example of code you can find there [LINK!]
{{% /dialog %}}

# Rebuild the shell container
# Rebuild the Geodesic Module

Rebuild the shell container with `make build` command.

{{% dialog type="info" icon="fa-info-circle" title="Tip" %}}
{{% dialog type="tip" icon="fa-hand-o-right" title="Tip" %}}
During development, you can skip rebuilding the container and instead work from the `/localhost` folder inside of the container. The `/localhost` folder is the user's `$HOME` folder mounted into the container. Any files on this system will be persisted.
{{% /dialog %}}

# Run the shell
```bash
> $CLUSTER_NAME
$CLUSTER_NAME
```

For example, to access your geodesic project shell do the following.
Expand All @@ -339,12 +343,15 @@ terraform plan
terraform apply
```

##### :information_source: Example
> If terraform module name is `kube2iam`.
>`> cd /conf/kube2iam`
>`> init-terraform`
>`> terraform plan`
>`> terraform apply`
{{% dialog type="code-block" icon="fa-code" title="Example" %}}
If terraform module name is `kube2iam`.
```bash
cd /conf/kube2iam
init-terraform
terraform plan
terraform apply
```
{{% /dialog %}}

## Example: Provision CloudTrail with Terraform

Expand Down
7 changes: 3 additions & 4 deletions content/helm-charts/helm-quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ Helm is a package manager for kubernetes.

There are a vast number of public charts available: https://github.com/kubernetes/charts/


##### :information_source: Official Documentation
> Visit the [Helm Documentation Portal](https://docs.helm.sh/) for excellent documentation

{{% dialog type="info" icon="fa-info-circle" title="Official Documentation" %}}
Visit the [Helm Documentation Portal](https://docs.helm.sh/) for excellent documentation
{{% /dialog %}}

# Values File

Expand Down
16 changes: 9 additions & 7 deletions content/kubernetes-backing-services/ingress/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Configuring a web server or load balancer used to be harder than it should be, e
Typically, services and pods have IPs only routable by the cluster network. All traffic that ends up at an edge router is either dropped or forwarded elsewhere. Conceptually, this might look like:


#####
#####
```yaml
internet
|
Expand All @@ -18,7 +18,7 @@ Typically, services and pods have IPs only routable by the cluster network. All
An Ingress is a collection of rules that allow inbound connections to reach the cluster services.


#####
#####
```yaml
internet
|
Expand Down Expand Up @@ -56,13 +56,15 @@ In order for the Ingress resource to work, the cluster must have an Ingress cont

An Ingress Controller is a daemon, deployed as a Kubernetes Pod, that watches the API server's /ingresses endpoint for updates to the Ingress resource. Its job is to satisfy requests for Ingresses.

##### :information_source: Note
> In theory, you can install several ingress controllers, for example, for different types of service.
>This would require you to specify explicitly which instance of the ingress controller to associate with. Therefore, we recommend to only have one controller per cluster.
{{% dialog type="info" icon="fa-info-circle" title="Note" %}}
In theory, you can install several ingress controllers, for example, for different types of service.
This would require you to specify explicitly which instance of the ingress controller to associate with. Therefore, we recommend to only have one controller per cluster.
{{% /dialog %}}

Here is a list of controllers we support:

* [Nginx Ingress Controller](doc:nginx-ingress-controller)

##### :information_source: Read more
> https://kubernetes.io/docs/concepts/services-networking/ingress
{{% dialog type="info" icon="fa-info-circle" title="Read More" %}}
https://kubernetes.io/docs/concepts/services-networking/ingress
{{% /dialog %}}
5 changes: 3 additions & 2 deletions content/kubernetes/kubernetes-pull-secrets.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,10 @@ kops create secret dockerconfig
```


##### :information_source: READ MORE
> [github.com/kubernetes/kops/blob/master/docs/cli/kops_create_secret_dockerconfig.md](https://github.com/kubernetes/kops/blob/master/docs/cli/kops_create_secret_dockerconfig.md)

{{% dialog type="info" icon="fa-info-circle" title="Read More" %}}
[github.com/kubernetes/kops/blob/master/docs/cli/kops_create_secret_dockerconfig.md](https://github.com/kubernetes/kops/blob/master/docs/cli/kops_create_secret_dockerconfig.md)
{{% /dialog %}}

# Kubernetes

Expand Down
20 changes: 12 additions & 8 deletions content/project-management/gost-framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,36 @@ A goal defines a broad primary outcome. This is the business driver and should r

**Example**: "Improve user productivity for most popular pages across our site"

##### :information_source: HINT
> The goal should not include any objectives, strategies or tactics. It's very high-level and should be easily understood by anyone in the business.
{{% dialog type="tip" icon="fa-info-circle" title="Tip" %}}
The goal should not include any objectives, strategies or tactics. It's very high-level and should be easily understood by anyone in the business.
{{% /dialog %}}

# Objectives

List of measurable outcomes that will be achieved by executing the strategies. Objectives describe *what* will be achieved by the goal. This is the barometer for success. It's how we will know we've achieved our goal.

**Example**: "Reduce page load times by 25%"

##### :information_source: HINT
> Typlically, these objectives are described using the following terms: "minimize", "increase", "reduce", "eliminate".
{{% dialog type="tip" icon="fa-info-circle" title="Tip" %}}
Typically, these objectives are described using the following terms: "minimize", "increase", "reduce", "eliminate".
{{% /dialog %}}

# Strategies

The specific approach that will be taken to achieve a goal and objectives. They describe *why* the objectives will be met, therefore try to map all the strategies to the objectives.

**Example**: "Use caching to reduce page load times"

##### :information_source: HINT
> Strategies should not encompass any tactics. That is, there might be multiple tacts that can be executed to fulfill the strategy. This is geared towards the CIO/CTO audience that might not be well versed on the tactics. For example, "Use Caching to reduce page load times"
{{% dialog type="tip" icon="fa-info-circle" title="Tip" %}}
Strategies should not encompass any tactics. That is, there might be multiple tacts that can be executed to fulfill the strategy. This is geared towards the CIO/CTO audience that might not be well versed on the tactics. For example, "Use Caching to reduce page load times"
{{% /dialog %}}

# Tactics

Tactics describe *how* specific tools will be used to implement the strategies. Try to map the tools to the strategies.

**Example**: "Use Memcache to cache API responses"

##### :information_source: HINT
> Tactics describe the exact solution that will be implemented by the engineering team. Typically, this is a list of technologies (E.g. MySQL, Memcache, Kubernetes, Helm, Docker, etc)
{{% dialog type="tip" icon="fa-info-circle" title="Tip" %}}
Tactics describe the exact solution that will be implemented by the engineering team. Typically, this is a list of technologies (E.g. MySQL, Memcache, Kubernetes, Helm, Docker, etc)
{{% /dialog %}}
22 changes: 11 additions & 11 deletions content/release-engineering/build-harness.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ excerpt: ''

The `build-harness` is a collection of [Makefiles](doc:makefile) to facilitate building stuff. It supports Golang projects, Dockerfiles, Helm charts, and much more.

|
------------ | --------------------------------------------------------------------------------------------------------------------------------------
GitHub Repo | <https://raw.githubusercontent.com/cloudposse/build-harness>
Build Status | [![Build Status](https://travis-ci.org/cloudposse/build-harness.svg)](https://travis-ci.org/cloudposse/build-harness)
Release | [![Release](https://img.shields.io/github/release/cloudposse/build-harness.svg)](https://github.com/cloudposse/build-harness/releases)
| | |
|:-------------|:---------------------------------------------------------------------------------------------------------------------------------------|
| GitHub Repo | <https://raw.githubusercontent.com/cloudposse/build-harness> |
| Build Status | [![Build Status](https://travis-ci.org/cloudposse/build-harness.svg)](https://travis-ci.org/cloudposse/build-harness) |
| Release | [![Release](https://img.shields.io/github/release/cloudposse/build-harness.svg)](https://github.com/cloudposse/build-harness/releases) |

It's designed to work with CI/CD systems such as Travis CI, CircleCI, CodeFresh and Jenkins.

Expand Down Expand Up @@ -39,12 +39,12 @@ Run `make help` for a list of available targets.

We leverage the `build-harness` in nearly every project on our [GitHub](doc:github).

|
--------------------------------------------------------------------------------- | --------------------------------------------------------------------------
[`github-authorized-keys`](https://github.com/cloudposse/github-authorized-keys/) | A Golang project that leverages `docker/%`, `go/%`, `travis/%` targets
[`charts`](https://github.com/cloudposse/charts/) | A collection of Helm Charts that leverages `docker/%` and `helm/%` targets
[`bastion`](https://github.com/cloudposse/bastion/) | A docker image that leverages `docker/%` and `bash/lint` targets
[`terraform-null-label`](https://github.com/cloudposse/terraform-null-label/) | A terraform module that leverages `terraform/%` targets
| | |
|:----------------------------------------------------------------------------------|:---------------------------------------------------------------------------|
| [`github-authorized-keys`](https://github.com/cloudposse/github-authorized-keys/) | A Golang project that leverages `docker/%`, `go/%`, `travis/%` targets |
| [`charts`](https://github.com/cloudposse/charts/) | A collection of Helm Charts that leverages `docker/%` and `helm/%` targets |
| [`bastion`](https://github.com/cloudposse/bastion/) | A docker image that leverages `docker/%` and `bash/lint` targets |
| [`terraform-null-label`](https://github.com/cloudposse/terraform-null-label/) | A terraform module that leverages `terraform/%` targets |

# Makefile Targets

Expand Down
2 changes: 1 addition & 1 deletion layouts/partials/flex/body-beforecontent.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ <h1>The Cloud Posse Developer Hub</h1>
{{- end}}
<h1 class="title">{{.Title}}</h1>
<div class="github-link">
<a href="{{ .Site.Params.editURL }}{{ replace .File.Dir "\\" "/" }}{{ .File.LogicalName }}" target="blank"><i class="fa fa-edit"></i>{{T "Edit-this-page"}}</a>
<a href="{{ .Site.Params.editURL }}/content/{{ .File.Path }}" target="blank"><i class="fa fa-edit"></i>{{T "Edit-this-page"}}</a>
</div>
<div class="excerpt">
{{ if .Params.excerpt }}
Expand Down
Loading