https://github.com/lfn-cnti/testsuite
📞📱☎️📡🌐 Cloud Native Telecom Initiative (CNTI) Test Catalog is a tool to check for and provide feedback on the use of K8s + cloud native best practices in networking applications and platforms
https://github.com/lfn-cnti/testsuite
best-practices cloud-native cnf cnfs conformance-tests crystal good-first-issue k8s kubernetes
Last synced: 5 months ago
JSON representation
📞📱☎️📡🌐 Cloud Native Telecom Initiative (CNTI) Test Catalog is a tool to check for and provide feedback on the use of K8s + cloud native best practices in networking applications and platforms
- Host: GitHub
- URL: https://github.com/lfn-cnti/testsuite
- Owner: lfn-cnti
- License: apache-2.0
- Created: 2020-01-17T20:42:03.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T10:01:23.000Z (5 months ago)
- Last Synced: 2025-05-12T11:24:07.805Z (5 months ago)
- Topics: best-practices, cloud-native, cnf, cnfs, conformance-tests, crystal, good-first-issue, k8s, kubernetes
- Language: Mustache
- Homepage: https://wiki.lfnetworking.org/display/LN/Test+Catalog
- Size: 33.1 MB
- Stars: 180
- Watchers: 20
- Forks: 72
- Open Issues: 119
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Codeowners: .github/CODEOWNERS
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# CNTi Test Catalog
| Main |
| ------------------------------------------------------------------------------------------------------------------------------------------- |
| [](https://github.com/lfn-cnti/testsuite/actions) |The CNTi Test Catalog is an open source and vendor neutral tool that can be used to validate a telco application's adherence to [cloud native principles](https://networking.cloud-native-principles.org/) and best practices.
This Test Catalog focus area is one part of LF Networking's [Cloud Native Telecom Initiative (CNTi)](https://wiki.lfnetworking.org/pages/viewpage.action?pageId=113213592) and works closely with the [CNTi Best Practices](https://wiki.lfnetworking.org/display/LN/Best+Practices) and [CNTi Certification](https://wiki.lfnetworking.org/display/LN/Certification) focus areas.
## Installation and Usage
To get the CNTi Test Catalog up and running, see the [Installation Guide](INSTALL.md).
#### To give it a try immediately you can use these quick install steps
Prereqs: Kubernetes cluster, wget, curl, helm 3.1.1 or greater on your system already.
1. Install the latest test suite binary: `source <(curl -s https://raw.githubusercontent.com/lfn-cnti/testsuite/main/curl_install.sh)`
2. Run `setup` to prepare the cnf-testsuite: `cnf-testsuite setup`
3. Pull down an example CNF configuration to try: `curl -o cnf-testsuite.yml https://raw.githubusercontent.com/lfn-cnti/testsuite/main/example-cnfs/coredns/cnf-testsuite.yml`
4. Initialize the test suite for using the CNF: `cnf-testsuite cnf_install cnf-config=./cnf-testsuite.yml`
5. Run all of application/workload tests: `cnf-testsuite workload`#### More Usage docs
Check out the [usage documentation](USAGE.md) for more info about invoking commands and logging.
## Cloud Native Test Categories
The CNTi Test Catalog will inspect CNFs for the following characteristics:
- **Configuration** - The CNF's configuration should be managed in a declarative manner, using ConfigMaps, Operators, or other declarative interfaces.
- **Compatibility, Installability & Upgradability** - CNFs should work with any Certified Kubernetes product and any CNI-compatible network that meet their functionality requirements while using standard, in-band deployment tools such as Helm (version 3) charts.
- **Microservice** - The CNF should be developed and delivered as a microservice.
- **State** - The CNF's state should be stored in a custom resource definition or a separate database (e.g. etcd) rather than requiring local storage. The CNF should also be resilient to node failure.
- **Reliability, Resilience & Availability** - CNFs should be reliable, resilient and available to failures inevitable in cloud environments. CNFs should be tested to ensure they are designed to deal with non-carrier-grade shared cloud HW/SW platforms.
- **Observability & Diagnostics** - CNFs should externalize their internal states in a way that supports metrics, tracing, and logging.
- **Security** - CNF containers should be isolated from one another and the host. CNFs are to be verified against any common CVE or other vulnerabilities.See the [Test Documentation](docs/TEST_DOCUMENTATION.md) for a complete overview of the tests.
## Contributing
Welcome! We gladly accept contributions on new tests, example CNFs, updates to documentation, enhancements, bug reports, and more.
- [Contributing guide](CONTRIBUTING.md)
- [Good first issues](https://github.com/lfn-cnti/testsuite/labels/good%20first%20issue)
- [Contributions welcome](https://github.com/lfn-cnti/testsuite/labels/contributions-welcome)## Communication and Community Meetings
- Join the conversation on [LFN Tech's Slack](https://lfntech.slack.com/) channel [#cnti](https://lfntech.slack.com/archives/C06HQGWK4NL)
- Join the weekly CNTi Test Catalog meeting
- [Meeting details](https://lf-networking.atlassian.net/wiki/spaces/CNTi/pages/130416641/Cloud+Native+Telecom+Initiative+CNTi#Test-Catalog)
- [Meeting minutes](https://docs.google.com/document/d/1yjL079TR0L1q__BRuhREeXfx5MtAmjPzbFZlZUeBsK4/edit)## Code of Conduct
The CNTi community follows the [LF's Code of Conduct](https://lfprojects.org/policies/code-of-conduct/).
## License Terms
The CNTi Test Catalog is available under the [Apache 2 license](LICENSE.md).