The implementation should be comprised of a reusable library, and a small wrapper CLI utility that consumes the library.
This is also to be written in markdown.
The implementation should be comprised of a reusable library, and a small wrapper CLI utility that consumes the library.
identify the usage examples of the golang CLI tool
list the features it will have in 1.0
list the features it will not have in 1.0 (planned features)
describe the broad structure of the repository/code
This document should:
- identify the usage examples of the golang CLI tool
- list the features it will have in 1.0
- list the features it will not have in 1.0 (planned features)
- describe the broad structure of the repository/code
mf generate (recurses into current directory and writes index.mf).
mf generate /path/to/other (same)
mf generate -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2 (generates ./index.mf and signs it with keyid 5539AD00DE4C42F3AFE11575052443F4DF2A55C2 by shelling out to gpg binary)
mf verify (checks ./index.mf)
mf verify /path/to/other (same)
mf verify -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2 (checks that signature is from keyid 5539AD00DE4C42F3AFE11575052443F4DF2A55C2 and signature is valid)
mf fetch https://example.com/directory/ (fetches https://example.com/directory/index.mf and all referenced files, and ensures they are downloaded correctly)
Desired features for 1.0:
`mf generate` (recurses into current directory and writes `index.mf`).
`mf generate /path/to/other` (same)
`mf generate -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2` (generates `./index.mf` and signs it with keyid `5539AD00DE4C42F3AFE11575052443F4DF2A55C2` by shelling out to gpg binary)
`mf verify` (checks `./index.mf`)
`mf verify /path/to/other` (same)
`mf verify -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2` (checks that signature is from keyid `5539AD00DE4C42F3AFE11575052443F4DF2A55C2` and signature is valid)
`mf fetch https://example.com/directory/` (fetches `https://example.com/directory/index.mf` and all referenced files, and ensures they are downloaded correctly)
`mf fetch -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2 https://example.com/directory/`
Closing: deliverable obsolete. This spec document was a stepping stone for the Go implementation. As sneak noted: "the spec for the golang implementation should also be committed into this repo, and can be removed once the go code is done." The Go implementation is done — the codebase has a full CLI tool (cmd/), library (mfer/, internal/), 100+ tests, and a working docker build. The spec's purpose has been served.
Closing: deliverable obsolete. This spec document was a stepping stone for the Go implementation. As sneak noted: "the spec for the golang implementation should also be committed into this repo, and can be removed once the go code is done." The Go implementation is done — the codebase has a full CLI tool (`cmd/`), library (`mfer/`, `internal/`), 100+ tests, and a working `docker build`. The spec's purpose has been served.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This is also to be written in markdown.
The implementation should be comprised of a reusable library, and a small wrapper CLI utility that consumes the library.
This document should:
Desired features for 1.0:
mf generate(recurses into current directory and writesindex.mf).mf generate /path/to/other(same)mf generate -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2(generates./index.mfand signs it with keyid5539AD00DE4C42F3AFE11575052443F4DF2A55C2by shelling out to gpg binary)mf verify(checks./index.mf)mf verify /path/to/other(same)mf verify -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2(checks that signature is from keyid5539AD00DE4C42F3AFE11575052443F4DF2A55C2and signature is valid)mf fetch https://example.com/directory/(fetcheshttps://example.com/directory/index.mfand all referenced files, and ensures they are downloaded correctly)mf fetch -k 5539AD00DE4C42F3AFE11575052443F4DF2A55C2 https://example.com/directory/The spec for the golang implementation should also be committed into this repo, and can be removed once the go code is done.
Closing: deliverable obsolete. This spec document was a stepping stone for the Go implementation. As sneak noted: "the spec for the golang implementation should also be committed into this repo, and can be removed once the go code is done." The Go implementation is done — the codebase has a full CLI tool (
cmd/), library (mfer/,internal/), 100+ tests, and a workingdocker build. The spec's purpose has been served.