Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
786549a
build: wip - use NEDSSDev for containerization
mcmcgrath13 Jan 6, 2026
63de946
fix: cleanup commented out code, env setup
mcmcgrath13 Jan 6, 2026
48f8633
build: remove redundant container folders
mcmcgrath13 Jan 6, 2026
28bbfbe
fix: remove now optional env vars from things, clean up readmes
mcmcgrath13 Jan 6, 2026
c88dea7
docs: stopping containers, NEDSSDEV_PATH example
mcmcgrath13 Jan 6, 2026
9974b45
fix: remove todo
mcmcgrath13 Jan 7, 2026
5748438
fix: remove debug port exposure
mcmcgrath13 Jan 7, 2026
790fd7e
docs: remove some now irrelevant-to-this-repo docs
mcmcgrath13 Jan 7, 2026
965c9f0
build: wip - upgrade elasticsearch
mcmcgrath13 Jan 8, 2026
4e7877e
fix: address elasticsearch-java breaking changes
mcmcgrath13 Jan 8, 2026
962d79a
fix: comose => compose
mcmcgrath13 Jan 8, 2026
3d9df53
fix: dependencies, typo
mcmcgrath13 Jan 12, 2026
438962c
fix: dependencies, typo
mcmcgrath13 Jan 12, 2026
d78a7b4
Merge branch 'mcm/build-nbs6-local' of https://github.com/CDCgov/NEDS…
mcmcgrath13 Jan 12, 2026
bfdb342
fix: less deps
mcmcgrath13 Jan 12, 2026
8759c53
Merge branch 'mcm/build-nbs6-local' into mcm/build-up-elasticsearch
mcmcgrath13 Jan 28, 2026
2b6eced
Merge branch 'main' into mcm/build-up-elasticsearch
mcmcgrath13 Jan 28, 2026
b405806
style: formatting
mcmcgrath13 Jan 28, 2026
d2de4dd
ci: trigger build and push
mcmcgrath13 Jan 28, 2026
abd8f24
build: also update kibana
mcmcgrath13 Jan 28, 2026
fcb8961
ci: remove build on push
mcmcgrath13 Jan 28, 2026
bf4cd30
Merge branch 'main' of https://github.com/CDCgov/NEDSS-Modernization …
mcmcgrath13 Mar 12, 2026
903f572
fix: merge cruft
mcmcgrath13 Mar 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ log/
*.zip
.project
.tool-versions
.settings
.classpath
.factorypath


# dependencies
node_modules/
Expand Down
13 changes: 11 additions & 2 deletions apps/modernization-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,17 @@ Ensure you have the following installed:
### 1. Environment & Secrets

This project uses a `.env` file for local configuration. The provided script initializes this file and exports
variables to your current session.
variables to your current session or relevant properties set
in `src/main/resources/application-local.yml`

```yml
nbs:
security:
parameterSecret: result of `openssl rand -base64 32 | cut -c1-32`
tokenSecret: result of `openssl rand -base64 64`
datasource:
password: password used for sa user on db
```

