Skip to content

Commit bd95746

Browse files
committed
feat: initial implementation
Initial implementation goal: pass conformance tests. Pending items: * optimize list/watch queries * add more tests * consider some optimizations/tuning Signed-off-by: Andrey Smirnov <[email protected]>
1 parent 5973a1e commit bd95746

32 files changed

+3196
-0
lines changed

.codecov.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-27T17:05:54Z by kres 46e133d.
4+
5+
codecov:
6+
require_ci_to_pass: false
7+
8+
coverage:
9+
status:
10+
project:
11+
default:
12+
target: 50%
13+
threshold: 0.5%
14+
base: auto
15+
if_ci_failed: success
16+
patch: off
17+
18+
comment: false

.conform.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-27T17:05:54Z by kres 46e133d.
4+
5+
policies:
6+
- type: commit
7+
spec:
8+
dco: true
9+
gpg:
10+
required: true
11+
identity:
12+
gitHubOrganization: cosi-project
13+
spellcheck:
14+
locale: US
15+
maximumOfOneCommit: true
16+
header:
17+
length: 89
18+
imperative: true
19+
case: lower
20+
invalidLastCharacters: .
21+
body:
22+
required: true
23+
conventional:
24+
types:
25+
- chore
26+
- docs
27+
- perf
28+
- refactor
29+
- style
30+
- test
31+
- release
32+
scopes:
33+
- .*
34+
- type: license
35+
spec:
36+
root: .
37+
skipPaths:
38+
- .git/
39+
- testdata/
40+
includeSuffixes:
41+
- .go
42+
excludeSuffixes:
43+
- .pb.go
44+
- .pb.gw.go
45+
header: |
46+
// This Source Code Form is subject to the terms of the Mozilla Public
47+
// License, v. 2.0. If a copy of the MPL was not distributed with this
48+
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

.dockerignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-27T17:05:54Z by kres 46e133d.
4+
5+
*
6+
!pkg
7+
!go.mod
8+
!go.sum
9+
!.golangci.yml
10+
!README.md
11+
!.markdownlint.json
12+
!hack/govulncheck.sh

