-
Notifications
You must be signed in to change notification settings - Fork 0
Home
guidelines
project wiki
Devel setup
First set up your github account to
- use ssh keys
- use 2fa
-
use gpg
- ! the gpg email must match
git config --global user.email
- TODO https://github.blog/2021-11-15-highlights-from-git-2-34/#tidbits .. git 2.34+ can sign with ssh keys when openssh 8 is available
- ! the gpg email must match
And remember to sign any commits pushed to the galaxy_ng repo.
Fork backend and the UI, and clone...
GITHUB_USER=himdel # update accordingly
git clone [email protected]:$GITHUB_USER/galaxy_ng.git
git clone [email protected]:$GITHUB_USER/ansible-hub-ui.git
cd galaxy_ng
git remote add upstream https://github.com/ansible/galaxy_ng
cd ../ansible-hub-ui
git remote add upstream https://github.com/ansible/ansible-hub-ui
Set up..
# copy the example env
cd galaxy_ng
cp .compose.env.example .compose.env
# build, run migrations, import initial data
make docker/all
# change admin password if needed
./compose run --rm api manage reset-admin-password --password admin
./compose down
https://github.com/himdel/ansible-hub-ui/wiki/Getting-Data
cd galaxy_ng
./compose down # if running
./compose build
make docker/migrate
./compose down
The backend...
cd galaxy_ng
./compose up
Just ^C to stop (foreground), or ./compose down
when running ./compose up -d
(background).
...And the UI:
cd ansible-hub-ui
npm run start-standalone
Create ansible-hub-ui/test/cypress.env.json
:
{
"prefix": "/api/automation-hub/",
"username": "admin",
"password": "admin"
}
(Don't forget the trailing slash ;).)
Run
# while backend & ui are running
cd ansible-hub-ui/test # test/
npm ci
npm run cypress:chrome # or cypress:chromium or cypress:firefox
cd galaxy_ng
./compose run --rm api manage shell # skip shell to see more tasks
cd galaxy_ng
# compose up must be running already
./compose exec postgres psql -U galaxy_ng galaxy_ng
the credentials come from galaxy_ng/dev/common/postgres.env
.
For pg_dump:
cd galaxy_ng
# compose up must be running already
./compose exec postgres pg_dump -U galaxy_ng galaxy_ng -Fc > pg.dump
Ang pg_restore:
cd galaxy_ng
# compose must be down
./compose up -d postgres redis
./compose exec -T postgres pg_restore -U galaxy_ng -d galaxy_ng -cC /dev/stdin < pg.dump
./compose run --rm api manage migrate
./compose down
FIXME: does this ^ work yet? needs pg superuser?
Also, since https://github.com/ansible/galaxy_ng/pull/1281:
# create a database dump and save it to db_snapshots/{$NAME:-galaxy}.backup
make docker/db_snapshot
# restore the database from db_snapshots/${NAME:-galaxy}.backup
make docker/db_restore
oci-env db snapshot/restore:
oci-env db snapshot
oci-env db restore -f insights-fixture
oci-env pulpcore-manager migrate
oci-env poll
cd galaxy_ng
./compose down # can't run both at the same time
export DEV_IMAGE_SUFFIX=any_unique_string
./compose build
# see "load initial data"..
./compose up
unset DEV_IMAGE_SUFFIX
cd galaxy_ng
./compose down -v # stop and drop data
# see "load initial data" above
or
docker system prune -v # remove all built containers and data
# see "build" and "load initial data" above
http://localhost:5001/pulp/api/v3/status/
diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml
index 83ce328..962a67b 100644
--- a/dev/docker-compose.yml
+++ b/dev/docker-compose.yml
@@ -111,6 +111,7 @@ services:
- "5432:5432"
env_file:
- './common/postgres.env'
+ command: 'postgres -c log_destination=stderr -c log_min_duration_statement=0 -c log_statement=all'
volumes:
- "pg_data:/var/lib/postgresql/data"
VersionConflict
during ./compose up
:
`pkg_resources.VersionConflict: (pulp-ansible 0.7.0 (/venv/lib/python3.6/site-packages), Requirement.parse('pulp-ansible==0.7.1'))
Solution: rebuild
Hang during ./compose build
(but not the ~10 minutes on chown
):
check the firewall is allowing connections betweeen docker containers, or disable firewall
UI:
git checkout upstream/stable-4.6 -- locale/ # or wherever from
npm run gettext:extract
npm run gettext:compile
API:
git checkout upstream/stable-4.6 -- galaxy_ng/locale/ # or wherever from
make docker/translations
See https://github.com/RedHatInsights/chrome-service-backend/pull/66/files. Each dir corresponds to a different stage/prod, stable/beta combination.
(Used to be https://github.com/RedHatInsights/cloud-services-config/pull/863/ , with branches per combination.)