```shell
# From repo root
Expand Down Expand Up @@ -200,4 +210,3 @@ multipart form-data that easily hit the default `max-part-count` of Tomcat. A th
accommodate Page Builder templates with large number of questions. Due to the customizability of Page Builder templates
this limit may not be sufficient in some deployments. The `max-part-count` can be overridden using the
`SERVER_TOMCAT_MAX_PART_COUNT` environment variable.

Original file line number Diff line number Diff line change
Expand Up @@ -493,9 +493,12 @@ private Script searchDateOfBirthScript(final String value) {
script ->
script
.source(
"doc['birth_time'].size()!=0 && (doc['birth_time'].value.toString().substring(5,10)+'-'+doc['birth_time'].value.toString().substring(0,4)).contains('"
+ value
+ "')")
so ->
so.scriptString(
"doc['birth_time'].size()!=0 &&"
+ " (doc['birth_time'].value.toString().substring(5,10)+'-'+doc['birth_time'].value.toString().substring(0,4)).contains('"
+ value
+ "')"))
.lang(PAINLESS));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,10 @@ private Optional<QueryVariant> applyDateOfBirthDayCriteria(final PatientSearchCr
script ->
script
.source(
"doc['birth_time'].size()!=0 && doc['birth_time'].value.getDayOfMonth() == "
+ equalsDate.day())
so ->
so.scriptString(
"doc['birth_time'].size()!=0 && doc['birth_time'].value.getDayOfMonth() == "
+ equalsDate.day()))
.lang(PAINLESS)))));
}

Expand All @@ -185,8 +187,10 @@ private Optional<QueryVariant> applyDateOfBirthMonthCriteria(
script ->
script
.source(
"doc['birth_time'].size()!=0 && doc['birth_time'].value.getMonthValue() == "
+ equalsDate.month())
so ->
so.scriptString(
"doc['birth_time'].size()!=0 && doc['birth_time'].value.getMonthValue() == "
+ equalsDate.month()))
.lang(PAINLESS)))));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import co.elastic.clients.transport.rest5_client.Rest5ClientTransport;
import co.elastic.clients.transport.rest5_client.low_level.Rest5Client;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import java.net.URI;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand All @@ -15,14 +15,14 @@
class ElasticsearchConfiguration {

@Bean
RestClient elasticsearchRestClient(@Value("${nbs.elasticsearch.url}") final String url) {
return RestClient.builder(HttpHost.create(url)).build();
Rest5Client elasticsearchRestClient(@Value("${nbs.elasticsearch.url}") final String url) {
return Rest5Client.builder(URI.create(url)).build();
}

@Bean
ElasticsearchTransport elasticsearchTransport(
final RestClient restClient, final ObjectMapper objectMapper) {
return new RestClientTransport(restClient, new JacksonJsonpMapper(objectMapper));
final Rest5Client restClient, final ObjectMapper objectMapper) {
return new Rest5ClientTransport(restClient, new JacksonJsonpMapper(objectMapper));
}

@Bean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Collection<SimpleIndex> notExists(final Collection<SimpleIndex> indices) {

try {

List<IndicesRecord> existing = client.cat().indices().valueBody();
List<IndicesRecord> existing = client.cat().indices().indices();

for (IndicesRecord found : existing) {
remaining.remove(found.index());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.testcontainers.utility.DockerImageName;

public class NbsElasticsearchContainer extends ElasticsearchContainer {
private static final String ELASTIC_SEARCH_DOCKER = "elasticsearch:7.17.7";
private static final String ELASTIC_SEARCH_DOCKER = "elasticsearch:9.2.3";

private static final String CLUSTER_NAME = "cluster.name";

Expand Down
2 changes: 1 addition & 1 deletion cdc-sandbox/elasticsearch/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Dockerfile to build elasticsearch image
FROM docker.elastic.co/elasticsearch/elasticsearch:7.17.7
FROM docker.elastic.co/elasticsearch/elasticsearch:9.2.3

# Relaxes security and sets node to single
ENV xpack.security.enabled=false
Expand Down
3 changes: 1 addition & 2 deletions cdc-sandbox/kibana/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Currently NOT in use
# Dockerfile to build kibana image
FROM docker.elastic.co/kibana/kibana:7.17.7
FROM docker.elastic.co/kibana/kibana:9.2.4

# Set environment variables
ENV ELASTICSEARCH_HOSTS=http://elasticsearch:9200

2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ springBoot-web = { module = 'org.springframework.boot:spring-boot-starter-web',
springBoot-actuator = {module='org.springframework.boot:spring-boot-starter-actuator', version.ref= 'springBoot'}
graphql = { module = 'com.graphql-java:graphql-java', version = '25.0' }
springBoot-graphql = { module = 'org.springframework.boot:spring-boot-starter-graphql', version.ref = 'springBoot' }
elasticsearch-java = { module = 'co.elastic.clients:elasticsearch-java', version = '8.19.0' }
elasticsearch-java = { module = 'co.elastic.clients:elasticsearch-java', version = '9.2.3' }
parsson = { module = 'org.eclipse.parsson:parsson', version = '1.1.7' }
spring-test = { module = 'org.springframework.boot:spring-boot-starter-test', version.ref = 'springBoot' }
spring-security = { module = 'org.springframework.boot:spring-boot-starter-security', version.ref = 'springBoot' }
Expand Down
Loading