mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-03 16:32:15 +02:00
Merge branch 'main' into za/861-remove-archive
This commit is contained in:
commit
3487b68645
16 changed files with 80 additions and 24 deletions
10
.github/ISSUE_TEMPLATE/developer-onboarding.md
vendored
10
.github/ISSUE_TEMPLATE/developer-onboarding.md
vendored
|
@ -24,27 +24,27 @@ There are several tools we use locally that you will need to have.
|
|||
### Steps for the onboardee
|
||||
- [ ] Setup [commit signing in Github](#setting-up-commit-signing) and with git locally.
|
||||
- [ ] [Create a cloud.gov account](https://cloud.gov/docs/getting-started/accounts/)
|
||||
- [ ] Have an admin add you to the CISA Github organization and Dotgov Team.
|
||||
- [ ] Email github@cisa.dhs.gov (cc: Cameron) to add you to the [CISA Github organization](https://github.com/getgov) and [.gov Team](https://github.com/orgs/cisagov/teams/gov).
|
||||
- [ ] Ensure you can login to your cloud.gov account via the CLI
|
||||
```bash
|
||||
cf login -a api.fr.cloud.gov --sso
|
||||
```
|
||||
- [ ] Have an admin add you to cloud.gov org and set up your [sandbox developer space](#setting-up-developer-sandbox). Ensure you can deploy to your sandbox space.
|
||||
- [ ] Have an admin add you to our login.gov sandbox team (`.gov registrar poc`) via the [dashboard](https://dashboard.int.identitysandbox.gov/).
|
||||
- [ ] Have an admin add you to our login.gov sandbox team (`.gov Registrar`) via the [dashboard](https://dashboard.int.identitysandbox.gov/).
|
||||
|
||||
**Note:** As mentioned in the [Login documentation](https://developers.login.gov/testing/), the sandbox Login account is different account from your regular, production Login account. If you have not created a Login account for the sandbox before, you will need to create a new account first.
|
||||
|
||||
- [ ] Optional- add yourself as a codeowner if desired. See the [Developer readme](https://github.com/cisagov/getgov/blob/main/docs/developer/README.md) for how to do this and what it does.
|
||||
|
||||
### Steps for the onboarder
|
||||
- [ ] Add the onboardee to cloud.gov org (cisa-getgov-prototyping)
|
||||
- [ ] Add the onboardee to cloud.gov org (cisa-dotgov)
|
||||
- [ ] Setup a [developer specific space for the new developer](#setting-up-developer-sandbox)
|
||||
- [ ] Add the onboardee to our login.gov sandbox team (`.gov registrar poc`) via the [dashboard](https://dashboard.int.identitysandbox.gov/)
|
||||
- [ ] Add the onboardee to our login.gov sandbox team (`.gov Registrar`) via the [dashboard](https://dashboard.int.identitysandbox.gov/)
|
||||
|
||||
|
||||
## Documents to Review
|
||||
|
||||
- [ ] [Team Charter](https://docs.google.com/document/d/1xhMKlW8bMcxyF7ipsOYxw1SQYVi-lWPkcDHSUS6miNg/edit), in particular our Github Policy
|
||||
- [ ] [Team Onboarding](https://docs.google.com/document/d/1ukbpW4LSqkb_CCt8LWfpehP03qqfyYfvK3Fl21NaEq8/edit?usp=sharing)
|
||||
- [ ] [Architecture Decision Records](https://github.com/cisagov/dotgov/tree/main/docs/architecture/decisions)
|
||||
- [ ] [Contributing Policy](https://github.com/cisagov/dotgov/tree/main/CONTRIBUTING.md)
|
||||
|
||||
|
|
3
.github/workflows/deploy-sandbox.yaml
vendored
3
.github/workflows/deploy-sandbox.yaml
vendored
|
@ -18,6 +18,7 @@ jobs:
|
|||
|| startsWith(github.head_ref, 'za/')
|
||||
|| startsWith(github.head_ref, 'rh/')
|
||||
|| startsWith(github.head_ref, 'nl/')
|
||||
|| startsWith(github.head_ref, 'dk/')
|
||||
outputs:
|
||||
environment: ${{ steps.var.outputs.environment}}
|
||||
runs-on: "ubuntu-latest"
|
||||
|
@ -52,7 +53,7 @@ jobs:
|
|||
with:
|
||||
cf_username: ${{ secrets[env.CF_USERNAME] }}
|
||||
cf_password: ${{ secrets[env.CF_PASSWORD] }}
|
||||
cf_org: cisa-getgov-prototyping
|
||||
cf_org: cisa-dotgov
|
||||
cf_space: ${{ env.ENVIRONMENT }}
|
||||
push_arguments: "-f ops/manifests/manifest-${{ env.ENVIRONMENT }}.yaml"
|
||||
comment:
|
||||
|
|
2
.github/workflows/deploy-stable.yaml
vendored
2
.github/workflows/deploy-stable.yaml
vendored
|
@ -36,6 +36,6 @@ jobs:
|
|||
with:
|
||||
cf_username: ${{ secrets.CF_STABLE_USERNAME }}
|
||||
cf_password: ${{ secrets.CF_STABLE_PASSWORD }}
|
||||
cf_org: cisa-getgov-prototyping
|
||||
cf_org: cisa-dotgov
|
||||
cf_space: stable
|
||||
push_arguments: "-f ops/manifests/manifest-stable.yaml"
|
||||
|
|
2
.github/workflows/deploy-staging.yaml
vendored
2
.github/workflows/deploy-staging.yaml
vendored
|
@ -36,6 +36,6 @@ jobs:
|
|||
with:
|
||||
cf_username: ${{ secrets.CF_STAGING_USERNAME }}
|
||||
cf_password: ${{ secrets.CF_STAGING_PASSWORD }}
|
||||
cf_org: cisa-getgov-prototyping
|
||||
cf_org: cisa-dotgov
|
||||
cf_space: staging
|
||||
push_arguments: "-f ops/manifests/manifest-staging.yaml"
|
||||
|
|
3
.github/workflows/migrate.yaml
vendored
3
.github/workflows/migrate.yaml
vendored
|
@ -24,6 +24,7 @@ on:
|
|||
- ab
|
||||
- bl
|
||||
- rjm
|
||||
- dk
|
||||
|
||||
jobs:
|
||||
migrate:
|
||||
|
@ -37,6 +38,6 @@ jobs:
|
|||
with:
|
||||
cf_username: ${{ secrets[env.CF_USERNAME] }}
|
||||
cf_password: ${{ secrets[env.CF_PASSWORD] }}
|
||||
cf_org: cisa-getgov-prototyping
|
||||
cf_org: cisa-dotgov
|
||||
cf_space: ${{ github.event.inputs.environment }}
|
||||
full_command: "cf run-task getgov-${{ github.event.inputs.environment }} --command 'python manage.py migrate' --name migrate"
|
||||
|
|
7
.github/workflows/reset-db.yaml
vendored
7
.github/workflows/reset-db.yaml
vendored
|
@ -25,6 +25,7 @@ on:
|
|||
- ab
|
||||
- bl
|
||||
- rjm
|
||||
- dk
|
||||
|
||||
jobs:
|
||||
reset-db:
|
||||
|
@ -38,7 +39,7 @@ jobs:
|
|||
with:
|
||||
cf_username: ${{ secrets[env.CF_USERNAME] }}
|
||||
cf_password: ${{ secrets[env.CF_PASSWORD] }}
|
||||
cf_org: cisa-getgov-prototyping
|
||||
cf_org: cisa-dotgov
|
||||
cf_space: ${{ github.event.inputs.environment }}
|
||||
full_command: "cf run-task getgov-${{ github.event.inputs.environment }} --command 'python manage.py flush --no-input' --name flush"
|
||||
|
||||
|
@ -47,7 +48,7 @@ jobs:
|
|||
with:
|
||||
cf_username: ${{ secrets[env.CF_USERNAME] }}
|
||||
cf_password: ${{ secrets[env.CF_PASSWORD] }}
|
||||
cf_org: cisa-getgov-prototyping
|
||||
cf_org: cisa-dotgov
|
||||
cf_space: ${{ github.event.inputs.environment }}
|
||||
full_command: "cf run-task getgov-${{ github.event.inputs.environment }} --command 'python manage.py migrate' --name migrate"
|
||||
|
||||
|
@ -56,6 +57,6 @@ jobs:
|
|||
with:
|
||||
cf_username: ${{ secrets[env.CF_USERNAME] }}
|
||||
cf_password: ${{ secrets[env.CF_PASSWORD] }}
|
||||
cf_org: cisa-getgov-prototyping
|
||||
cf_org: cisa-dotgov
|
||||
cf_space: ${{ github.event.inputs.environment }}
|
||||
full_command: "cf run-task getgov-${{ github.event.inputs.environment }} --command 'python manage.py load' --name loaddata"
|
||||
|
|
|
@ -9,6 +9,22 @@ There are a handful of things we do not commit to the repository:
|
|||
- Compliance documentation that includes IP addresses
|
||||
- Secrets of any kind
|
||||
|
||||
## Branch naming convention
|
||||
|
||||
For developers, you can auto-deploy your code to your sandbox (if applicable) by naming your branch thusly: jsd/123-feature-description
|
||||
Where 'jsd' stands for your initials and sandbox environment name (if you were called John Smith Doe), and 123 matches the ticket number if applicable.
|
||||
|
||||
## Approvals
|
||||
|
||||
When a code change is made that is not user facing, then the following is required:
|
||||
- a developer approves the PR
|
||||
|
||||
When a code change is made that is user facing, beyond content updates, then the following are required:
|
||||
- a developer approves the PR
|
||||
- a designer approves the PR or checks off all relevant items in this checklist
|
||||
|
||||
Content or document updates require a single person to approve.
|
||||
|
||||
## Project Management
|
||||
|
||||
We use [Github Projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) for project management and tracking.
|
||||
|
|
|
@ -94,6 +94,7 @@ The endpoint /admin can be used to view and manage site content, including but n
|
|||
```
|
||||
|
||||
5. In the browser, navigate to /admin. To verify that all is working correctly, under "domain applications" you should see fake domains with various fake statuses.
|
||||
6. Add an optional email key/value pair
|
||||
|
||||
### Adding an Analyst to /admin
|
||||
Analysts are a variant of the admin role with limited permissions. The process for adding an Analyst is much the same as adding an admin:
|
||||
|
@ -115,6 +116,7 @@ Analysts are a variant of the admin role with limited permissions. The process f
|
|||
```
|
||||
|
||||
5. In the browser, navigate to /admin. To verify that all is working correctly, verify that you can only see a sub-section of the modules and some are set to view-only.
|
||||
6. Add an optional email key/value pair
|
||||
|
||||
Do note that if you wish to have both an analyst and admin account, append `-Analyst` to your first and last name, or use a completely different first/last name to avoid confusion. Example: `Bob-Analyst`
|
||||
## Adding to CODEOWNERS (optional)
|
||||
|
|
29
ops/manifests/manifest-dk.yaml
Normal file
29
ops/manifests/manifest-dk.yaml
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
applications:
|
||||
- name: getgov-dk
|
||||
buildpacks:
|
||||
- python_buildpack
|
||||
path: ../../src
|
||||
instances: 1
|
||||
memory: 512M
|
||||
stack: cflinuxfs4
|
||||
timeout: 180
|
||||
command: ./run.sh
|
||||
health-check-type: http
|
||||
health-check-http-endpoint: /health
|
||||
env:
|
||||
# Send stdout and stderr straight to the terminal without buffering
|
||||
PYTHONUNBUFFERED: yup
|
||||
# Tell Django where to find its configuration
|
||||
DJANGO_SETTINGS_MODULE: registrar.config.settings
|
||||
# Tell Django where it is being hosted
|
||||
DJANGO_BASE_URL: https://getgov-dk.app.cloud.gov
|
||||
# Tell Django how much stuff to log
|
||||
DJANGO_LOG_LEVEL: INFO
|
||||
# Public site base URL
|
||||
GETGOV_PUBLIC_SITE_URL: https://federalist-877ab29f-16f6-4f12-961c-96cf064cf070.sites.pages.cloud.gov/site/cisagov/getgov-home/
|
||||
routes:
|
||||
- route: getgov-dk.app.cloud.gov
|
||||
services:
|
||||
- getgov-credentials
|
||||
- getgov-dk-database
|
|
@ -21,9 +21,9 @@ then
|
|||
git checkout -b new-dev-sandbox-$1
|
||||
fi
|
||||
|
||||
cf target -o cisa-getgov-prototyping
|
||||
cf target -o cisa-dotgov
|
||||
|
||||
read -p "Are you logged in to the cisa-getgov-prototyping CF org above? (y/n) " -n 1 -r
|
||||
read -p "Are you logged in to the cisa-dotgov CF org above? (y/n) " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
||||
then
|
||||
|
@ -49,9 +49,9 @@ sed -i '' '/getgov-staging.app.cloud.gov/ {a\
|
|||
|
||||
echo "Creating new cloud.gov space for $1..."
|
||||
cf create-space $1
|
||||
cf target -o "cisa-getgov-prototyping" -s $1
|
||||
cf bind-security-group public_networks_egress cisa-getgov-prototyping --space $1
|
||||
cf bind-security-group trusted_local_networks_egress cisa-getgov-prototyping --space $1
|
||||
cf target -o "cisa-dotgov" -s $1
|
||||
cf bind-security-group public_networks_egress cisa-dotgov --space $1
|
||||
cf bind-security-group trusted_local_networks_egress cisa-dotgov --space $1
|
||||
|
||||
echo "Creating new cloud.gov DB for $1. This usually takes about 5 minutes..."
|
||||
cf create-service aws-rds micro-psql getgov-$1-database
|
||||
|
@ -91,7 +91,7 @@ cd ..
|
|||
cf push getgov-$1 -f ops/manifests/manifest-$1.yaml
|
||||
|
||||
read -p "Please provide the email of the space developer: " -r
|
||||
cf set-space-role $REPLY cisa-getgov-prototyping $1 SpaceDeveloper
|
||||
cf set-space-role $REPLY cisa-dotgov $1 SpaceDeveloper
|
||||
|
||||
read -p "Should we run migrations? (y/n) " -n 1 -r
|
||||
echo
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
../ops/scripts/build.sh
|
||||
|
||||
# Deploy to sandbox
|
||||
cf target -o cisa-getgov-prototyping -s $1
|
||||
cf target -o cisa-dotgov -s $1
|
||||
cf push getgov-$1 -f ../ops/manifests/manifest-$1.yaml
|
||||
|
||||
# migrations need to be run manually. Developers can use this command
|
||||
|
|
|
@ -20,9 +20,9 @@ then
|
|||
git checkout -b remove-dev-sandbox-$1
|
||||
fi
|
||||
|
||||
cf target -o cisa-getgov-prototyping -s $1
|
||||
cf target -o cisa-dotgov -s $1
|
||||
|
||||
read -p "Are you logged in to the cisa-getgov-prototyping CF org above? (y/n) " -n 1 -r
|
||||
read -p "Are you logged in to the cisa-dotgov CF org above? (y/n) " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
||||
then
|
||||
|
|
|
@ -9,8 +9,8 @@ if [ -z "$1" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
cf target -o cisa-getgov-prototyping -s $1
|
||||
read -p "Are you logged in to the cisa-getgov-prototyping CF org above and targeting the correct space? (y/n) " -n 1 -r
|
||||
cf target -o cisa-dotgov -s $1
|
||||
read -p "Are you logged in to the cisa-dotgov CF org above and targeting the correct space? (y/n) " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
||||
then
|
||||
|
|
|
@ -580,6 +580,7 @@ ALLOWED_HOSTS = [
|
|||
"getgov-ab.app.cloud.gov",
|
||||
"getgov-bl.app.cloud.gov",
|
||||
"getgov-rjm.app.cloud.gov",
|
||||
"getgov-dk.app.cloud.gov",
|
||||
"get.gov",
|
||||
]
|
||||
|
||||
|
|
|
@ -79,6 +79,7 @@ class UserFixture:
|
|||
"username": "319c490d-453b-43d9-bc4d-7d6cd8ff6844",
|
||||
"first_name": "Rachid-Analyst",
|
||||
"last_name": "Mrad-Analyst",
|
||||
"email": "rachid.mrad@gmail.com",
|
||||
},
|
||||
{
|
||||
"username": "b6a15987-5c88-4e26-8de2-ca71a0bdb2cd",
|
||||
|
@ -129,6 +130,8 @@ class UserFixture:
|
|||
user.is_superuser = True
|
||||
user.first_name = admin["first_name"]
|
||||
user.last_name = admin["last_name"]
|
||||
if "email" in admin.keys():
|
||||
user.email = admin["email"]
|
||||
user.is_staff = True
|
||||
user.is_active = True
|
||||
user.save()
|
||||
|
@ -146,6 +149,8 @@ class UserFixture:
|
|||
user.is_superuser = False
|
||||
user.first_name = staff["first_name"]
|
||||
user.last_name = staff["last_name"]
|
||||
if "email" in admin.keys():
|
||||
user.email = admin["email"]
|
||||
user.is_staff = True
|
||||
user.is_active = True
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{% if domainapplication.status == 'approved' %} Approved
|
||||
{% elif domainapplication.status == 'in review' %} In Review
|
||||
{% elif domainapplication.status == 'rejected' %} Rejected
|
||||
{% elif domainapplication.status == 'submitted' %} Received
|
||||
{% elif domainapplication.status == 'submitted' %} Submitted
|
||||
{% else %}ERROR Please contact technical support/dev
|
||||
{% endif %}
|
||||
</p>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue