Skip to content

Commit 9eb2eb7

Browse files
committed
Add readme, minor housekeeping
1 parent b5ae4d9 commit 9eb2eb7

File tree

4 files changed

+62
-25
lines changed

4 files changed

+62
-25
lines changed

.github/CODEOWNERS

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Default owner for everything else.
2+
* @fossas/analysis
3+
4+
# The following files have no owner,
5+
# this allows PRs that only update dependencies
6+
# to be merged without review
7+
# (e.g. by dependabot or by team members).
8+
#
9+
# The codeowners file is parsed in bottom-up precedence,
10+
# so these are matched before the universal glob above.
11+
**/Cargo.toml
12+
Cargo.lock
13+
Cargo.toml

.github/workflows/auto-dependabot.yml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: dependabot-automation
2+
3+
on: pull_request
4+
permissions:
5+
contents: write
6+
pull-requests: write
7+
8+
jobs:
9+
automerge:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- run: gh pr review --approve "$PR_URL"
13+
if: github.actor == 'dependabot[bot]'
14+
env:
15+
PR_URL: ${{github.event.pull_request.html_url}}
16+
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
17+
- run: gh pr merge --auto --squash "$PR_URL"
18+
if: github.actor == 'dependabot[bot]'
19+
env:
20+
PR_URL: ${{github.event.pull_request.html_url}}
21+
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}

.github/workflows/check-dependencies.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ jobs:
66
runs-on: ubuntu-latest
77

88
steps:
9-
- uses: actions/checkout@v2
10-
- run: "curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/fossa-cli/master/install-latest.sh | bash"
9+
- uses: actions/checkout@v4
10+
- run: "curl https://raw.githubusercontent.com/fossas/fossa-cli/master/install-latest.sh | bash"
1111

1212
- run: fossa analyze --only-target cargo .
1313
env:

README.md

+26-23
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
1-
# template-rust
1+
# circe
22

3-
Template repository for a Rust project.
3+
_Circe (named after the Odyssean sorceress who transformed vessels and their contents) extracts and examines the contents of containers._
44

5-
TODOs for a new project:
6-
- [ ] Change the license if MPL2 is not appropriate for the project. Make sure to do this before adding any code.
7-
- [ ] Ensure the dev docs (in particular the release and compatibility semantics) are valid for this project.
8-
- [ ] Set [CODEOWNERS] to the team that owns the repository.
9-
- [ ] Create an API user in [FOSSA] and store it as a secret named `FOSSA_API_KEY`.
10-
- Consider naming it with the pattern `ci-{REPO_NAME}`. For example, `ci-template-rust`.
11-
- [ ] Update repository permissions as appropriate. Generally, the CODEOWNER team is set as admin.
12-
- [ ] Update branch protection rules as appropriate.
13-
- [ ] Update repository features and settings. Recommended defaults:
14-
- [ ] Turn off all features (Wikis, Issues, Sponsorships, Discussions, Projects); FOSSA uses other systems for these.
15-
- [ ] Only allow squash merging.
16-
- [ ] Always suggest updating PR branches.
17-
- [ ] Allow auto-merge.
18-
- [ ] Automatically delete head branches.
5+
# usage
196

20-
Then just edit the included Rust project, or remove it and `cargo init` your project, and get going!
7+
TBD, but generally the goal will be something like:
218

22-
[codeowners]: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
23-
[fossa]: https://app.fossa.com
9+
```shell
10+
# Export the contents of the image to disk
11+
; circe extract docker.io/contribsys/faktory:latest ./faktory --layers squash --platform linux/amd64
2412

25-
# recommendations
13+
# Export the contents of the image to stdout as NDJSON
14+
; circe read docker.io/contribsys/faktory:latest --layers squash --platform linux/amd64
15+
```
2616

27-
- If publishing a Linux binary, consider providing two: one that [statically links libc](./docs/dev/reference/static-binary.md), and one that doesn't.
28-
- If publishing a macOS binary, consider providing two: one for [Intel and one for M-series CPUs](./docs/dev/reference/macos-arch.md).
29-
- If this application may be used on AWS Graviton or similar, consider providing an ARM build for Linux as well.
17+
# planned features
18+
19+
- [ ] Support extracting contents of OCI images:
20+
- [ ] From OCI stores
21+
- [ ] From local container hosts (e.g. Docker)
22+
- [ ] From local tarballs
23+
- [ ] Extract the contents:
24+
- [ ] To disk
25+
- [ ] To stdout (as NDJSON)
26+
- [ ] Extract layers by:
27+
- [ ] Squashed layer sets (e.g. "base + rest" or "all layers" or other combinations)
28+
- [ ] Individual layers
29+
- [ ] Filtered layers
30+
- [ ] Specify target(s) to extract (e.g. `linux/amd64`, `darwin/arch64`, etc)
31+
- [ ] Filter file(s) to extract
32+
- [ ] When extracting files to stdout, store large blobs at temporary locations and reference them

0 commit comments

Comments
 (0)