diff --git a/README.md b/README.md index 72f41c8..e40ff31 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,8 @@ upgrades. An alternative [distributed mode](#distributed-usage) is available to caching and version upgrade determination logic. ```bash -pinned-package-updater check -pinned-package-updater update +pinned-package-updater check [Dockerfile, ...] +pinned-package-updater update [Dockerfile, ...] ``` ### Distributed Usage @@ -38,8 +38,8 @@ significantly reduced. The tool running in this mode will revert to standalone mode if the upstream service is unavailable. ```bash -pinned-package-updater --remote
check -pinned-package-updater --remote
update +pinned-package-updater check --remote
[Dockerfile, ...] +pinned-package-updater update [Dockerfile, ...] ``` ## Features diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..4b29e26 --- /dev/null +++ b/TODO.md @@ -0,0 +1,14 @@ +# Outstanding TODO Items + +- [ ] Add image parsing and baked in image lists +- [ ] Add override/supplemental configuration for images and mapped parsers + - To support custom base images that aren't in the default list +- [ ] Add configuration override/supplemental configuration for repository lists +- [ ] Add runtime configuration option to specify a base image if one cannot be parsed ??? +- [ ] Add apt repository parsing to lookup packages in upstream repositories +- [ ] Add version checking logic to identify the latest versions of available packages +- [ ] Design serialized output from `check` step for the `upgrade` step + - `check` is responsible for parsing the docker image, determining available packages, and providing an output that is + consumed by `upgrade` to apply the changes to the targeted Dockerfile(s). +- [ ] Implement `upgrade` step to apply suggested changes from `check` step +- [ ] Implement `serve` command to host a service that will offload the remote repository lookup and version suggestions \ No newline at end of file diff --git a/cmd/check.go b/cmd/check.go index cf57dc9..8484de5 100644 --- a/cmd/check.go +++ b/cmd/check.go @@ -71,6 +71,8 @@ pinned-package-updater --remote
check [Dockerf func init() { rootCmd.AddCommand(checkCmd) + checkCmd.PersistentFlags().StringVar(&remoteURL, "remote", "", "remote url for distributed mode (example: https://ppu.example.com/)") + // TODO: Add dynamic loading of maps between images and command parsers err := parser.InitCommandParsers() diff --git a/cmd/root.go b/cmd/root.go index 6dbfbef..fcab355 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -78,7 +78,6 @@ func init() { // will be global for your application. rootCmd.PersistentFlags().StringVar(&configFile, "config", "", "config file (default is $HOME/.pinned-package-updater.yaml OR ./.pinned-package-updater.yaml)") - rootCmd.PersistentFlags().StringVar(&remoteURL, "remote", "", "remote url for distributed mode (example: https://ppu.example.com/)") rootCmd.PersistentFlags().CountVarP(&logVerbosity, "verbose", "v", "verbose (-v, or -vv)") rootCmd.PersistentFlags().VarP(enumflag.New(&logFormat, "logFormat", LogFormatIds, enumflag.EnumCaseInsensitive), "format", "", "The logging format to use [text, json]")