Skip to content

Commit

Permalink
feat(manager): add sveltos manager
Browse files Browse the repository at this point in the history
  • Loading branch information
oliverbaehler committed Jul 9, 2024
2 parents d052a36 + 8fa25b7 commit c7b2ba4
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 40 deletions.
36 changes: 9 additions & 27 deletions lib/modules/manager/sveltos/extract.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,13 @@ describe('modules/manager/sveltos/extract', () => {
});

it('return null if deps array would be empty', () => {
const result = extractPackageFile(
malformedProfiles,
'applications.yml',
);
const result = extractPackageFile(malformedProfiles, 'applications.yml');
expect(result).toBeNull();
});

it('return result for double quoted argoproj.io apiVersion reference', () => {
const result = extractPackageFile(
`
codeblock`
apiVersion: "config.projectsveltos.io/v1beta1"
kind: ClusterProfile
metadata:
Expand Down Expand Up @@ -108,17 +105,13 @@ spec:
currentValue: 'v3.2.5',
datasource: 'helm',
depName: 'kyverno',
registryUrls: [
'https://kyverno.github.io/kyverno/',
],
registryUrls: ['https://kyverno.github.io/kyverno/'],
},
{
currentValue: 'v3.2.0',
datasource: 'helm',
depName: 'kyverno-policies',
registryUrls: [
'https://kyverno.github.io/kyverno/',
],
registryUrls: ['https://kyverno.github.io/kyverno/'],
},
{
currentValue: '0.7.2',
Expand Down Expand Up @@ -153,17 +146,13 @@ spec:
currentValue: 'v3.2.5',
datasource: 'helm',
depName: 'kyverno',
registryUrls: [
'https://kyverno.github.io/kyverno/',
],
registryUrls: ['https://kyverno.github.io/kyverno/'],
},
{
currentValue: 'v3.2.0',
datasource: 'helm',
depName: 'kyverno-policies',
registryUrls: [
'https://kyverno.github.io/kyverno/',
],
registryUrls: ['https://kyverno.github.io/kyverno/'],
},
{
currentValue: '0.7.2',
Expand All @@ -180,10 +169,7 @@ spec:
});

it('supports eventtriggers', () => {
const result = extractPackageFile(
validEventTrigger,
'eventtriggers.yml',
);
const result = extractPackageFile(validEventTrigger, 'eventtriggers.yml');
expect(result).toEqual({
deps: [
{
Expand All @@ -198,17 +184,13 @@ spec:
currentValue: 'v3.2.5',
datasource: 'helm',
depName: 'kyverno',
registryUrls: [
'https://kyverno.github.io/kyverno/',
],
registryUrls: ['https://kyverno.github.io/kyverno/'],
},
{
currentValue: 'v3.2.0',
datasource: 'helm',
depName: 'kyverno-policies',
registryUrls: [
'https://kyverno.github.io/kyverno/',
],
registryUrls: ['https://kyverno.github.io/kyverno/'],
},
{
currentValue: '0.7.2',
Expand Down
7 changes: 1 addition & 6 deletions lib/modules/manager/sveltos/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import type { Category } from '../../../constants';
import { DockerDatasource } from '../../datasource/docker';
import { GitTagsDatasource } from '../../datasource/git-tags';
import { HelmDatasource } from '../../datasource/helm';

export { extractPackageFile } from './extract';
Expand All @@ -14,8 +13,4 @@ export const defaultConfig = {

export const categories: Category[] = ['kubernetes', 'cd'];

export const supportedDatasources = [
DockerDatasource.id,
GitTagsDatasource.id,
HelmDatasource.id,
];
export const supportedDatasources = [DockerDatasource.id, HelmDatasource.id];
9 changes: 6 additions & 3 deletions lib/modules/manager/sveltos/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,15 @@ export const Profile = KubernetesResource.extend({
spec: SveltosHelmSpec,
});


export const EventTrigger = KubernetesResource.extend({
kind: z.literal('EventTrigger'),
spec: SveltosHelmSpec,
});

// Create a union schema for ProfileDefinition
export const ProfileDefinition = z.union([Profile, ClusterProfile, EventTrigger]);
export type ProfileDefinition = z.infer<typeof ProfileDefinition>;
export const ProfileDefinition = z.union([
Profile,
ClusterProfile,
EventTrigger,
]);
export type ProfileDefinition = z.infer<typeof ProfileDefinition>;
12 changes: 8 additions & 4 deletions lib/modules/manager/sveltos/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@ export const keyValueExtractionRegex = regEx(
/^\s*(?<key>[^\s]+):\s+"?(?<value>[^"\s]+)"?\s*$/,
);
// looks for `apiVersion: *projectsveltos.io/` with optional quoting of the value
export const fileTestRegex = regEx(/\s*apiVersion:\s*['"]?projectsveltos\.io\/.*/);

export const fileTestRegex = regEx(
/\s*apiVersion:\s*['"]?projectsveltos\.io\/.*/,
);

export function removeRepositoryName(repositoryName: string, chartName: string): string {
export function removeRepositoryName(
repositoryName: string,
chartName: string,
): string {
const repoNameWithSlash = new RegExp(`^${repositoryName}/`);
let modifiedChartName = chartName.replace(repoNameWithSlash, '');

modifiedChartName = modifiedChartName.replace(/\/+$/, '');

return modifiedChartName;
}
}

0 comments on commit c7b2ba4

Please sign in to comment.