Skip to content
This repository has been archived by the owner on Jan 31, 2021. It is now read-only.

Commit

Permalink
Migrate readme yaml (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
vadim-hleif committed Jul 18, 2018
1 parent 2324fb5 commit d215888
Show file tree
Hide file tree
Showing 7 changed files with 282 additions and 63 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@
.terraform/
.idea
terraform-aws-kops-metadata.iml

.build-harness
build-harness
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
SHELL := /bin/bash

# List of targets the `readme` target should call before generating the readme
export README_DEPS ?= docs/targets.md docs/terraform.md

-include $(shell curl -sSL -o .build-harness "https://git.io/build-harness"; echo .build-harness)

## Lint terraform code
lint:
$(SELF) terraform/install terraform/get-modules terraform/get-plugins terraform/lint terraform/validate
$(SELF) terraform/install terraform/get-modules terraform/get-plugins terraform/lint terraform/validate
182 changes: 133 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,29 @@
# terraform-aws-kops-metadata [![Build Status](https://travis-ci.org/cloudposse/terraform-aws-kops-metadata.svg?branch=master)](https://travis-ci.org/cloudposse/terraform-aws-kops-metadata)
<!-- This file was automatically generated by the `build-harness`. Make all changes to `README.yaml` and run `make readme` to rebuild this file. -->

[![Cloud Posse](https://cloudposse.com/logo-300x69.svg)](https://cloudposse.com)

# terraform-aws-kops-metadata [![Build Status](https://travis-ci.org/cloudposse/terraform-aws-kops-metadata.svg?branch=master)](https://travis-ci.org/cloudposse/terraform-aws-kops-metadata) [![Latest Release](https://img.shields.io/github/release/cloudposse/terraform-aws-kops-metadata.svg)](https://github.com/cloudposse/terraform-aws-kops-metadata/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com)


Terraform module to lookup resources within a [Kops](https://github.com/kubernetes/kops) cluster


---

This project is part of our comprehensive ["SweetOps"](https://docs.cloudposse.com) approach towards DevOps.


It's 100% Open Source and licensed under the [APACHE2](LICENSE).










## Usage

```hcl
Expand All @@ -16,50 +37,92 @@ module "kops_metadata" {
```


## Variables

| Name | Default | Description | Required |
|:-----------------|:---------------------|:---------------------------------------------------------------------------------|:--------:|
| `dns_zone` | `` | Name of the Kops DNS zone | Yes |
| `enabled` | `true` | Set to `false` to prevent the module from creating or accessing any resources | No |
| `bastion_name` | `bastion` | Bastion server subdomain name in the Kops DNS zone | No |
| `masters_name` | `masters` | K8s masters subdomain name in the Kops DNS zone | No |
| `nodes_name` | `nodes` | K8s nodes subdomain name in the Kops DNS zone | No |



## Makefile Targets
```
Available targets:
help This help screen
help/all Display help for all targets
lint Lint terraform code
```

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|:----:|:-----:|:-----:|
| bastion_name | Bastion server subdomain name in the Kops DNS zone | string | `bastion` | no |
| dns_zone | Name of the Kops DNS zone | string | - | yes |
| enabled | Set to false to prevent the module from creating or accessing any resources | string | `true` | no |
| masters_name | K8s masters subdomain name in the Kops DNS zone | string | `masters` | no |
| nodes_name | K8s nodes subdomain name in the Kops DNS zone | string | `nodes` | no |

## Outputs

| Name | Description |
|:--------------------------------|:---------------------------------------|
| `vpc_id` | Kops VPC ID |
| `private_subnet_ids` | Private subnets IDs in the VPC |
| `utility_subnet_ids` | Utility submets IDs in the VPC |
| `bastion_security_group_arn` | Bastion server Security Group ARN |
| `bastion_security_group_id` | Bastion server Security Group ID |
| `masters_security_group_arn` | K8s masters Security Group ARN |
| `masters_security_group_id` | K8s masters Security Group ID |
| `nodes_security_group_arn` | K8s nodes Security Group ARN |
| `nodes_security_group_id` | K8s nodes Security Group ID |
| `masters_role_name` | Kops masters Role name |
| `masters_role_arn` | Kops masters Role ARN |
| `nodes_role_name` | Kops nodes Role name |
| `nodes_role_arn` | Kops nodes Role ARN |
| Name | Description |
|------|-------------|
| bastion_security_group_arn | Bastion server Security Group ARN |
| bastion_security_group_id | Bastion server Security Group ID |
| masters_role_arn | K8s nodes Security Group ID |
| masters_role_name | K8s nodes Security Group ARN |
| masters_security_group_arn | K8s masters Security Group ARN |
| masters_security_group_id | K8s masters Security Group ID |
| nodes_role_arn | Kops nodes Role ARN |
| nodes_role_name | Kops nodes Role name |
| nodes_security_group_arn | Kops masters Role name |
| nodes_security_group_id | Kops masters Role ARN |
| private_subnet_ids | Private subnets IDs in the VPC |
| utility_subnet_ids | Utility submets IDs in the VPC |
| vpc_id | Kops VPC ID |



## Credits

Thanks to [Gladly.com](https://www.gladly.com/) for the inspiration with this wonderful module:
## Related Projects

Check out these related projects.

- [terraform-aws-kops-external-dns](https://github.com/cloudposse/terraform-aws-kops-external-dns) - Terraform module to provision an IAM role for external-dns running in a Kops cluster, and attach an IAM policy to the role with permissions to modify Route53 record sets
- [terraform-aws-kops-ecr](https://github.com/cloudposse/terraform-aws-kops-ecr) - Terraform module to provision an ECR repository and grant users and kubernetes nodes access to it.
- [terraform-aws-kops-state-backend](https://github.com/cloudposse/terraform-aws-kops-state-backend) - Easily bootstrap kops clusters (DNS & S3 Bucket)
- [terraform-aws-kops-vpc-peering](https://github.com/cloudposse/terraform-aws-kops-vpc-peering) - Terraform module to create a peering connection between a backing services VPC and a VPC created by Kops
- [terraform-aws-kops-route53](https://github.com/cloudposse/terraform-aws-kops-route53) - Terraform module to lookup the IAM role associated with `kops` masters, and attach an IAM policy to the role with permissions to modify Route53 record sets
- [terraform-aws-kops-vault-backend](https://github.com/cloudposse/terraform-aws-kops-vault-backend) - Terraform module to provision an S3 bucket for HashiCorp Vault secrets storage, and an IAM role and policy with permissions for Kops nodes to access the bucket
- [terraform-aws-kops-chart-repo](https://github.com/cloudposse/terraform-aws-kops-chart-repo) - Terraform module to provision an S3 bucket for Helm chart repository, and an IAM role and policy with permissions for Kops nodes to access the bucket

https://github.com/sagansystems/terraform-aws-vpc-kops


## Help

**Got a question?**

File a GitHub [issue](https://github.com/cloudposse/terraform-aws-kops-metadata/issues), send us an [email](mailto:hello@cloudposse.com) or reach out to us on [Gitter](https://gitter.im/cloudposse/).
File a GitHub [issue](https://github.com/cloudposse/terraform-aws-kops-metadata/issues), send us an [email][email] or join our [Slack Community][slack].

## Commerical Support

Work directly with our team of DevOps experts via email, slack, and video conferencing.

We provide *commercial support* for all of our [Open Source][github] projects. As a *Dedicated Support* customer, you have access to our team of subject matter experts at a fraction of the cost of a fulltime engineer.

[![E-Mail](https://img.shields.io/badge/email-hello@cloudposse.com-blue.svg)](mailto:hello@cloudposse.com)

- **Questions.** We'll use a Shared Slack channel between your team and ours.
- **Troubleshooting.** We'll help you triage why things aren't working.
- **Code Reviews.** We'll review your Pull Requests and provide constructive feedback.
- **Bug Fixes.** We'll rapidly work to fix any bugs in our projects.
- **Build New Terraform Modules.** We'll develop original modules to provision infrastructure.
- **Cloud Architecture.** We'll assist with your cloud strategy and design.
- **Implementation.** We'll provide hands on support to implement our reference architectures.


## Community Forum

Get access to our [Open Source Community Forum][slack] on Slack. It's **FREE** to join for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build *sweet* infrastructure.

## Contributing

### Bug Reports & Feature Requests
Expand All @@ -68,22 +131,28 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-kops-

### Developing

If you are interested in being a contributor and want to get involved in developing `terraform-aws-kops-metadata`, we would love to hear from you! Shoot us an [email](mailto:hello@cloudposse.com).
If you are interested in being a contributor and want to get involved in developing this project or [help out](https://github.com/orgs/cloudposse/projects/3) with our other projects, we would love to hear from you! Shoot us an [email](mailto:hello@cloudposse.com).

In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.

1. **Fork** the repo on GitHub
2. **Clone** the project to your own machine
3. **Commit** changes to your own branch
4. **Push** your work back up to your fork
5. Submit a **Pull request** so that we can review your changes
5. Submit a **Pull Request** so that we can review your changes

**NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request!


## Copyright

Copyright © 2017-2018 [Cloud Posse, LLC](https://cloudposse.com)

**NOTE:** Be sure to merge the latest from "upstream" before making a pull request!


## License
## License

[APACHE 2.0](LICENSE) © 2018 [Cloud Posse, LLC](https://cloudposse.com)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

See [LICENSE](LICENSE) for full details.

Expand All @@ -95,7 +164,7 @@ See [LICENSE](LICENSE) for full details.
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0
https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
Expand All @@ -105,31 +174,46 @@ See [LICENSE](LICENSE) for full details.
under the License.


## About

`terraform-aws-kops-metadata` is maintained and funded by [Cloud Posse, LLC][website].

![Cloud Posse](https://cloudposse.com/logo-300x69.png)


Like it? Please let us know at <hello@cloudposse.com>

We love [Open Source Software](https://github.com/cloudposse/)!

See [our other projects][community]
or [hire us][hire] to help build your next cloud platform.

## Trademarks

All other trademarks referenced herein are the property of their respective owners.

## About

This project is maintained and funded by [Cloud Posse, LLC][website]. Like it? Please let us know at <hello@cloudposse.com>

[![Cloud Posse](https://cloudposse.com/logo-300x69.svg)](https://cloudposse.com)

We're a [DevOps Professional Services][hire] company based in Los Angeles, CA. We love [Open Source Software](https://github.com/cloudposse/)!

We offer paid support on all of our projects.

Check out [our other projects][github], [apply for a job][jobs], or [hire us][hire] to help with your cloud strategy and implementation.

[docs]: https://docs.cloudposse.com/
[website]: https://cloudposse.com/
[community]: https://github.com/cloudposse/
[github]: https://github.com/cloudposse/
[jobs]: https://cloudposse.com/jobs/
[hire]: https://cloudposse.com/contact/
[slack]: https://slack.cloudposse.com/
[linkedin]: https://www.linkedin.com/company/cloudposse
[twitter]: https://twitter.com/cloudposse/
[email]: mailto:hello@cloudposse.com


### Contributors

| [![Andriy Knysh][aknysh_avatar]][aknysh_homepage]<br/>[Andriy Knysh][aknysh_homepage] |
|---|

## Contributors
[aknysh_homepage]: https://github.com/aknysh
[aknysh_avatar]: https://github.com/aknysh.png?size=150

| [![Erik Osterman][erik_img]][erik_web]<br/>[Erik Osterman][erik_web] | [![Andriy Knysh][andriy_img]][andriy_web]<br/>[Andriy Knysh][andriy_web] |
|-------------------------------------------------------|------------------------------------------------------------------|

[erik_img]: http://s.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb?s=144
[erik_web]: https://github.com/osterman/
[andriy_img]: https://avatars0.githubusercontent.com/u/7356997?v=4&u=ed9ce1c9151d552d985bdf5546772e14ef7ab617&s=144
[andriy_web]: https://github.com/aknysh/
77 changes: 77 additions & 0 deletions README.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
#
# This is the canonical configuration for the `README.md`
# Run `make readme` to rebuild the `README.md`
#

# Name of this project
name: terraform-aws-kops-metadata

# Logo for this project
#logo: docs/logo.png

# License of this project
license: "APACHE2"

# Canonical GitHub repo
github_repo: cloudposse/terraform-aws-kops-metadata

# Badges to display
badges:
- name: "Build Status"
image: "https://travis-ci.org/cloudposse/terraform-aws-kops-metadata.svg?branch=master"
url: "https://travis-ci.org/cloudposse/terraform-aws-kops-metadata"
- name: "Latest Release"
image: "https://img.shields.io/github/release/cloudposse/terraform-aws-kops-metadata.svg"
url: "https://github.com/cloudposse/terraform-aws-kops-metadata/releases/latest"
- name: "Slack Community"
image: "https://slack.cloudposse.com/badge.svg"
url: "https://slack.cloudposse.com"

related:
- name: "terraform-aws-kops-external-dns"
description: "Terraform module to provision an IAM role for external-dns running in a Kops cluster, and attach an IAM policy to the role with permissions to modify Route53 record sets"
url: "https://github.com/cloudposse/terraform-aws-kops-external-dns"
- name: "terraform-aws-kops-ecr"
description: "Terraform module to provision an ECR repository and grant users and kubernetes nodes access to it."
url: "https://github.com/cloudposse/terraform-aws-kops-ecr"
- name: "terraform-aws-kops-state-backend"
description: "Easily bootstrap kops clusters (DNS & S3 Bucket)"
url: "https://github.com/cloudposse/terraform-aws-kops-state-backend"
- name: "terraform-aws-kops-vpc-peering"
description: "Terraform module to create a peering connection between a backing services VPC and a VPC created by Kops"
url: "https://github.com/cloudposse/terraform-aws-kops-vpc-peering"
- name: "terraform-aws-kops-route53"
description: "Terraform module to lookup the IAM role associated with `kops` masters, and attach an IAM policy to the role with permissions to modify Route53 record sets"
url: "https://github.com/cloudposse/terraform-aws-kops-route53"
- name: "terraform-aws-kops-vault-backend"
description: "Terraform module to provision an S3 bucket for HashiCorp Vault secrets storage, and an IAM role and policy with permissions for Kops nodes to access the bucket"
url: "https://github.com/cloudposse/terraform-aws-kops-vault-backend"
- name: "terraform-aws-kops-chart-repo"
description: "Terraform module to provision an S3 bucket for Helm chart repository, and an IAM role and policy with permissions for Kops nodes to access the bucket"
url: "https://github.com/cloudposse/terraform-aws-kops-chart-repo"

# Short description of this project
description: |-
Terraform module to lookup resources within a [Kops](https://github.com/kubernetes/kops) cluster
# How to use this project
usage: |-
```hcl
module "kops_metadata" {
source = "git::https://github.com/cloudposse/terraform-aws-kops-metadata.git?ref=master"
dns_zone = "cluster.domain.com"
bastion_name = "bastion"
masters_name = "masters"
nodes_name = "nodes"
}
```
include:
- "docs/targets.md"
- "docs/terraform.md"

# Contributors to this project
contributors:
- name: "Andriy Knysh"
github: "aknysh"
9 changes: 9 additions & 0 deletions docs/targets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Makefile Targets
```
Available targets:
help This help screen
help/all Display help for all targets
lint Lint terraform code
```
29 changes: 29 additions & 0 deletions docs/terraform.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|:----:|:-----:|:-----:|
| bastion_name | Bastion server subdomain name in the Kops DNS zone | string | `bastion` | no |
| dns_zone | Name of the Kops DNS zone | string | - | yes |
| enabled | Set to false to prevent the module from creating or accessing any resources | string | `true` | no |
| masters_name | K8s masters subdomain name in the Kops DNS zone | string | `masters` | no |
| nodes_name | K8s nodes subdomain name in the Kops DNS zone | string | `nodes` | no |

## Outputs

| Name | Description |
|------|-------------|
| bastion_security_group_arn | Bastion server Security Group ARN |
| bastion_security_group_id | Bastion server Security Group ID |
| masters_role_arn | K8s nodes Security Group ID |
| masters_role_name | K8s nodes Security Group ARN |
| masters_security_group_arn | K8s masters Security Group ARN |
| masters_security_group_id | K8s masters Security Group ID |
| nodes_role_arn | Kops nodes Role ARN |
| nodes_role_name | Kops nodes Role name |
| nodes_security_group_arn | Kops masters Role name |
| nodes_security_group_id | Kops masters Role ARN |
| private_subnet_ids | Private subnets IDs in the VPC |
| utility_subnet_ids | Utility submets IDs in the VPC |
| vpc_id | Kops VPC ID |

Loading

0 comments on commit d215888

Please sign in to comment.