Skip to content

Commit 957afbc

Browse files
authored
Merge pull request #1163 from grafana/paul/extn-graduation
Add explanation of the extension graduation process
2 parents 163efb6 + 2e8540e commit 957afbc

File tree

3 files changed

+40
-0
lines changed

3 files changed

+40
-0
lines changed
File renamed without changes.
File renamed without changes.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: Extension Graduation
3+
excerpt: Some extensions are created with the intent to become a part of core of k6.
4+
hideFromSidebar: false
5+
---
6+
7+
Some _Go_ extensions may one day be available within the k6 binary.
8+
These select extensions will go through different phases to become core functionality.
9+
10+
Beginning the process as an extension allows us to iterate on the feature quickly, without worrying about breaking changes, while providing some value to our users and potentially getting early feedback.
11+
12+
The three phases which a _core-bound_ extension will go through include:
13+
14+
     **_extension_ -> _experimental module_ -> _core module_**
15+
16+
### Extension
17+
Most of the extensions in the k6 ecosystem will remain an _extension_ requiring using [xk6](https://github.com/grafana/xk6) to incorporate the custom functionality.
18+
These extensions will be a mix of Grafana- and community-provided features and _may_ be included in the [Extensions Registry](/extensions/get-started/explore/).
19+
20+
<Blockquote mod="note" title="">
21+
22+
Only Grafana-owned extensions may progress beyond the _extension_ phase to become _experimental_ or _core modules_.
23+
24+
</Blockquote>
25+
26+
### Experimental Module
27+
This phase is the first exposure to core k6.
28+
The extension is still maintained outside the core of k6 but imported as a Go module, no longer requiring using xk6.
29+
30+
There should be a reasonably high degree of quality and stability at this point.
31+
This phase will allow adoption by a broader subset of OSS and cloud users while getting actionable feedback about the user experience.
32+
The key will be to achieve a balance between usability and stability.
33+
34+
### Core Module
35+
The stabilized feature is now part of the standard k6 product as a built-in module.
36+
An extension may be in the _experimental module_ phase for an extended time before progressing as a core module.
37+
38+
The extension code will be in the main k6 repository, with the old extension repository archived.
39+
Options from the _experimental module_ phase will be deprecated and removed after two k6 releases.
40+
This time frame should provide ample time for users to upgrade scripts for the new usage.

0 commit comments

Comments
 (0)