From 0138c641c2f51119d88be01aac4c64798e588183 Mon Sep 17 00:00:00 2001 From: WingKwan Lau Date: Tue, 20 Apr 2021 16:17:39 +0000 Subject: [PATCH] remove rpm in hardening_manifest, populate readme.md, install jq with install pkg, move scripts in root/usr/bin to scripts, remove entrypoitn uid --- Dockerfile | 7 ++--- README.md | 24 ++++++++++++++++-- hardening_manifest.yaml | 7 ----- image/aap-cli-screenshot.png | Bin 0 -> 30789 bytes root/usr/bin/container-entrypoint | 9 ------- {root/usr/bin => scripts}/aap | 0 scripts/container-entrypoint | 4 +++ {root/usr/bin => scripts}/fix-permissions | 0 .../bin => scripts}/generate-container-user | 0 {root/usr/bin => scripts}/py-enable | 0 .../usr/bin => scripts}/rpm-file-permissions | 0 11 files changed, 28 insertions(+), 23 deletions(-) create mode 100644 image/aap-cli-screenshot.png delete mode 100644 root/usr/bin/container-entrypoint rename {root/usr/bin => scripts}/aap (100%) create mode 100644 scripts/container-entrypoint rename {root/usr/bin => scripts}/fix-permissions (100%) rename {root/usr/bin => scripts}/generate-container-user (100%) rename {root/usr/bin => scripts}/py-enable (100%) rename {root/usr/bin => scripts}/rpm-file-permissions (100%) diff --git a/Dockerfile b/Dockerfile index 6f020f4..6a97b46 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,7 +23,7 @@ ENV PYTHON_VERSION=3.6 \ ENV PROMPT_COMMAND=". /usr/bin/aap && unset PROMPT_COMMAND" # Copy extra files to the image. -COPY ./root / +COPY ./scripts /usr/bin RUN chmod a+x /usr/bin/container-entrypoint && \ chmod a+x /usr/bin/fix-permissions && \ chmod a+x /usr/bin/rpm-file-permissions && \ @@ -32,7 +32,7 @@ RUN chmod a+x /usr/bin/container-entrypoint && \ chmod a+x /usr/bin/aap # Install packages -RUN INSTALL_PKGS="vim-enhanced rsync iputils bind-utils git python36 python36-devel python3-setuptools python3-pip python3-virtualenv" && \ +RUN INSTALL_PKGS="vim-enhanced rsync iputils bind-utils git python36 python36-devel python3-setuptools python3-pip python3-virtualenv jq" && \ yum -y update-minimal --setopt=tsflags=nodocs --security && \ yum -y --setopt=tsflags=nodocs install $INSTALL_PKGS && \ yum -y remove vim-minimal && \ @@ -55,9 +55,6 @@ RUN rpm --import /tmp/key.asc && \ rm -f /tmp/key.asc && \ rm -f /tmp/mongodb-org-shell-4.4.4-1.el8.x86_64.rpm -# Install jq (to parse openshift api query results) -RUN yum -y install jq - # # Instal helm COPY helm-v3.5.2-linux-amd64.tar.gz /tmp/helm-v3.5.2-linux-amd64.tar.gz RUN tar -zxvf /tmp/helm-v3.5.2-linux-amd64.tar.gz && \ diff --git a/README.md b/README.md index 5dc6fa6..d9a8d0f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,23 @@ -# +# AAP Command Line Interface +_Deploy this container to your project and open a shell in it to gain access to command line tools that help you manage your project._ -Project template for all Iron Bank container repositories. \ No newline at end of file +![AAP CLI](images/aap-cli-screenshot.png "AAP CLI") + +## To use +This project is used to build the aap-cli image. To use it, add the container to your project by referencing the built image from a container repository (like Nexus). +TBD: Add from the AAP Catalog (look for AAP CLI) + +## Tools included +- `oc` (OpenShift CLI tool, v4.3.14) +- `git` (v2.18.4) +- `python` (v3.6) +- `mongo` shell (v3.6.18) + +## Ideas, things you can do with this +- Just use your browser... stop struggling with configuration of client-based shells like `git-bash` or Windows `cmd.exe` +- Use command line and text-based tools to organize your work and keep track of it with git SCM +- Perform troubleshooting and testing of other pods in your project using tools like `curl` and `pytest` + +## For help +- Find support in NAVAIR Fusion chat channel [#aap_support](https://chat.navair1.navy.mil/channel/aap_support) +- Check out the [AAP Wiki](https://wiki.navair1.navy.mil/display/Analytics/Advanced+Analytics+Platform) for user guides and further support diff --git a/hardening_manifest.yaml b/hardening_manifest.yaml index 8b5c53b..2c87b97 100644 --- a/hardening_manifest.yaml +++ b/hardening_manifest.yaml @@ -54,13 +54,6 @@ resources: validation: type: "sha256" # supported: sha256, sha512 value: "01b317c506f8b6ad60b11b1dc3f093276bb703281cb1ae01132752253ec706a2" # must be lowercase - - url: "http://www.rpmfind.net/linux/centos/8.3.2011/AppStream/x86_64/os/Packages/perl-5.30.1-451.module_el8.3.0+406+78614513.x86_64.rpm" - filename: "perl-5.30.1-451.module_el8.3.0+406+78614513.x86_64.rpm" - validation: - type: "sha256" # supported: sha256, sha512 - value: "5af6605a7cfb477a60132992e679a4b5502c71b4636e8839cdba5f8ec580f368" # must be lowercase - - # List of project maintainers maintainers: diff --git a/image/aap-cli-screenshot.png b/image/aap-cli-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea0a6cd115d91d25087b8f9229b4aedcf06d106 GIT binary patch literal 30789 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 /etc/passwd -fi - -exec "$@" - diff --git a/root/usr/bin/aap b/scripts/aap similarity index 100% rename from root/usr/bin/aap rename to scripts/aap diff --git a/scripts/container-entrypoint b/scripts/container-entrypoint new file mode 100644 index 0000000..66d8ac4 --- /dev/null +++ b/scripts/container-entrypoint @@ -0,0 +1,4 @@ +#!/bin/bash + +exec "$@" + diff --git a/root/usr/bin/fix-permissions b/scripts/fix-permissions similarity index 100% rename from root/usr/bin/fix-permissions rename to scripts/fix-permissions diff --git a/root/usr/bin/generate-container-user b/scripts/generate-container-user similarity index 100% rename from root/usr/bin/generate-container-user rename to scripts/generate-container-user diff --git a/root/usr/bin/py-enable b/scripts/py-enable similarity index 100% rename from root/usr/bin/py-enable rename to scripts/py-enable diff --git a/root/usr/bin/rpm-file-permissions b/scripts/rpm-file-permissions similarity index 100% rename from root/usr/bin/rpm-file-permissions rename to scripts/rpm-file-permissions -- GitLab