Table of Contents |
---|
Overview
By contributing to the Community Hub, you help spread ideas and hands-on knowledge, reduce duplication of efforts and resources, and accelerate the adoption of the EWC and its toolset. Whether you are a new user who's testing an Item for the first time, or experienced contributor releasing your third Item and helping maintain a forth one, we ask the community in general to follow our code of conduct whenever interacting with other members (see Legal, Governance and Support for context).
Your contribution does not need be a fully fleshed software library. In fact, engaging in Q&A with other members over the peer-support channel on the official discussion platform its a grate way to contribute.
But if you would like to take your collaboration to the next level, and have the technical know-how and resources, we welcome you to consider the following options:
- Contributing to someone else's Item: From testing to submitting patches for featured Items
- Contributing with your own new Item: Featuring your own Items
By this and other similar means of collaboration, it is possible improve user-experience of the EWC, and save precious development hours that can be instead invested in solving the problems that really matter to the Scientific Community.
Related Articles
Children Display |
---|
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:
Type | Example | Description |
---|---|---|
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 orvariables.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:
...
Host it in a public repository (GitHub, GitLab, etc.)
...
Add it to the Community Hub via our contribution process Using Items in the Community Hub
...