|
1 | 1 | # Project Road Map
|
2 | 2 |
|
3 |
| -## Guiding Principles |
4 |
| - |
5 |
| -* Tern is mean to provide guidance for building more compliant containers by |
6 |
| - * Analyzing an existing container for packages that are installed |
7 |
| - * Extracting the sources for packages governed by licenses that require sources to be provided |
8 |
| - * Rebuilding the container using equivalent packages for which the provenance (exact source code) is known |
9 |
| - |
10 |
| -* The output that Tern creates should not be the source of truth for what is installed in the container nor be used without review. This is because the universe of software installation, package creation and management solutions including dependency management solutions is quite large. There are many different methods of discerning the contents of the container and their provenances but none of them are 100% accurate. In the end, only the person building the container knows for sure what it is meant to contain. |
11 |
| - |
12 |
| -* Tern is not meant to be the 'silver bullet' for container compliance. Tern cannot tell you whether the packages installed on your container are 'compliant'.It is not a lawyer and is not meant to replace your compliance and/or legal team. It is only meant to automate some of the tasks that you may have to do yourself in order to meet the legal obligations for the software installed. |
13 |
| - |
14 |
| -## Package information extraction |
15 |
| - |
16 |
| -* Integration with a static analysis tool - Research |
17 |
| -* SPDX document output |
18 |
| -* YAML document output - Phase 3 |
19 |
| -* Check container against a ruleset - Backlog |
20 |
| - |
21 |
| -## Source Retrieval |
22 |
| - |
23 |
| -* Implementation of sources tarball retrieval - Phase 4 |
24 |
| -* Configuration to point to an external repository for scripts - Backlog |
25 |
| -* Configuration to point to an external database - Research |
26 |
| - |
27 |
| -## Reconstruct a compliant image |
28 |
| - |
29 |
| -* Use configured database of known good binaries - Phase 5 |
30 |
| -* Use container labeling for metadata like build number and content digest |
31 |
| -* Use container signing |
| 3 | +## 2018 |
| 4 | +The end goal for 2018 is to make the project relevant to real world containers and to make it easy to contribute to it. Milestones for the project can be discussed on the community slack channel or the public forum. See the [contributing guide](../CONTRIBUTING.md) for information on how to join the conversation. |
| 5 | + |
| 6 | +## Release 0.1.0 |
| 7 | +- Create isolated environments to operate on without using other dependencies |
| 8 | +- Analyze a container image layer by layer |
| 9 | +- Optimize shell script workload for package managers |
| 10 | + |
| 11 | +## Release 0.2.0 |
| 12 | +- Work on raw container images along with Dockerfiles |
| 13 | +- Ability to track true base images (FROM scratch in Dockerfiles) |
| 14 | +- Support for images created from multiple imports |
| 15 | +- Support for ADD, COPY and WORKDIR |
| 16 | + |
| 17 | +## Release 0.3.0 |
| 18 | +- Hardening with a variety of Dockerfiles |
| 19 | +- Support for multistage build Dockerfiles |
0 commit comments