Skip to content

Commit 4a9f9ec

Browse files
authored
feat: Announcements (#737)
1 parent c2d9a27 commit 4a9f9ec

5 files changed

+157
-15
lines changed
+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: Terraform Component GitHub Repository Has Moved!
3+
authors: [goruha]
4+
slug: terraform-components-have-moved
5+
tags: [terraform, github, migration]
6+
date: 2024-11-12
7+
---
8+
9+
import Intro from '@site/src/components/Intro';
10+
import Steps from '@site/src/components/Steps';
11+
12+
<Intro>
13+
The GitHub repository for Cloud Posse's Terraform components has migrated to a dedicated GitHub organization. All documentation remains here, but all future updates, contributions, and issue tracking for the source code should now be directed to the respective repositories in the new organization.
14+
</Intro>
15+
16+
# Hello, Cloud Posse Community!
17+
18+
We're excited to announce that starting on November 12, 2024, we will begin migrating each component in the `cloudposse/terraform-aws-components` repository to individual repositories under a new GitHub organization. This change aims to improve the stability, maintainability, and usability of our components.
19+
20+
## Why This Migration?
21+
22+
Our goal is to make each component easier to use, contribute to, and maintain. This migration will allow us to:
23+
24+
<Steps>
25+
- Leverage terratest automation for better testing
26+
- Implement semantic versioning to clearly communicate updates and breaking changes
27+
- Improve PR review times and accelerate community contributions
28+
- Enable Dependabot automation for dependency management
29+
- And much more!
30+
</Steps>
31+
32+
## What to Expect Starting November 12, 2024
33+
34+
### Migration Timeline
35+
The migration will begin on November 12 and is anticipated to finish by the end of the following week.
36+
37+
### Code Freeze
38+
Starting on November 12, this repository will be set to read-only mode, marking the beginning of a code freeze. No new pull requests or issues will be accepted here after that date.
39+
40+
### New Contribution Workflow
41+
After the migration, all contributions should be directed to the new individual component repositories.
42+
43+
### Updated Documentation
44+
To support this transition, we are updating our documentation and cloudposse-component updater.
45+
46+
### Future Archiving
47+
In approximately six months, we plan to archive this repository and transfer it to the cloudposse-archives organization.
48+
49+
## Frequently Asked Questions
50+
51+
### Does this affect Terraform modules?
52+
No, only the `terraform-aws-components` repository is affected. Our Terraform modules will remain where they are.
53+
54+
We are committed to making this transition as seamless as possible. If you have any questions or concerns, please feel free to post them in this issue. Your feedback is important to us, and we appreciate your support as we embark on this new chapter!
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Automated Component Testing
3+
slug: automated-component-testing
4+
authors: [osterman]
5+
tags: [testing, components, automation]
6+
date: 2025-03-21
7+
---
8+
9+
import Intro from '@site/src/components/Intro';
10+
11+
<Intro>
12+
We're excited to announce the completion of the second phase of our Component Testing project, which has added automated testing for 27 components. This milestone follows our successful migration of 160+ Terraform Components from a monorepo to individual repositories, making them more maintainable and testable.
13+
</Intro>
14+
15+
Hello SweetOps!
16+
17+
A few months ago, we embarked on a MASSIVE project to enable Component Testing.
18+
19+
The goal is to improve the stability of our components, detect and fix integration errors, and pave the way for confident delivery of new features. In the first phase, we split the [`cloudposse/terraform-aws-components`](https://github.com/cloudposse/terraform-aws-components) monorepo consisting of 160+ Terraform Components into individual repositories in the [`cloudposse-terraform-components`](https://github.com/cloudposse-terraform-components) GitHub organization. We updated the [`cloudposse/github-action-atmos-component-updater`](https://github.com/cloudposse/github-action-atmos-component-updater) GitHub action to rewrite URLs in component manifests automatically, allowing you to smoothly migrate to new repositories.
20+
21+
## Current Status
22+
23+
Now, we are happy to announce that we have completed the second phase of this project, introducing automated tests for the first 27 components. Hopefully, you are already using components from the [new organization](https://github.com/cloudposse-terraform-components)!
24+
25+
The complete list of covered components can be found [here](https://github.com/orgs/cloudposse-terraform-components/projects/1/views/3).
26+
27+
We've developed a Go-based [testing framework](https://github.com/cloudposse/test-helpers) built on top of Terratest, optimized specifically for testing Atmos components.
28+
Additionally, we created a [step-by-step guide](https://docs.cloudposse.com/community/contribute/component-testing/) to help you write effective component tests.
29+
You can track the project's progress on [this board](https://github.com/orgs/cloudposse-terraform-components/projects/1/views/1).
30+
31+
We invite everyone to contribute to this project.
32+
33+
Please like the "Add component tests" issue in the corresponding component repository for which you are interested in prioritizing test coverage. If you want to contribute more, we have the opportunity.
34+
35+
## How can you help?
36+
37+
We really need help writing tests.
38+
39+
You can take any "Add component tests" issue with the "Good First Question" label and contribute to the test following our [documentation](https://docs.cloudposse.com/community/contribute/component-testing/).
40+
41+
We will prioritize reviewing your PRs in the `#pr-reviews` channel and help ensure they get merged smoothly.. Feel free to DM to `@Erik Osterman` or `@Igor Rodionov` in Slack with any questions or feedback.
42+
43+
:::tip Join the Conversation!
44+
Want to help shape the future of our Terraform components? We're building it *in the open* and you're invited.
45+
Join us in the [SweetOps Slack](https://cloudposse.com/slack) to chat about component testing, automation, and all things Terraform.
46+
:::
47+
48+
49+
P.S.: Huge thanks to `@RoseSecurity` for the first community-driven component test contribution [here](https://github.com/cloudposse-terraform-components/aws-vpc/pull/25).

blog/authors.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
cloudposse:
2+
name: Cloud Posse
3+
title: Cloud Posse
4+
url: https://cloudposse.com
5+
image_url: https://avatars.githubusercontent.com/u/16398900?s=200&v=4
6+
milldr:
7+
name: Daniel Miller
8+
title: Cloud Posse
9+
url: https://github.com/milldr
10+
image_url: https://github.com/milldr.png
11+
osterman:
12+
name: Erik Osterman
13+
title: Cloud Posse
14+
url: https://github.com/osterman
15+
image_url: https://github.com/osterman.png
16+
goruha:
17+
name: Igor Rodionov
18+
title: Cloud Posse
19+
url: https://github.com/goruha
20+
image_url: https://github.com/goruha.png
21+
Benbentwo:
22+
name: Ben Smith
23+
title: Cloud Posse
24+
url: https://github.com/Benbentwo
25+
image_url: https://github.com/Benbentwo.png
26+
# TODO add your name here

docusaurus.config.js

+26-10
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,27 @@ async function createConfig() {
120120
/** @type {import('@docusaurus/preset-classic').Options} */
121121
({
122122
docs: {
123-
routeBasePath: '/',
124-
sidebarPath: require.resolve('./sidebars.js'),
125-
editUrl: ({versionDocsDirPath, docPath, locale}) => {
126-
return `https://github.com/cloudposse/docs/edit/master/docs/${docPath}`;
127-
},
128-
exclude: ['README.md'],
129-
showLastUpdateTime: true,
130-
showLastUpdateAuthor: true,
131-
onInlineTags: 'warn',
132-
tags: 'tags.yml'
123+
routeBasePath: '/',
124+
sidebarPath: require.resolve('./sidebars.js'),
125+
editUrl: ({versionDocsDirPath, docPath, locale}) => {
126+
return `https://github.com/cloudposse/docs/edit/master/docs/${docPath}`;
127+
},
128+
exclude: ['README.md'],
129+
showLastUpdateTime: true,
130+
showLastUpdateAuthor: true,
131+
onInlineTags: 'warn',
132+
tags: 'tags.yml',
133+
include: ['**/*.md', '**/*.mdx']
134+
},
135+
blog: {
136+
showReadingTime: false,
137+
postsPerPage: 10,
138+
blogTitle: 'Cloud Posse Announcements',
139+
blogDescription: 'Stay up to date with the latest news and updates from Cloud Posse',
140+
include: ['**/*.{md,mdx}'],
141+
editUrl: ({blogDirPath, blogPath, permalink, locale}) => {
142+
return `https://github.com/cloudposse/docs/edit/master/${blogPath}`;
143+
},
133144
},
134145
theme: {
135146
customCss: customCssFiles,
@@ -183,6 +194,11 @@ async function createConfig() {
183194
label: 'Community',
184195
position: 'left',
185196
},
197+
{
198+
to: '/blog',
199+
label: 'Blog',
200+
position: 'left',
201+
},
186202
{
187203
type: 'search',
188204
position: 'right',

package-lock.json

+2-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)