Skip to content

Commit 9b6f4fb

Browse files
beeme1mrjbovet
andauthored
chore: add rust to ecosystem (#1001)
## This PR - adds the Rust SDK - adds the rust flagd provider ## Previews - https://deploy-preview-1001--openfeature.netlify.app/docs/reference/technologies/server/rust - https://deploy-preview-1001--openfeature.netlify.app/ecosystem?instant_search%5BrefinementList%5D%5BallTechnologies%5D%5B0%5D=Rust --------- Signed-off-by: Michael Beemer <[email protected]> Co-authored-by: Jose Bovet Derpich <[email protected]>
1 parent af7088d commit 9b6f4fb

File tree

8 files changed

+483
-2
lines changed

8 files changed

+483
-2
lines changed

docs/reference/technologies/server/rust.mdx

Lines changed: 402 additions & 0 deletions
Large diffs are not rendered by default.

src/datasets/providers/flagd.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,11 @@ export const Flagd: Provider = {
4747
href: 'https://github.com/open-feature/python-sdk-contrib/tree/main/providers/openfeature-provider-flagd',
4848
category: ['Server'],
4949
},
50+
{
51+
technology: 'Rust',
52+
vendorOfficial: true,
53+
href: 'https://github.com/open-feature/rust-sdk-contrib/tree/main/crates/flagd',
54+
category: ['Server'],
55+
},
5056
],
5157
};

src/datasets/sdks/ecosystem.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import PhpSvg from '@site/static/img/php-no-fill.svg';
1414
import IosSvg from '@site/static/img/ios-no-fill.svg';
1515
import RubySvg from '@site/static/img/ruby-no-fill.svg';
1616
import AngularSvg from '@site/static/img/angular-no-fill.svg';
17+
import RustSvg from '@site/static/img/rust-no-fill.svg';
1718

1819
const LogoMap: Record<string, EcosystemElement['logo']> = {
1920
'c-sharp-no-fill.svg': CSharpSvg,
@@ -29,6 +30,7 @@ const LogoMap: Record<string, EcosystemElement['logo']> = {
2930
'ios-no-fill.svg': IosSvg,
3031
'ruby-no-fill.svg': RubySvg,
3132
'angular-no-fill.svg': AngularSvg,
33+
'rust-no-fill.svg': RustSvg,
3234
};
3335

3436
export const ECOSYSTEM_SDKS: EcosystemElement[] = SDKS.map((sdk) => {

src/datasets/sdks/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ import { React } from './react';
1212
import { Nestjs } from './nestjs';
1313
import { Ruby } from './ruby';
1414
import { Angular } from './angular';
15+
import { Rust } from './rust';
1516

16-
export const SDKS = [Java, Nodejs, Nestjs, Dotnet, Go, Python, PHP, Web, React, Kotlin, Swift, Ruby, Angular];
17+
export const SDKS = [Java, Nodejs, Nestjs, Dotnet, Go, Python, PHP, Web, React, Kotlin, Swift, Ruby, Angular, Rust];
1718

1819
export type SDK = {
1920
/**

src/datasets/sdks/rust.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { SDK } from '.';
2+
3+
export const Rust: SDK = {
4+
name: 'Rust',
5+
category: 'Server',
6+
repo: 'rust-sdk',
7+
logoKey: 'rust-no-fill.svg',
8+
technology: 'Rust',
9+
href: '/docs/reference/technologies/server/rust',
10+
};

src/datasets/sdks/sdk-compatibility.json

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,5 +546,61 @@
546546
"path": "/docs/reference/technologies/server/ruby#extending"
547547
}
548548
}
549+
},
550+
{
551+
"name": "Rust",
552+
"path": "/docs/reference/technologies/server/rust",
553+
"category": "Server",
554+
"release": {
555+
"href": "https://github.com/open-feature/rust-sdk/releases/tag/v0.2.5",
556+
"version": "0.2.5",
557+
"stable": false
558+
},
559+
"spec": {
560+
"href": "https://github.com/open-feature/spec/releases/tag/v0.5.2",
561+
"version": "0.5.2"
562+
},
563+
"features": {
564+
"Providers": {
565+
"status": "",
566+
"path": "/docs/reference/technologies/server/rust#providers"
567+
},
568+
"Targeting": {
569+
"status": "",
570+
"path": "/docs/reference/technologies/server/rust#targeting"
571+
},
572+
"Hooks": {
573+
"status": "",
574+
"path": "/docs/reference/technologies/server/rust#hooks"
575+
},
576+
"Logging": {
577+
"status": "",
578+
"path": "/docs/reference/technologies/server/rust#logging"
579+
},
580+
"Domains": {
581+
"status": "",
582+
"path": "/docs/reference/technologies/server/rust#named-clients"
583+
},
584+
"Eventing": {
585+
"status": "",
586+
"path": "/docs/reference/technologies/server/rust#eventing"
587+
},
588+
"Tracking": {
589+
"status": "",
590+
"path": "/docs/reference/technologies/server/rust"
591+
},
592+
"Transaction Context Propagation": {
593+
"status": "",
594+
"path": "/docs/reference/technologies/server/rust"
595+
},
596+
"Shutdown": {
597+
"status": "",
598+
"path": "/docs/reference/technologies/server/rust#shutdown"
599+
},
600+
"Extending": {
601+
"status": "",
602+
"path": "/docs/reference/technologies/server/rust#extending"
603+
}
604+
}
549605
}
550606
]

src/datasets/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ export type EcosystemElement = {
1414
category: Category[];
1515
};
1616

17-
// TODO: should this just be a list of technolgies from the SDKs?
1817
export type Technology =
1918
| 'JavaScript'
2019
| 'Java'
@@ -28,6 +27,7 @@ export type Technology =
2827
| 'Ruby'
2928
| 'React'
3029
| 'Angular'
30+
| 'Rust'
3131
| 'NestJS';
3232

3333
export type Category = 'Server' | 'Client';

static/img/rust-no-fill.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)