WIP: Working individual containers and docker compose demo

This commit is contained in:
Michael Hohn
2024-09-12 09:49:25 -07:00
committed by =Michael Hohn
parent 259bac55fb
commit 34958e4cf4
9 changed files with 175 additions and 126 deletions

View File

@@ -14,9 +14,6 @@ RUN go mod download
# Build the Go binary
RUN go build .
# # Set the entrypoint
# CMD ["/bin/bash"]
# Use a minimal base image for the final container
FROM debian:bookworm
@@ -26,5 +23,5 @@ WORKDIR /app
# Copy the binary from the builder stage
COPY --from=builder /work-gh/mrva/gh-mrva/gh-mrva /usr/local/bin/gh-mrva
# Set the entrypoint to the binary
ENTRYPOINT ["gh-mrva"]
# Run forever
CMD ["tail", "-f", "/dev/null"]

View File

@@ -25,5 +25,6 @@ RUN pip install -r requirements.txt
# Install qldbtools
RUN pip install .
# Set the default entrypoint
CMD ["/bin/bash"]
# Run forever
CMD ["tail", "-f", "/dev/null"]

View File

@@ -0,0 +1,24 @@
DBT_TARGET := client-qldbtools-container:0.1.24
# Build the qldbtools container image
dbt: client-qldbtools-container
client-qldbtools-container:
docker build -t ${DBT_TARGET} .
touch $@
# Run a shell in the container with the qldbtools
dbt-run: dbt
docker run --rm -it ${DBT_TARGET} /bin/bash
# Run one of the scripts in the container as check. Should exit with error.
dbt-check: dbt
docker run --rm -it ${DBT_TARGET} mc-db-initial-info
dbt-push: dbt
docker tag ${DBT_TARGET} ghcr.io/hohn/${DBT_TARGET}
docker push ghcr.io/hohn/${DBT_TARGET}
touch $@
dbt-test:
docker pull ghcr.io/hohn/${DBT_TARGET}
docker run --rm -it --name test-dbt-server ghcr.io/hohn/${DBT_TARGET} sh

View File

@@ -1,18 +1,13 @@
* MRVA python tools container
Set upDocker image with python 3.11 and pip and the qldbtools
Set up Docker image with python 3.11 and pip and the qldbtools. The targets are
in the =Makefile=; most important are
#+BEGIN_SRC sh
# Build
cd ~/work-gh/mrva/mrvacommander
make dbt
# Check
cd ~/work-gh/mrva/mrvacommander
make dbt-check
# Use
cd ~/work-gh/mrva/mrvacommander
make dbt-run
#+END_SRC

View File

@@ -56,7 +56,9 @@ ENV CODEQL_JAVA_HOME=/usr
# to user settings.
# This is in addition to the environment variable CODEQL_JAVA_HOME which has no
# effect on the plugin
USER root
COPY ./settings.json /home/coder/.local/share/code-server/User/
RUN chown -R coder:coder /home/coder/.local/share/code-server/
# Start Code Server
ENTRYPOINT ["dumb-init", "code-server", "--bind-addr", "0.0.0.0:9080", "."]

View File

@@ -17,6 +17,7 @@
- Setup inside the container
#+BEGIN_SRC shell
cd
export PATH=/opt/codeql:$PATH
codeql pack init qldemo
cd qldemo
@@ -26,9 +27,12 @@
- Open a new file =qldemo/simple.ql= and add this this query to it. The plugin
will download the CodeQL binaries (but never use them -- the configuration
redirects)
#+BEGIN_SRC java
#+BEGIN_SRC sh
cd
cat > qldemo/simple.ql <<eof
import python
select 42
select 42
eof
#+END_SRC
- Create database.
@@ -42,7 +46,7 @@
codeql database create --language=python -s . -v short-db
#+END_SRC
- Set the database as default and run the query.
- Set the database as default and run the query on =simple.ql=
- Capture the state of this container and create a new image from it
#+BEGIN_SRC sh
@@ -53,8 +57,6 @@
#+END_SRC
- Push this container
[[file:~/work-gh/mrva/mrvacommander/client/containers/vscode/Makefile::image-push: image]]
#+BEGIN_SRC sh
docker images |head
make csi-push
#+END_SRC

View File

@@ -1,4 +1,4 @@
{
"codeQL.runningQueries.numberOfThreads": 2,
"codeQl.cli.executablePath": "/opt/codeql"
"codeQL.cli.executablePath": "/opt/codeql/codeql"
}