Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(vendir): add vendir support #25113

Merged
merged 56 commits into from Mar 21, 2024
Merged
Show file tree
Hide file tree
Changes from 49 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
84e31d4
feat(vendir): provides support for vendir manager
knechtionscoding Oct 9, 2023
85585b4
feat(vendir): add support for running vendir sync
knechtionscoding Oct 10, 2023
0f36351
feat(vendir): properly run vendir sync
knechtionscoding Oct 10, 2023
068951f
fix: swap toMatchObject to toEqual
knechtionscoding Feb 7, 2024
ebb429e
Merge branch 'main' into feat/vendir-support
knechtionscoding Feb 7, 2024
d68c8e3
chore: run prettier
knechtionscoding Feb 7, 2024
10b9154
fix: use yaml lib
knechtionscoding Feb 7, 2024
bb50539
chore: remove extra import
knechtionscoding Feb 7, 2024
91d52e8
Update lib/modules/manager/vendir/README.md
knechtionscoding Mar 4, 2024
e773e29
Update lib/modules/manager/vendir/README.md
knechtionscoding Mar 8, 2024
3113d95
fix failing tests
reegnz Mar 14, 2024
030c4ea
Merge branch 'main' into feat/vendir-support
knechtionscoding Mar 14, 2024
a229cea
fix: linters
knechtionscoding Mar 14, 2024
75ddfb6
Fix lint
reegnz Mar 14, 2024
0791bd5
Add helm OCI registry support
reegnz Mar 14, 2024
9ac3cc7
chore: lint fix
knechtionscoding Mar 14, 2024
1377c97
Drop unnecessary code paths
reegnz Mar 14, 2024
42c7ae4
fix: Add files correctly
knechtionscoding Mar 14, 2024
47ecf1e
feat: passing tests
knechtionscoding Mar 15, 2024
49ad5c7
fix: pr comments
knechtionscoding Mar 15, 2024
ecd9ce5
fix: check for vendir.locak.yml existence first
knechtionscoding Mar 15, 2024
864efe7
feat: return null when no vendir.lock.yml
knechtionscoding Mar 15, 2024
b89220e
feat: attempt to support docker and install mode
knechtionscoding Mar 15, 2024
8297e0e
tests: test for install mode and docker mode
knechtionscoding Mar 16, 2024
7e1ef17
tests: add test for Temporary Error
knechtionscoding Mar 16, 2024
10db10f
Update lib/modules/manager/vendir/extract.ts
knechtionscoding Mar 16, 2024
ad59afe
tests: clean up unecessary declarations
knechtionscoding Mar 16, 2024
5090b16
fix: add DockerDatasource to index.ts
knechtionscoding Mar 16, 2024
d016a70
docs: add complete vendir.yml
knechtionscoding Mar 16, 2024
88a7fb6
Merge branch 'main' into feat/vendir-support
rarkins Mar 16, 2024
a5fd962
feat: add support for registryAliases
knechtionscoding Mar 16, 2024
b115e94
fix: increase log level for misconfigured lockfiles
knechtionscoding Mar 16, 2024
c92bd8f
fix: lint errors
knechtionscoding Mar 16, 2024
4f608a9
fix: type errors
knechtionscoding Mar 16, 2024
e014db3
docs: update example
knechtionscoding Mar 16, 2024
79f133d
feat: add zod schema
knechtionscoding Mar 16, 2024
7b6c269
fix: improve schema
knechtionscoding Mar 20, 2024
e3a7a70
fix typing issues
reegnz Mar 20, 2024
eea8ff5
fix: lint
knechtionscoding Mar 20, 2024
2c27a0e
Merge branch 'main' into feat/vendir-support
reegnz Mar 20, 2024
ef5d286
fix: remove extra import
knechtionscoding Mar 20, 2024
478a9c9
tests: alias test properly
knechtionscoding Mar 20, 2024
b7c8a1e
Update lib/modules/manager/vendir/extract.spec.ts
knechtionscoding Mar 20, 2024
a84203d
Update lib/modules/manager/vendir/extract.ts
knechtionscoding Mar 20, 2024
64b9854
feat: add regex for validation on URL
knechtionscoding Mar 20, 2024
21f3c38
docs: add info to readme on aliases
knechtionscoding Mar 20, 2024
63af329
fix: remove aliases from http/https as it isn't needed
knechtionscoding Mar 20, 2024
2dc9a1b
fix: test pass
knechtionscoding Mar 20, 2024
91d094e
docs: remove # line
knechtionscoding Mar 21, 2024
1cbe927
Update lib/modules/manager/vendir/readme.md
knechtionscoding Mar 21, 2024
c56a312
Update lib/modules/manager/vendir/readme.md
knechtionscoding Mar 21, 2024
4e39123
Update lib/modules/manager/vendir/extract.spec.ts
knechtionscoding Mar 21, 2024
45d432e
Update lib/modules/manager/vendir/extract.spec.ts
knechtionscoding Mar 21, 2024
e572110
Update lib/modules/manager/vendir/artifacts.ts
knechtionscoding Mar 21, 2024
a4b8933
Drop unnecessary branch
reegnz Mar 21, 2024
cda1c74
Fix lint issue
reegnz Mar 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions lib/config/options/index.ts
Expand Up @@ -1052,6 +1052,7 @@ const options: RenovateOptions[] = [
'kubernetes',
'kustomize',
'terraform',
'vendir',
'woodpecker',
],
},
Expand Down
2 changes: 2 additions & 0 deletions lib/modules/manager/api.ts
Expand Up @@ -86,6 +86,7 @@ import * as tflintPlugin from './tflint-plugin';
import * as travis from './travis';
import type { ManagerApi } from './types';
import * as velaci from './velaci';
import * as vendir from './vendir';
import * as woodpecker from './woodpecker';

