Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: Michael Kriese <[email protected]>
  • Loading branch information
ivankatliarchuk and viceice authored Jan 30, 2025
1 parent 69046a8 commit fddca17
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 14 deletions.
2 changes: 0 additions & 2 deletions lib/modules/datasource/aws-eks-addon/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,6 @@ describe('modules/datasource/aws-eks-addon/index', () => {
datasource,
packageName: '{"addonName":"vpc-cni"}',
});
expect(res?.releases).toHaveLength(3);
expect(res).toEqual({
releases: [
{
Expand Down Expand Up @@ -179,7 +178,6 @@ describe('modules/datasource/aws-eks-addon/index', () => {
addonName: 'vpc-cni',
maxResults: 1,
});
expect(res?.releases).toHaveLength(2);
expect(res).toEqual({
releases: [
{
Expand Down
23 changes: 11 additions & 12 deletions lib/modules/datasource/aws-eks-addon/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ import {
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
import { logger } from '../../../logger';
import { cache } from '../../../util/cache/package/decorator';
// import * as awsEksAddonVersioning from '../../versioning/aws-eks-addon';
import * as awsEksAddonVersioning from '../../versioning/aws-eks-addon';
import { Datasource } from '../datasource';
import type { GetReleasesConfig, ReleaseResult } from '../types';
import { EksAddonsFilter } from './schema';

export class AwsEKSAddonDataSource extends Datasource {
static readonly id = 'aws-eks-addon';

// override readonly defaultVersioning = awsEksAddonVersioning.id;
override readonly defaultVersioning = awsEksAddonVersioning.id;
override readonly caching = true;
private readonly clients: Record<string, EKSClient> = {};

Expand All @@ -40,30 +40,29 @@ export class AwsEKSAddonDataSource extends Datasource {
}: GetReleasesConfig): Promise<ReleaseResult | null> {
const res = EksAddonsFilter.safeParse(serializedFilter);
if (!res.success) {
logger.error(
logger.warn(
{ err: res.error, serializedFilter },
'Error parsing eks-addons config.',
);
return null;
}

const filter = res.data;
const input: DescribeAddonVersionsCommandInput = {

const cmd = new DescribeAddonVersionsCommand({
kubernetesVersion: filter?.kubernetesVersion,
addonName: filter?.addonName,
maxResults: 1,
};

const cmd = new DescribeAddonVersionsCommand(input);
const response: DescribeAddonVersionsCommandOutput =
});
const response =
await this.getClient(filter).send(cmd);
const addons: AddonInfo[] = response.addons ?? [];
return {
releases: addons
.flatMap((addon: AddonInfo): AddonVersionInfo[] | undefined => {
.flatMap((addon) => {
return addon.addonVersions;
})
.map((versionInfo: AddonVersionInfo | undefined) => ({
.map((versionInfo) => ({
version: versionInfo?.addonVersion ?? '',
default:
versionInfo?.compatibilities?.some(
Expand All @@ -74,7 +73,7 @@ export class AwsEKSAddonDataSource extends Datasource {
),
}))
.filter((release) => release.version && release.version !== '')
.filter((release): boolean => {
.filter((release) => {
if (filter.default) {
return release.default && release.default === filter.default;
}
Expand All @@ -87,7 +86,7 @@ export class AwsEKSAddonDataSource extends Datasource {
const cacheKey = `${region ?? 'default'}#${profile ?? 'default'}`;
if (!(cacheKey in this.clients)) {
this.clients[cacheKey] = new EKSClient({
region: region ?? undefined,
...(region && { region } ),
credentials: fromNodeProviderChain(profile ? { profile } : undefined),
});
}
Expand Down

0 comments on commit fddca17

Please sign in to comment.