-
Notifications
You must be signed in to change notification settings - Fork 66
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/department-of-veterans-af…
…fairs/vets-api into add_1010_ezr_to_freeze_schemas
- Loading branch information
Showing
935 changed files
with
58,518 additions
and
19,534 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,64 +1,83 @@ | ||
{ | ||
"name": "vets-api native setup", | ||
"image": "mcr.microsoft.com/devcontainers/base:bullseye", | ||
"name": "native", | ||
"image": "mcr.microsoft.com/devcontainers/base:bookworm", | ||
|
||
"features": { | ||
"ghcr.io/devcontainers-contrib/features/ruby-asdf:0": { | ||
"version": "3.2.3" | ||
}, | ||
"ghcr.io/robbert229/devcontainer-features/postgresql-client:1": { | ||
"version": "15" | ||
}, | ||
"ghcr.io/devcontainers-contrib/features/redis-homebrew:1": { | ||
"version": "6.2" | ||
} | ||
}, | ||
"customizations": { | ||
"codespaces": { | ||
"openFiles": [ | ||
"docs/setup/codespaces.md", | ||
"README.md" | ||
] | ||
} | ||
}, | ||
"features": { | ||
"ghcr.io/devcontainers-contrib/features/ruby-asdf:0": { | ||
"version": "3.2.3" | ||
}, | ||
"ghcr.io/robbert229/devcontainer-features/postgresql-client:1": { | ||
"version": "15" | ||
}, | ||
"ghcr.io/devcontainers-contrib/features/redis-homebrew:1": { | ||
"version": "6.2" | ||
}, | ||
"ghcr.io/devcontainers/features/sshd:1": { | ||
"version": "latest" | ||
}, | ||
"ghcr.io/devcontainers/features/github-cli:1": { | ||
"version": "latest" | ||
} | ||
}, | ||
|
||
"forwardPorts": [ | ||
3000, | ||
9293, | ||
5432, | ||
6379 | ||
], | ||
"portsAttributes": { | ||
"3000": { | ||
"label": "vets-api", | ||
"onAutoForward": "notify", | ||
"requireLocalPort": true | ||
}, | ||
"9293": { | ||
"label": "vets-api-healthcheck", | ||
"onAutoForward": "silent", | ||
"requireLocalPort": true | ||
}, | ||
"5432": { | ||
"label": "postgis", | ||
"onAutoForward": "silent", | ||
"requireLocalPort": true | ||
}, | ||
"6379": { | ||
"label": "redis", | ||
"onAutoForward": "silent", | ||
"requireLocalPort": true | ||
} | ||
}, | ||
"forwardPorts": [ | ||
3000, | ||
9293, | ||
5432, | ||
6379 | ||
], | ||
"portsAttributes": { | ||
"3000": { | ||
"label": "vets-api", | ||
"onAutoForward": "notify", | ||
"requireLocalPort": true | ||
}, | ||
"9293": { | ||
"label": "vets-api-healthcheck", | ||
"onAutoForward": "silent", | ||
"requireLocalPort": true | ||
}, | ||
"5432": { | ||
"label": "postgis", | ||
"onAutoForward": "silent", | ||
"requireLocalPort": true | ||
}, | ||
"6379": { | ||
"label": "redis", | ||
"onAutoForward": "silent", | ||
"requireLocalPort": true | ||
} | ||
}, | ||
|
||
"postCreateCommand": "sh .devcontainer/post-create.sh", | ||
"postStartCommand": "sh .devcontainer/post-start.sh", | ||
"onCreateCommand": "sh .devcontainer/on-create.sh", | ||
"postCreateCommand": "sh .devcontainer/post-create.sh", | ||
"postStartCommand": "sh .devcontainer/post-start.sh", | ||
"postAttachCommand": { | ||
"server": "bin/rails server", | ||
"sidekiq": "bundle exec sidekiq" | ||
}, | ||
|
||
"customizations": { | ||
"codespaces": { | ||
"repositories": { | ||
"department-of-veterans-affairs/vets-api-mockdata": { | ||
"permissions": { | ||
"contents": "read", | ||
"pull_requests": "write" | ||
} | ||
} | ||
} | ||
}, | ||
"vscode": { | ||
"extensions": ["ms-azuretools.vscode-docker", "Shopify.ruby-lsp"] | ||
} | ||
} | ||
"customizations": { | ||
"codespaces": { | ||
"repositories": { | ||
"department-of-veterans-affairs/vets-api-mockdata": { | ||
"permissions": { | ||
"contents": "read", | ||
"pull_requests": "write" | ||
} | ||
} | ||
} | ||
}, | ||
"vscode": { | ||
"extensions": ["Shopify.ruby-lsp"] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
#!/bin/sh | ||
|
||
# this runs as part of pre-build | ||
|
||
echo "on-create start" | ||
echo "$(date +'%Y-%m-%d %H:%M:%S') on-create start" >> "$HOME/status" | ||
|
||
# Homebrew/asdf paths to zsh | ||
{ | ||
echo "export PATH=\"/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:\$PATH\"" | ||
echo "source \"\$HOME/.asdf/asdf.sh\"" | ||
} >> ~/.zshrc | ||
|
||
export PATH="${HOME}/.asdf/shims:${HOME}/.asdf/bin:${PATH}" | ||
asdf install ruby $( cat .ruby-version ) | ||
asdf global ruby $( cat .ruby-version ) | ||
|
||
# Clone needed repos | ||
git clone https://github.com/department-of-veterans-affairs/vets-api-mockdata.git /workspaces/vets-api-mockdata | ||
|
||
# Install dependencies | ||
sudo apt-get update | ||
sudo apt-get install -y libpq-dev pdftk shared-mime-info postgresql-15-postgis-3 tmux xclip | ||
|
||
# only run apt upgrade on pre-build | ||
if [ "$CODESPACE_NAME" = "null" ] | ||
then | ||
sudo apt-get update | ||
sudo apt-get upgrade -y | ||
sudo apt-get autoremove -y | ||
sudo apt-get clean -y | ||
fi | ||
|
||
gem install bundler | ||
NUM_CORES=$( cat /proc/cpuinfo | grep '^processor'|wc -l ) | ||
bundle config --global jobs `expr $NUM_CORES - 1` | ||
|
||
# Update test DB config | ||
echo 'test_database_url: postgis://postgres:password@localhost:5432/vets_api_test?pool=4' > config/settings/test.local.yml | ||
|
||
# Add service config | ||
if [ ! -f config/settings.local.yml ]; then | ||
cp config/settings.local.yml.example config/settings.local.yml | ||
cat <<EOT >> config/settings.local.yml | ||
database_url: postgis://postgres:password@localhost:5432/vets_api_development?pool=4 | ||
test_database_url: postgis://postgres:password@localhost:5432/vets_api_test?pool=4 | ||
redis: | ||
host: localhost | ||
port: 6379 | ||
app_data: | ||
url: redis://localhost:6379 | ||
sidekiq: | ||
url: redis://localhost:6379 | ||
betamocks: | ||
cache_dir: ../vets-api-mockdata | ||
# Allow access from localhost and shared github URLs. | ||
virtual_hosts: ["127.0.0.1", "localhost", !ruby/regexp /.*\.app\.github\.dev/] | ||
EOT | ||
fi | ||
|
||
# Start redis | ||
mkdir -p log | ||
nohup bash -c '/home/linuxbrew/.linuxbrew/opt/[email protected]/bin/redis-server /home/linuxbrew/.linuxbrew/etc/redis.conf' >> log/redis.log 2>&1 & | ||
|
||
# Start postgres | ||
sudo /etc/init.d/postgresql restart | ||
pg_isready -t 60 | ||
sudo -u root sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'password';" | ||
|
||
# Install gems and setup DB | ||
./bin/setup | ||
|
||
# Prewarm Bootsnap | ||
bundle exec bootsnap precompile --gemfile app/ lib/ | ||
|
||
echo "on-create complete" | ||
echo "$(date +'%Y-%m-%d %H:%M:%S') on-create complete" >> "$HOME/status" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,22 @@ | ||
#!/bin/sh | ||
|
||
# Add welcome message | ||
sudo cp .devcontainer/welcome.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt | ||
# this runs at Codespace creation - not part of pre-build | ||
|
||
# Switch to vets-api ruby version | ||
export PATH="${HOME}/.asdf/shims:${HOME}/.asdf/bin:${PATH}" | ||
asdf install ruby $( cat .ruby-version ) | ||
asdf global ruby $( cat .ruby-version ) | ||
echo "post-create start" | ||
echo "$(date) post-create start" >> "$HOME/status" | ||
|
||
git clone https://github.com/department-of-veterans-affairs/vets-api-mockdata.git ../vets-api-mockdata | ||
# update the repos | ||
git -C /workspaces/vets-api-mockdata pull | ||
git -C /workspaces/vets-api pull | ||
|
||
sudo apt update | ||
sudo apt install -y libpq-dev pdftk shared-mime-info postgresql-15-postgis-3 | ||
mkdir /workspaces/vets-api/.vscode | ||
{ | ||
{ | ||
"rubyLsp.rubyVersionManager": "none" | ||
} | ||
} >> /workspaces/vets-api/.vscode/settings.json | ||
|
||
gem install bundler | ||
NUM_CORES=$( cat /proc/cpuinfo | grep '^processor'|wc -l ) | ||
bundle config --global jobs `expr $NUM_CORES - 1` | ||
bundle install | ||
|
||
# Update test DB config | ||
echo 'test_database_url: postgis://postgres:password@localhost:5432/vets_api_test?pool=4' > config/settings/test.local.yml | ||
|
||
# Add service config | ||
if [ ! -f config/settings.local.yml ]; then | ||
cp config/settings.local.yml.example config/settings.local.yml | ||
cat <<EOT >> config/settings.local.yml | ||
database_url: postgis://postgres:password@localhost:5432/vets_api_development?pool=4 | ||
test_database_url: postgis://postgres:password@localhost:5432/vets_api_test?pool=4 | ||
redis: | ||
host: localhost | ||
port: 6379 | ||
app_data: | ||
url: redis://localhost:6379 | ||
sidekiq: | ||
url: redis://localhost:6379 | ||
betamocks: | ||
cache_dir: ../vets-api-mockdata | ||
# Allow access from localhost and shared github URLs. | ||
virtual_hosts: ["127.0.0.1", "localhost", !ruby/regexp /.*\.app\.github\.dev/] | ||
EOT | ||
fi | ||
|
||
mkdir -p log | ||
nohup bash -c '/home/linuxbrew/.linuxbrew/opt/[email protected]/bin/redis-server /home/linuxbrew/.linuxbrew/etc/redis.conf' >> log/redis.log 2>&1 & | ||
sudo /etc/init.d/postgresql restart | ||
pg_isready -t 60 | ||
sudo -u root sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'password';" | ||
./bin/setup | ||
echo "post-create complete" | ||
echo "$(date +'%Y-%m-%d %H:%M:%S') post-create complete" >> "$HOME/status" |
Oops, something went wrong.