.drone.yml

Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
---
2+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
3+
#
4+
# Generated on 2025-10-27T17:05:54Z by kres 46e133d.
5+
6+
kind: pipeline
7+
type: kubernetes
8+
name: default
9+
10+
platform:
11+
os: linux
12+
arch: amd64
13+
14+
steps:
15+
- name: setup-ci
16+
pull: always
17+
image: autonomy/build-container:latest
18+
commands:
19+
- sleep 5
20+
- git fetch --tags
21+
- install-ci-key
22+
- docker buildx create --driver docker-container --platform linux/amd64 --name local --use unix:///var/outer-run/docker.sock
23+
- docker buildx inspect --bootstrap
24+
environment:
25+
SSH_KEY:
26+
from_secret: ssh_key
27+
volumes:
28+
- name: outer-docker-socket
29+
path: /var/outer-run
30+
- name: docker-socket
31+
path: /var/run
32+
- name: buildx
33+
path: /root/.docker/buildx
34+
- name: ssh
35+
path: /root/.ssh
36+
37+
- name: base
38+
pull: always
39+
image: autonomy/build-container:latest
40+
commands:
41+
- make base
42+
volumes:
43+
- name: outer-docker-socket
44+
path: /var/outer-run
45+
- name: docker-socket
46+
path: /var/run
47+
- name: buildx
48+
path: /root/.docker/buildx
49+
- name: ssh
50+
path: /root/.ssh
51+
depends_on:
52+
- setup-ci
53+
54+
- name: unit-tests
55+
pull: always
56+
image: autonomy/build-container:latest
57+
commands:
58+
- make unit-tests
59+
volumes:
60+
- name: outer-docker-socket
61+
path: /var/outer-run
62+
- name: docker-socket
63+
path: /var/run
64+
- name: buildx
65+
path: /root/.docker/buildx
66+
- name: ssh
67+
path: /root/.ssh
68+
depends_on:
69+
- base
70+
71+
- name: unit-tests%!(EXTRA string=-race)
72+
pull: always
73+
image: autonomy/build-container:latest
74+
commands:
75+
- make unit-tests%!(EXTRA string=-race)
76+
volumes:
77+
- name: outer-docker-socket
78+
path: /var/outer-run
79+
- name: docker-socket
80+
path: /var/run
81+
- name: buildx
82+
path: /root/.docker/buildx
83+
- name: ssh
84+
path: /root/.ssh
85+
depends_on:
86+
- base
87+
88+
- name: coverage
89+
pull: always
90+
image: autonomy/build-container:latest
91+
commands:
92+
- make coverage
93+
environment:
94+
CODECOV_TOKEN:
95+
from_secret: CODECOV_TOKEN
96+
volumes:
97+
- name: outer-docker-socket
98+
path: /var/outer-run
99+
- name: docker-socket
100+
path: /var/run
101+
- name: buildx
102+
path: /root/.docker/buildx
103+
- name: ssh
104+
path: /root/.ssh
105+
depends_on:
106+
- unit-tests
107+
108+
- name: lint
109+
pull: always
110+
image: autonomy/build-container:latest
111+
commands:
112+
- make lint
113+
volumes:
114+
- name: outer-docker-socket
115+
path: /var/outer-run
116+
- name: docker-socket
117+
path: /var/run
118+
- name: buildx
119+
path: /root/.docker/buildx
120+
- name: ssh
121+
path: /root/.ssh
122+
depends_on:
123+
- base
124+
125+
- name: release-notes
126+
pull: always
127+
image: autonomy/build-container:latest
128+
commands:
129+
- make release-notes
130+
volumes:
131+
- name: outer-docker-socket
132+
path: /var/outer-run
133+
- name: docker-socket
134+
path: /var/run
135+
- name: buildx
136+
path: /root/.docker/buildx
137+
- name: ssh
138+
path: /root/.ssh
139+
when:
140+
event:
141+
- tag
142+
depends_on:
143+
- unit-tests
144+
- coverage
145+
- lint
146+
147+
- name: release
148+
pull: always
149+
image: plugins/github-release
150+
settings:
151+
api_key:
152+
from_secret: github_token
153+
checksum:
154+
- sha256
155+
- sha512
156+
draft: true
157+
files:
158+
[]
159+
note: _out/RELEASE_NOTES.md
160+
volumes:
161+
- name: outer-docker-socket
162+
path: /var/outer-run
163+
- name: docker-socket
164+
path: /var/run
165+
- name: buildx
166+
path: /root/.docker/buildx
167+
- name: ssh
168+
path: /root/.ssh
169+
when:
170+
event:
171+
- tag
172+
depends_on:
173+
- release-notes
174+
175+
services:
176+
- name: docker
177+
image: docker:28.5-dind
178+
entrypoint:
179+
- dockerd
180+
commands:
181+
- --dns=8.8.8.8
182+
- --dns=8.8.4.4
183+
- --mtu=1500
184+
- --log-level=error
185+
privileged: true
186+
volumes:
187+
- name: dev
188+
path: /dev
189+
- name: outer-docker-socket
190+
path: /var/outer-run
191+
- name: docker-socket
192+
path: /var/run
193+
- name: buildx
194+
path: /root/.docker/buildx
195+
- name: ssh
196+
path: /root/.ssh
197+
198+
volumes:
199+
- name: outer-docker-socket
200+
host:
201+
path: /var/ci-docker
202+
- name: docker-socket
203+
temp:
204+
medium: memory
205+
- name: buildx
206+
temp:
207+
medium: memory
208+
- name: ssh
209+
temp:
210+
medium: memory
211+
- name: dev
212+
host:
213+
path: /dev
214+
215+
trigger:
216+
branch:
217+
exclude:
218+
- renovate/*
219+
- dependabot/*
220+
event:
221+
exclude:
222+
- promote
223+
- cron
224+
225+
---
226+
kind: pipeline
227+
type: kubernetes
228+
name: notify
229+
230+
platform:
231+
os: linux
232+
arch: amd64
233+
234+
clone:
235+
disable: true
236+
237+
steps:
238+
- name: slack
239+
image: plugins/slack
240+
settings:
241+
channel: proj-talos-maintainers
242+
link_names: true
243+
template: "{{#if build.pull }}\n*{{#success build.status}}✓ Success{{else}}✕ Fail{{/success}}*: {{ repo.owner }}/{{ repo.name }} - <https://github.com/{{ repo.owner }}/{{ repo.name }}/pull/{{ build.pull }}|Pull Request #{{ build.pull }}>\n{{else}}\n*{{#success build.status}}✓ Success{{else}}✕ Fail{{/success}}: {{ repo.owner }}/{{ repo.name }} - Build #{{ build.number }}* (type: `{{ build.event }}`)\n{{/if}}\nCommit: <https://github.com/{{ repo.owner }}/{{ repo.name }}/commit/{{ build.commit }}|{{ truncate build.commit 8 }}>\nBranch: <https://github.com/{{ repo.owner }}/{{ repo.name }}/commits/{{ build.branch }}|{{ build.branch }}>\nAuthor: {{ build.author }}\n<{{ build.link }}|Visit build page>"
244+
webhook:
245+
from_secret: slack_webhook
246+
when:
247+
status:
248+
- success
249+
- failure
250+
251+
trigger:
252+
branch:
253+
exclude:
254+
- renovate/*
255+
- dependabot/*
256+
status:
257+
- success
258+
- failure
259+
260+
depends_on:
261+
- default
262+
263+
...

.github/dependabot.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
version: 2
2+
updates:
3+
# Maintain dependencies for GitHub Actions
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "daily"
8+
9+
- package-ecosystem: "gomod"
10+
directory: "/"
11+
commit-message:
12+
prefix: "chore:"
13+
open-pull-requests-limit: 10
14+
rebase-strategy: disabled
15+
schedule:
16+
interval: "weekly"
17+
day: "monday"
18+
time: "01:00"
19+
timezone: "UTC"

0 commit comments

Comments
 (0)