Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

An Item in the EWC Community Hub is a self-contained repository that helps others deploy, configure, or integrate technology using:

  • Ansible Playbooks

  • Terraform Modules

  • Helm Charts

  • Or a combination of these

You have full flexibility in structuring your Item — but we recommend checking out existing examples and reusing proven building blocks from the EWC ecosystem.


1. Before You Start

  • Think about the purpose of your item — is it deploying infrastructure, configuring software, or bundling tools together?

  • Decide which tools fit best:

    • Terraform → Infrastructure provisioning

    • Ansible → Configuration management

    • Helm → Kubernetes application deployment

  • Review our EWC shared code to save time and ensure consistency.

2. Look at Example Items

Here are some existing Items you can explore for inspiration:

  • Example Terraform Module: [link to example]

  • Example Ansible Playbook: [link to example]

  • Example Helm Chart: [link to example]

  • Hybrid Example (Terraform + Ansible): [link to example]

These will give you ideas for:

  • Directory structure

  • Documentation style (README.md usage)

  • CI/CD workflows

  • Dependency management


3. Reuse Shared Building Blocks

The EWC GitHub repo provides common modules, roles, and templates you can integrate into your Item:

TypeExampleDescription
Ansible Role[link to role]Prebuilt tasks for a common service or component
Terraform Module[link to module]Ready-made infrastructure building blocks
Helm Chart Template[link to chart]Base chart structure for Kubernetes apps


Recommended Good Practices

  • Documentation: Always include a README.md explaining:

    • Purpose

    • Usage instructions

    • Dependencies

    • Example commands

  • Variables & Parameters: Use defaults in Ansible or variables.tf in Terraform to make your item configurable.

  • Testing: If possible, add automated tests (e.g., molecule for Ansible, terraform validate, helm lint).

  • Licensing: Add a LICENSE file.

  • Versioning: Use tags/releases to help others track changes.



5. Submitting Your Item

Once your Item is ready:

  1. Host it in a public repository (GitHub, GitLab, etc.)

  2. Add it to the Community Hub via our contribution process Using Items in the Community Hub

  3. Share it with the community! 🎉

Item structure can be chosen freely by the contributors. This page want to provide some guidance on existing building blocks that you could reuse in your item.

Building blocks to build new ones: Proposal for shared EWC code with users

...