Skip to content

Commit 042d4c4

Browse files
authored
Pull request update/250604
bf24a4a OSN-867. Clean up login page and common texts from MLOps-related points bb25dbd OSN-841. Force FinOps-only mode 2f3a017 OSN-839. Remove MLOps removal announcement to UI
2 parents 8ee18f0 + bf24a4a commit 042d4c4

File tree

56 files changed

+206
-1029
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+206
-1029
lines changed

ngui/server/api/restapi/client.ts

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
MutationUpdateOrganizationPerspectivesArgs,
1212
QueryOrganizationPerspectivesArgs,
1313
QueryOrganizationFeaturesArgs,
14-
MutationUpdateOptscaleCapabilityArgs,
1514
QueryOrganizationConstraintArgs,
1615
QueryResourceCountBreakdownArgs,
1716
QueryExpensesDailyBreakdownArgs,
@@ -202,33 +201,6 @@ class RestApiClient extends BaseClient {
202201
return parsedFeatures;
203202
}
204203

205-
async getOptscaleCapability(organizationId: string) {
206-
const path = `organizations/${organizationId}/options/optscale_mode`;
207-
const capability = await this.get(path);
208-
209-
const parsedCapability = JSON.parse(capability.value);
210-
211-
return parsedCapability.value;
212-
}
213-
214-
async updateOptscaleCapability(
215-
organizationId: MutationUpdateOptscaleCapabilityArgs["organizationId"],
216-
value: MutationUpdateOptscaleCapabilityArgs["value"]
217-
) {
218-
const path = `organizations/${organizationId}/options/optscale_mode`;
219-
const capability = await this.patch(path, {
220-
body: {
221-
value: JSON.stringify({
222-
value,
223-
}),
224-
},
225-
});
226-
227-
const parsedCapability = JSON.parse(capability.value);
228-
229-
return parsedCapability.value;
230-
}
231-
232204
async getOrganizationThemeSettings(organizationId: string) {
233205
const path = `organizations/${organizationId}/options/theme_settings`;
234206
const settings = await this.get(path);

ngui/server/graphql/resolvers/restapi.generated.ts

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,6 @@ export type Mutation = {
499499
updateEmployeeEmail?: Maybe<EmployeeEmail>;
500500
updateEmployeeEmails?: Maybe<Array<Maybe<EmployeeEmail>>>;
501501
updateInvitation?: Maybe<Scalars['String']['output']>;
502-
updateOptscaleCapability?: Maybe<OptscaleCapability>;
503502
updateOrganization?: Maybe<Organization>;
504503
updateOrganizationPerspectives?: Maybe<Scalars['JSONObject']['output']>;
505504
updateOrganizationThemeSettings?: Maybe<Scalars['JSONObject']['output']>;
@@ -551,12 +550,6 @@ export type MutationUpdateInvitationArgs = {
551550
};
552551

553552

554-
export type MutationUpdateOptscaleCapabilityArgs = {
555-
organizationId: Scalars['ID']['input'];
556-
value?: InputMaybe<OptscaleCapabilityParams>;
557-
};
558-
559-
560553
export type MutationUpdateOrganizationArgs = {
561554
organizationId: Scalars['ID']['input'];
562555
params: UpdateOrganizationInput;
@@ -612,17 +605,6 @@ export type NebiusDataSource = DataSourceInterface & {
612605
type: DataSourceType;
613606
};
614607

615-
export type OptscaleCapability = {
616-
__typename?: 'OptscaleCapability';
617-
finops?: Maybe<Scalars['Boolean']['output']>;
618-
mlops?: Maybe<Scalars['Boolean']['output']>;
619-
};
620-
621-
export type OptscaleCapabilityParams = {
622-
finops?: InputMaybe<Scalars['Boolean']['input']>;
623-
mlops?: InputMaybe<Scalars['Boolean']['input']>;
624-
};
625-
626608
export type Organization = {
627609
__typename?: 'Organization';
628610
currency: Scalars['String']['output'];
@@ -677,7 +659,6 @@ export type Query = {
677659
employeeEmails?: Maybe<Array<Maybe<EmployeeEmail>>>;
678660
expensesDailyBreakdown?: Maybe<ExpensesDailyBreakdown>;
679661
invitations?: Maybe<Array<Maybe<Invitation>>>;
680-
optscaleCapability?: Maybe<OptscaleCapability>;
681662
organizationConstraint?: Maybe<OrganizationConstraint>;
682663
organizationFeatures?: Maybe<Scalars['JSONObject']['output']>;
683664
organizationLimitHits?: Maybe<Array<OrganizationLimitHit>>;
@@ -722,11 +703,6 @@ export type QueryExpensesDailyBreakdownArgs = {
722703
};
723704

724705

725-
export type QueryOptscaleCapabilityArgs = {
726-
organizationId: Scalars['ID']['input'];
727-
};
728-
729-
730706
export type QueryOrganizationConstraintArgs = {
731707
constraintId: Scalars['ID']['input'];
732708
};
@@ -940,8 +916,6 @@ export type ResolversTypes = {
940916
NebiusConfig: ResolverTypeWrapper<NebiusConfig>;
941917
NebiusConfigInput: NebiusConfigInput;
942918
NebiusDataSource: ResolverTypeWrapper<NebiusDataSource>;
943-
OptscaleCapability: ResolverTypeWrapper<OptscaleCapability>;
944-
OptscaleCapabilityParams: OptscaleCapabilityParams;
945919
Organization: ResolverTypeWrapper<Organization>;
946920
OrganizationConstraint: ResolverTypeWrapper<OrganizationConstraint>;
947921
OrganizationConstraintType: OrganizationConstraintType;
@@ -1009,8 +983,6 @@ export type ResolversParentTypes = {
1009983
NebiusConfig: NebiusConfig;
1010984
NebiusConfigInput: NebiusConfigInput;
1011985
NebiusDataSource: NebiusDataSource;
1012-
OptscaleCapability: OptscaleCapability;
1013-
OptscaleCapabilityParams: OptscaleCapabilityParams;
1014986
Organization: Organization;
1015987
OrganizationConstraint: OrganizationConstraint;
1016988
OrganizationLimitHit: OrganizationLimitHit;
@@ -1349,7 +1321,6 @@ export type MutationResolvers<ContextType = any, ParentType extends ResolversPar
13491321
updateEmployeeEmail?: Resolver<Maybe<ResolversTypes['EmployeeEmail']>, ParentType, ContextType, RequireFields<MutationUpdateEmployeeEmailArgs, 'employeeId' | 'params'>>;
13501322
updateEmployeeEmails?: Resolver<Maybe<Array<Maybe<ResolversTypes['EmployeeEmail']>>>, ParentType, ContextType, RequireFields<MutationUpdateEmployeeEmailsArgs, 'employeeId' | 'params'>>;
13511323
updateInvitation?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, RequireFields<MutationUpdateInvitationArgs, 'action' | 'invitationId'>>;
1352-
updateOptscaleCapability?: Resolver<Maybe<ResolversTypes['OptscaleCapability']>, ParentType, ContextType, RequireFields<MutationUpdateOptscaleCapabilityArgs, 'organizationId'>>;
13531324
updateOrganization?: Resolver<Maybe<ResolversTypes['Organization']>, ParentType, ContextType, RequireFields<MutationUpdateOrganizationArgs, 'organizationId' | 'params'>>;
13541325
updateOrganizationPerspectives?: Resolver<Maybe<ResolversTypes['JSONObject']>, ParentType, ContextType, RequireFields<MutationUpdateOrganizationPerspectivesArgs, 'organizationId' | 'value'>>;
13551326
updateOrganizationThemeSettings?: Resolver<Maybe<ResolversTypes['JSONObject']>, ParentType, ContextType, RequireFields<MutationUpdateOrganizationThemeSettingsArgs, 'organizationId' | 'value'>>;
@@ -1382,12 +1353,6 @@ export type NebiusDataSourceResolvers<ContextType = any, ParentType extends Reso
13821353
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
13831354
};
13841355

1385-
export type OptscaleCapabilityResolvers<ContextType = any, ParentType extends ResolversParentTypes['OptscaleCapability'] = ResolversParentTypes['OptscaleCapability']> = {
1386-
finops?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1387-
mlops?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1388-
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1389-
};
1390-
13911356
export type OrganizationResolvers<ContextType = any, ParentType extends ResolversParentTypes['Organization'] = ResolversParentTypes['Organization']> = {
13921357
currency?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
13931358
disabled?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
@@ -1432,7 +1397,6 @@ export type QueryResolvers<ContextType = any, ParentType extends ResolversParent
14321397
employeeEmails?: Resolver<Maybe<Array<Maybe<ResolversTypes['EmployeeEmail']>>>, ParentType, ContextType, RequireFields<QueryEmployeeEmailsArgs, 'employeeId'>>;
14331398
expensesDailyBreakdown?: Resolver<Maybe<ResolversTypes['ExpensesDailyBreakdown']>, ParentType, ContextType, RequireFields<QueryExpensesDailyBreakdownArgs, 'organizationId'>>;
14341399
invitations?: Resolver<Maybe<Array<Maybe<ResolversTypes['Invitation']>>>, ParentType, ContextType>;
1435-
optscaleCapability?: Resolver<Maybe<ResolversTypes['OptscaleCapability']>, ParentType, ContextType, RequireFields<QueryOptscaleCapabilityArgs, 'organizationId'>>;
14361400
organizationConstraint?: Resolver<Maybe<ResolversTypes['OrganizationConstraint']>, ParentType, ContextType, RequireFields<QueryOrganizationConstraintArgs, 'constraintId'>>;
14371401
organizationFeatures?: Resolver<Maybe<ResolversTypes['JSONObject']>, ParentType, ContextType, RequireFields<QueryOrganizationFeaturesArgs, 'organizationId'>>;
14381402
organizationLimitHits?: Resolver<Maybe<Array<ResolversTypes['OrganizationLimitHit']>>, ParentType, ContextType, RequireFields<QueryOrganizationLimitHitsArgs, 'constraintId' | 'organizationId'>>;
@@ -1488,7 +1452,6 @@ export type Resolvers<ContextType = any> = {
14881452
Mutation?: MutationResolvers<ContextType>;
14891453
NebiusConfig?: NebiusConfigResolvers<ContextType>;
14901454
NebiusDataSource?: NebiusDataSourceResolvers<ContextType>;
1491-
OptscaleCapability?: OptscaleCapabilityResolvers<ContextType>;
14921455
Organization?: OrganizationResolvers<ContextType>;
14931456
OrganizationConstraint?: OrganizationConstraintResolvers<ContextType>;
14941457
OrganizationLimitHit?: OrganizationLimitHitResolvers<ContextType>;

ngui/server/graphql/resolvers/restapi.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,6 @@ const resolvers: Resolvers = {
6565
organizationFeatures: async (_, { organizationId }, { dataSources }) => {
6666
return dataSources.restapi.getOrganizationFeatures(organizationId);
6767
},
68-
optscaleCapability: async (_, { organizationId }, { dataSources }) => {
69-
return dataSources.restapi.getOptscaleCapability(organizationId);
70-
},
7168
organizationThemeSettings: async (
7269
_,
7370
{ organizationId },
@@ -169,16 +166,6 @@ const resolvers: Resolvers = {
169166
updateInvitation: async (_, { invitationId, action }, { dataSources }) => {
170167
return dataSources.restapi.updateInvitation(invitationId, action);
171168
},
172-
updateOptscaleCapability: async (
173-
_,
174-
{ organizationId, value },
175-
{ dataSources }
176-
) => {
177-
return dataSources.restapi.updateOptscaleCapability(
178-
organizationId,
179-
value
180-
);
181-
},
182169
updateOrganizationThemeSettings: async (
183170
_,
184171
{ organizationId, value },

ngui/server/graphql/schemas/restapi.graphql

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -550,16 +550,6 @@ type Invitation {
550550
invite_assignments: [InvitationAssignment!]
551551
}
552552

553-
type OptscaleCapability {
554-
finops: Boolean
555-
mlops: Boolean
556-
}
557-
558-
input OptscaleCapabilityParams {
559-
finops: Boolean
560-
mlops: Boolean
561-
}
562-
563553
input UpdateOrganizationInput {
564554
name: String
565555
currency: String
@@ -603,7 +593,6 @@ type Query {
603593
employeeEmails(employeeId: ID!): [EmployeeEmail]
604594
invitations: [Invitation]
605595
organizationFeatures(organizationId: ID!): JSONObject
606-
optscaleCapability(organizationId: ID!): OptscaleCapability
607596
organizationThemeSettings(organizationId: ID!): JSONObject
608597
organizationPerspectives(organizationId: ID!): JSONObject
609598
organizationConstraint(constraintId: ID!): OrganizationConstraint
@@ -648,10 +637,6 @@ type Mutation {
648637
): Organization
649638
deleteOrganization(organizationId: ID!): String
650639
updateInvitation(invitationId: String!, action: String!): String
651-
updateOptscaleCapability(
652-
organizationId: ID!
653-
value: OptscaleCapabilityParams
654-
): OptscaleCapability
655640
updateOrganizationThemeSettings(
656641
organizationId: ID!
657642
value: JSONObject!

ngui/ui/public/docs/finops-portal.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### **Summary**
22

3-
Get familiar with the concepts of FinOps and MLOps. For more information, visit FinOps in Practice. Explore best practices for FinOps and MLOps by clicking the "How-Tos" tab.
3+
Get familiar with the concepts of FinOps. For more information, visit FinOps in Practice. Explore best practices for FinOps by clicking the "How-Tos" tab.
44

55
### **View**
66

ngui/ui/public/docs/home.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,8 @@ The Home page displays your organization’s current spending and projected expe
88

99
### **Actions**
1010

11-
- Get Detailed Insights: Click on resource expenses, policy violations, tasks, and models to access detailed information and gain deeper insights into each area.
11+
- Get Detailed Insights: Click on resource expenses and policy violations to access detailed information and gain deeper insights into each area.
1212

13-
- Explore Key Pages: Visit the organization expenses, resources, recommendations, pools, tasks, and models pages to get comprehensive insights and manage different aspects of your cloud operations effectively.
13+
- Explore Key Pages: Visit the organization expenses, resources, recommendations and pools pages to get comprehensive insights and manage different aspects of your cloud operations effectively.
1414

15-
- Monitoring Usage: Check the resource and pool lists for values ​​that require attention, or visit the Cost Explorer page to view a detailed graph of your costs.
16-
17-
### **Tips**
18-
19-
- Track ML Experiments: Use the task section to track and manage your machine learning experiments. Tasks let you visualize, search for, and compare ML runs and access run metadata for analysis.
20-
21-
- Analyze Models for Insights: Examine the models section to keep track of your machine learning models. Models are used to make predictions or decisions based on data. This can help you make informed decisions about resource allocation and identify opportunities for optimization.
15+
- Monitoring Usage: Check the resource and pool lists for values ​​that require attention, or visit the Cost Explorer page to view a detailed graph of your costs.

ngui/ui/public/docs/settings.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ The available tabs allow you to fine-tune settings for seamless collaboration an
99

1010
- Invitations: Observe the invitation details, including the organization name and roles.
1111

12-
- Capabilities: Get the list of features available for FinOps and MLOps options.
13-
1412
- SSH Key: View the list of available SSH keys, and quickly add a new one.
1513

1614
- Email Notifications: Select the categories to receive email notifications.
@@ -20,8 +18,6 @@ The available tabs allow you to fine-tune settings for seamless collaboration an
2018
- Manage Organization: Edit the organization name, change the currency (if no data sources are connected), or delete the organization.
2119

2220
- Accept Invitations: Accept or decline invitations sent by the managers of other organizations.
23-
24-
- Control Capabilities: Select FinOps, MLOps, or both to tailor your settings based on financial operations, machine learning processes, or a combination of both.
2521

2622
- Add SSH Key: View the list of available SSH keys and quickly add a new one.
2723

0 commit comments

Comments
 (0)