const api = new Map<string, ManagerApi>();
Expand Down Expand Up @@ -178,4 +179,5 @@ api.set('terragrunt-version', terragruntVersion);
api.set('tflint-plugin', tflintPlugin);
api.set('travis', travis);
api.set('velaci', velaci);
api.set('vendir', vendir);
api.set('woodpecker', woodpecker);
12 changes: 12 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/alias-contents.yaml
@@ -0,0 +1,12 @@
---
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: vendor
contents:
- path: custom-repo-custom-version
helmChart:
name: oci
version: "7.10.1"
repository:
url: oci://test
17 changes: 17 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/multiple-contents.yaml
@@ -0,0 +1,17 @@
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: vendor
contents:
- path: custom-repo-custom-version
helmChart:
name: contour
version: "7.10.1"
repository:
url: https://charts.bitnami.com/bitnami
- path: thing
helmChart:
name: contour
version: "7.10.1"
repository:
url: https://charts.bitnami.com/bitnami
12 changes: 12 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/non-helmchart.yaml
@@ -0,0 +1,12 @@
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: vendor
contents:
- path: github.com/cloudfoundry/cf-k8s-networking
git:
# http or ssh urls are supported (required)
url: https://github.com/cloudfoundry/cf-k8s-networking
# branch, tag, commit; origin is the name of the remote (required)
# optional if refSelection is specified (available in v0.11.0+)
ref: origin/master
12 changes: 12 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/oci-contents.yaml
@@ -0,0 +1,12 @@
---
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: vendor
contents:
- path: custom-repo-custom-version
helmChart:
name: contour
version: "7.10.1"
repository:
url: oci://charts.bitnami.com/bitnami
11 changes: 11 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/one-contents.yaml
@@ -0,0 +1,11 @@
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: vendor
contents:
- path: custom-repo-custom-version
helmChart:
name: contour
version: "7.10.1"
repository:
url: https://charts.bitnami.com/bitnami
15 changes: 15 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/vendir.yml
@@ -0,0 +1,15 @@
apiVersion: vendir.k14s.io/v1alpha1
kind: Config

minimumRequiredVersion: 0.32.0

# one or more directories to manage with vendir
directories:
- path: vendor
contents:
- path: renovate
helmChart:
name: renovate
version: 36.109.4
repository:
url: https://docs.renovatebot.com/helm-charts
9 changes: 9 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/vendir_1.lock
@@ -0,0 +1,9 @@
apiVersion: vendir.k14s.io/v1alpha1
directories:
- contents:
- helmChart:
appVersion: 36.109.4
version: 36.109.4
path: renovate
path: vendor
kind: LockConfig
9 changes: 9 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/vendir_2.lock
@@ -0,0 +1,9 @@
apiVersion: vendir.k14s.io/v1alpha1
directories:
- contents:
- helmChart:
appVersion: 36.109.4
version: 37.109.4
path: renovate
path: vendor
kind: LockConfig
24 changes: 24 additions & 0 deletions lib/modules/manager/vendir/__snapshots__/artifacts.spec.ts.snap
@@ -0,0 +1,24 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`modules/manager/vendir/artifacts returns null if unchanged 1`] = `
[
{
"cmd": "vendir sync",
"options": {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
"env": {
"HOME": "/home/user",
"HTTPS_PROXY": "https://example.com",
"HTTP_PROXY": "http://example.com",
"LANG": "en_US.UTF-8",
"LC_ALL": "en_US",
"NO_PROXY": "localhost",
"PATH": "/tmp/path",
},
"maxBuffer": 10485760,
"timeout": 900000,
},
},
]
`;