2024-06-24 01:31:28 -04:00
2024-06-16 19:43:29 -07:00
2024-06-16 19:43:29 -07:00
2024-05-07 15:38:59 -07:00
2024-06-16 19:43:29 -07:00

Overview

TODO diagram

TODO Style notes

  • NO package init() functions
  • Dynamic behaviour must be explicit

Cross-compile server on host, run it in container

These are simple steps using a single container.

  1. build server on host

    GOOS=linux GOARCH=arm64 go build
    
  2. build docker image

    cd cmd/server
    docker build -t server-image .
    
  3. Start container with shared directory

    docker run -it \
           -v   /Users/hohn/work-gh/mrva/mrvacommander:/mrva/mrvacommander \
           server-image
    
  4. Run server in container

    cd /mrva/mrvacommander/cmd/server/ && ./server
    

Using docker-compose

Steps to build and run the server in a multi-container environment set up by docker-compose.

  1. Built the server-image, above

  2. Build server on host

    cd ~/work-gh/mrva/mrvacommander/cmd/server/
    GOOS=linux GOARCH=arm64 go build
    
  3. Start the containers

    cd ~/work-gh/mrva/mrvacommander/
    docker-compose down
    docker-compose up -d
    
  4. Run server in its container

    cd ~/work-gh/mrva/mrvacommander/
    docker exec -it server bash
    cd /mrva/mrvacommander/cmd/server/ 
    ./server -loglevel=debug -mode=container
    
  5. Test server via remote client by following the steps in gh-mrva

Some general docker-compose commands

  1. Get service status

    docker-compose ps
    
  2. Stop services

    docker-compose down
    
  3. View all logs

    docker-compose logs
    
  4. check containers from server container

    docker exec -it server bash
    curl -I http://rabbitmq:15672
    

Use the minio ql database db

  1. Web access via

    open http://localhost:9001/login
    

    username / password are in docker-compose.yml for now. The ql db listing will be at

    http://localhost:9001/browser/qldb
    
  2. Populate the database by running

    ./populate-dbstore.sh
    

    from the host.

  3. The names in the bucket use the owner_repo format for now, e.g. google_flatbuffers_db.zip. TODO This will be enhanced to include other data later

  4. Test Go's access to the dbstore -- from the host -- via

    cd ./test
    go test -v
    

    This should produce

    === RUN   TestDBListing
    dbstore_test.go:44: Object Key: google_flatbuffers_db.zip
    dbstore_test.go:44: Object Key: psycopg_psycopg2_db.zip
    

Use the minio query pack db

  1. Web access via

    open http://localhost:19001/login
    

    username / password are in docker-compose.yml for now. The ql db listing will be at

    http://localhost:19001/browser/qpstore
    

To run Use the minio query pack db

Description
No description provided
Readme Apache-2.0 1.2 GiB
Languages
Go 47.7%
Jupyter Notebook 21.2%
Python 17.4%
CSS 6.3%
Dockerfile 3.6%
Other 3.7%