{"id":25776555,"url":"https://github.com/citrusframework/yaks","last_synced_at":"2026-01-05T07:05:42.704Z","repository":{"id":38050517,"uuid":"196973701","full_name":"citrusframework/yaks","owner":"citrusframework","description":"YAKS is a platform to enable Cloud Native BDD testing on Kubernetes","archived":false,"fork":false,"pushed_at":"2024-06-21T13:49:14.000Z","size":6883,"stargazers_count":84,"open_issues_count":59,"forks_count":28,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-23T08:29:20.103Z","etag":null,"topics":["bdd","cloud-native","kubernetes","messaging","testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/citrusframework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-07-15T10:04:29.000Z","updated_at":"2025-01-25T18:17:02.000Z","dependencies_parsed_at":"2023-10-30T01:37:55.445Z","dependency_job_id":"ce97aa30-a027-4732-b7a5-7d6b6c60b087","html_url":"https://github.com/citrusframework/yaks","commit_stats":{"total_commits":614,"total_committers":9,"mean_commits":68.22222222222223,"dds":0.1400651465798045,"last_synced_commit":"caa44e8340e540e92596896828ecc55392149d59"},"previous_names":[],"tags_count":441,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citrusframework%2Fyaks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citrusframework%2Fyaks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citrusframework%2Fyaks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citrusframework%2Fyaks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/citrusframework","download_url":"https://codeload.github.com/citrusframework/yaks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240987435,"owners_count":19889334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdd","cloud-native","kubernetes","messaging","testing"],"created_at":"2025-02-27T06:01:26.628Z","updated_at":"2026-01-05T07:05:42.631Z","avatar_url":"https://github.com/citrusframework.png","language":"Java","funding_links":[],"categories":["测试"],"sub_categories":[],"readme":"# YAKS ![logo][1] \n\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.citrusframework.yaks/yaks-parent/badge.svg?style=flat-square)](https://search.maven.org/search?q=g:org.citrusframework.yaks)\n[![build](https://github.com/citrusframework/yaks/workflows/build/badge.svg?branch=main)](https://github.com/citrusframework/yaks/actions) \n[![nightly](https://github.com/citrusframework/yaks/workflows/nightly/badge.svg)](https://github.com/citrusframework/yaks/actions)\n[![Licensed under Apache License version 2.0](https://img.shields.io/github/license/openshift/origin.svg?maxAge=2592000)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Chat on Zulip](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://citrusframework.zulipchat.com)\n\n## What is YAKS!?\n\nYAKS is a framework to enable Cloud Native BDD testing on Kubernetes! Cloud Native here means that your tests execute\nas Kubernetes PODs.\n\nAs a user you can run tests by creating a `Test` custom resource on your favorite Kubernetes based cloud provider.\nOnce the YAKS operator is installed it will listen for custom resources and automatically prepare a test runtime\nthat runs the test as part of the cloud infrastructure.\n\nTests in YAKS follow the BDD (Behavior Driven Development) concept and represent feature specifications written\nin [Gherkin](https://cucumber.io/docs/gherkin/) syntax.\n\nAs a framework YAKS provides a set of predefined [Cucumber](https://cucumber.io/) steps which help you to connect with different\nmessaging transports (Http REST, JMS, Kafka, Knative eventing) and verify message data with assertions on the header and body content.\n\nYAKS adds its functionality on top of on [Citrus](https://citrusframework.org) for connecting to different endpoints as a client\nand/or server.\n\nRead more about YAKS in the [reference manual](https://citrusframework.org/yaks/reference/html/index.html)\n\n## Getting started\n\nAssuming you have a Kubernetes playground and that you are connected to a namespace on that cluster \njust write a `helloworld.feature` BDD file with the following content:\n\n_helloworld.feature_\n```gherkin\nFeature: Hello\n\n  Scenario: Print hello message\n    Given print 'Hello from YAKS!'\n```\n\nYou can then execute the following command using the [YAKS CLI tool](https://github.com/citrusframework/yaks/releases/):\n\n```bash\nyaks run helloworld.feature\n```\n\nThis runs the test immediately on the current namespace in your connected Kubernetes cluster.\nNothing else is needed.\n\nPlease continue reading the [documentation](https://citrusframework.org/yaks/reference/html/index.html) and learn how to \ninstall and get started working with YAKS.\n\n## For YAKS developers\n\nRequirements:\n\n- Go 1.18+\n- Operator SDK 0.19.4+\n- Maven 3.8.4+\n- Git client\n\nYou can build the YAKS project and get the `yaks` CLI by running:\n\n```\nmake build\n```\n\nIf you want to build the operator image locally for development in Minishift for instance, then:\n\n```\n# Build binaries and images\neval $(minishift docker-env)\nmake clean images-no-test\n```\n\nIf the operator pod is running, just delete it to let it grab the new image.\n\n```\noc delete pod yaks\n```\n\n [1]: /docs/logo-30x30.png \"YAKS\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitrusframework%2Fyaks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcitrusframework%2Fyaks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitrusframework%2Fyaks/lists"}