Skip to content

Commit 057b1bb

Browse files
authored
release: promote develop to main (#2)
Promotes the repository baseline (#1): LICENSE (AGPL-3.0), README, dependabot, CI, clippy fixes, clean gitignore.
2 parents 54e8b5c + 49f1b74 commit 057b1bb

8 files changed

Lines changed: 729 additions & 13 deletions

File tree

.github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "daily"
8+
labels: ["dependencies", "type:ci"]
9+
open-pull-requests-limit: 10
10+
target-branch: "develop"
11+
12+
- package-ecosystem: "cargo"
13+
directory: "/"
14+
schedule:
15+
interval: "daily"
16+
labels: ["dependencies"]
17+
open-pull-requests-limit: 10
18+
target-branch: "develop"

.github/workflows/ci.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main, develop]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
rust:
14+
uses: Glyndor/.github/.github/workflows/rust-ci.yml@c2cf3d74719451a7a11fa8e5fae3f4a3c4e37fe6 # main

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Claude / AI agent files
1+
# Local working notes
22
GAP_ANALYSIS.md
33

44
# Coverage & profiling
@@ -13,3 +13,6 @@ fuzz/artifacts/
1313

1414
# Merge conflicts
1515
*.orig
16+
17+
# Build artifacts
18+
/target

LICENSE

Lines changed: 661 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# podman-compose
2+
3+
`lynx-compose` — docker-compose translator and runner for rootless Podman,
4+
built in Rust.
5+
6+
It parses `docker-compose.yml` files and drives rootless Podman to create the
7+
equivalent containers, networks and volumes. Used by the
8+
[Lynx panel](https://github.com/Glyndor/panel) through the
9+
[panel-agent](https://github.com/Glyndor/panel-agent), and usable standalone
10+
as a CLI and as a library (`lynx_compose`).
11+
12+
## Build
13+
14+
```bash
15+
cargo build --release
16+
cargo test
17+
```
18+
19+
## Usage
20+
21+
```bash
22+
lynx-compose up -f docker-compose.yml
23+
```
24+
25+
## Contributing & security
26+
27+
See the org-wide [contributing guide](https://github.com/Glyndor/.github/blob/main/CONTRIBUTING.md).
28+
Report vulnerabilities privately via the Security tab — never in a public issue.
29+
30+
## License
31+
32+
[AGPL-3.0](LICENSE)

tests/parse/anchors.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ fn include_absolute_path_rejected() {
9393
let main = dir.path().join("docker-compose.yml");
9494
writeln!(
9595
std::fs::File::create(&main).unwrap(),
96-
"{}",
9796
"include:\n - /etc/passwd\nservices:\n app:\n image: alpine"
9897
)
9998
.unwrap();
@@ -106,7 +105,6 @@ fn include_parent_traversal_rejected() {
106105
let main = dir.path().join("docker-compose.yml");
107106
writeln!(
108107
std::fs::File::create(&main).unwrap(),
109-
"{}",
110108
"include:\n - ../../secret.yml\nservices:\n app:\n image: alpine"
111109
)
112110
.unwrap();
@@ -119,7 +117,6 @@ fn extends_file_absolute_path_rejected() {
119117
let main = dir.path().join("docker-compose.yml");
120118
writeln!(
121119
std::fs::File::create(&main).unwrap(),
122-
"{}",
123120
"services:\n app:\n extends:\n service: base\n file: /etc/shadow"
124121
)
125122
.unwrap();
@@ -132,7 +129,6 @@ fn extends_file_parent_traversal_rejected() {
132129
let main = dir.path().join("docker-compose.yml");
133130
writeln!(
134131
std::fs::File::create(&main).unwrap(),
135-
"{}",
136132
"services:\n app:\n extends:\n service: base\n file: ../../other.yml"
137133
)
138134
.unwrap();

tests/parse/extends.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ fn extends_with_external_file() {
131131
let mut f = std::fs::File::create(&common_path).unwrap();
132132
writeln!(
133133
f,
134-
"{}",
135134
r#"
136135
services:
137136
base:
@@ -146,7 +145,6 @@ services:
146145
let mut m = std::fs::File::create(&main_path).unwrap();
147146
writeln!(
148147
m,
149-
"{}",
150148
r#"
151149
services:
152150
app:

tests/parse/include.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ fn include_string_form_merges_services() {
88
let included = dir.path().join("services.yml");
99
writeln!(
1010
std::fs::File::create(&included).unwrap(),
11-
"{}",
1211
r#"
1312
services:
1413
helper:
@@ -20,7 +19,6 @@ services:
2019
let main = dir.path().join("docker-compose.yml");
2120
writeln!(
2221
std::fs::File::create(&main).unwrap(),
23-
"{}",
2422
r#"
2523
include:
2624
- ./services.yml
@@ -44,7 +42,6 @@ fn include_long_form_parses() {
4442
let inc = dir.path().join("inc.yml");
4543
writeln!(
4644
std::fs::File::create(&inc).unwrap(),
47-
"{}",
4845
r#"
4946
services:
5047
inc_svc:
@@ -56,7 +53,6 @@ services:
5653
let main = dir.path().join("docker-compose.yml");
5754
writeln!(
5855
std::fs::File::create(&main).unwrap(),
59-
"{}",
6056
r#"
6157
include:
6258
- path: ./inc.yml
@@ -80,7 +76,6 @@ fn parent_overrides_included_service() {
8076
let inc = dir.path().join("inc.yml");
8177
writeln!(
8278
std::fs::File::create(&inc).unwrap(),
83-
"{}",
8479
r#"
8580
services:
8681
shared:
@@ -92,7 +87,6 @@ services:
9287
let main = dir.path().join("docker-compose.yml");
9388
writeln!(
9489
std::fs::File::create(&main).unwrap(),
95-
"{}",
9690
r#"
9791
include:
9892
- ./inc.yml

0 commit comments

Comments
 (0)