Nomulus basics

38 views
Skip to first unread message

Torrey Jones

unread,
Mar 5, 2025, 2:01:23 PMMar 5
to nomulus-discuss
Hi, 
I'm trying to evaluate nomuls for hosting epp and other components.  I've been running into multiple problems just trying to get a basic build & test.

I'm performing these steps on a Macbook M1 Pro w/16GB memory, running Sonoma 14.6,  w/Docker desktop 4.37.2.

I've been working in cloud environments for a long time, in devops and infrastructure roles. Most recently GCP w/Cloud Run, GKE, GAE, and all the typical supporting GCP stuff.

I dont think I'm missing anything, but I feel like i've been down multiple rabbit holes over the past day or so trying to just get a simple build on my local to succeed before even attempting to push into a GCP/GAE project.  

Where am I going wrong in this?

Below is where i've been, and this is only a portion of the rabbit holes, but i cant help but think something is not correct early in the process.

Does anyone have any feedback on how to get a simple build to complete successfully?

# My nomulus experience(s)
here in you'll find my notes on my nomulus experience(s). I'm not sure what i'm going to do with this yet, but I'm going to try to keep it up to date, as it may help others

# initial build

per [instructions](https://github.com/google/nomulus/blob/master/docs/install.md), git clone the repo and run `./nom_buid build`

So, I started with a `./nom_buid build` and found some rabbit holes...

first, the install doc seems out of date, which is partially my inspiration for this doc.

I came across [this post](https://groups.google.com/g/nomulus-discuss/c/4QyFknshKSU/m/VFwbn9e9BAAJ), which basically says:
```
1) set up GCP projects for production and test environments
2) update projects.gradle with the names of those environments
3) update the configuration files in core/src/main/java/google/registry/config/files with correct configuration for those environments (e.g. nomulus-config-production.yaml, overriding the values in default-config.yaml as appropriate).  At minimum you'll want to set up a client id and secret for registryTool.
4) deploy to an environment with "./nom_build appengineDeploy --environment=<environment-name>" where <environment-name> is the short name of an environment in projects.gradle.  For example, to deploy to sandbox: "./nom_build appengineDeploy --environment=sandbox"
```

this is generally in alignment with the current install docs.

## 2025-03-05
---

java, a bunch of brew install, found that openjdk@23 has some stuff that breaks (I didnt capture the error, but I'll try to remember to come back to it)

anyhow, downgraded to openjdk@21

---

just trying to run tests locally;
found [this post](https://groups.google.com/g/nomulus-discuss/c/ENYixOao-P4/m/35sC0ATpAgAJ) that indicates you should be able to simply clone the repo and run 'gradlew test` and all tests should pass...

```
> Task :db:test FAILED

SchemaTest > deploySchema_emptyDb() FAILED
    org.testcontainers.containers.ContainerFetchException at GenericContainer.java:1364
        Caused by: com.github.dockerjava.api.exception.NotFoundException at DefaultInvocationBuilder.java:241

5 tests completed, 1 failed, 2 skipped
```

lots of other errors as well about classes not being found, etc. so i decided to try to do a build...

---
### ./nom_buid build fails,

error: `Execution failed for task ':db:test'.`

`org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=aarch64/postgres:17-alpine, imagePullPolicy=DefaultPullPolicy(), imageNameSubstitutor=org.testcontainers.utility.ImageNameSubstitutor$LogWrappedImageNameSubstitutor@25df2014)`

update `NomulusPostgreSql.java` to use `latest` instead of `17-alpine`

`  private static final String TARGET_VERSION = "latest";`


code formatter updates some white space

`javaIncrementalFormatCheck` fails

did not run `javaIncrementalFormatApply` to fix the whitespace. I didnt see this task until later.
Iinstead I just commented out the task in `build.gradle`

`// tasks.build.dependsOn(tasks.javaIncrementalFormatCheck)`

the list of things then sprials into updating container image for postgres from 17-alpine to latest, test cases failing for different reasons; mostly because of core:standardTest failing miserably. for which i've just been stripping test after test, forcing test assertions true, etc..  I can provide similar notes for all of this as well, but I think at this point you'll understand.

Where am I going wrong?

Torrey Jones

unread,
Mar 6, 2025, 4:04:00 PMMar 6
to nomulus-discuss
update:
I reverted back to master branch, tried again, started going down the same path, so i basically skipped the standardTests by going to `gradle.properties` and setting `testFilter=noTests` so the filter tests in build.gradle wouldnt match any tests.  after that, a few other hiccups, but i have a teh appengine services running; starting to do the config (creating storage accounts now)

Weimin Yu

unread,
Mar 6, 2025, 4:47:56 PMMar 6
to Torrey Jones, nomulus-discuss
Your problems may be because of your use of a Mac.

From the doc: "Also, the instructions in this document have only been tested on Linux. They might work with some alterations on other operating systems."

--
NOTE: This is a public discussion list for the Nomulus domain registry project.
---
You received this message because you are subscribed to the Google Groups "nomulus-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nomulus-discu...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/nomulus-discuss/171628e2-7a8a-4363-8c9a-1b36dac7d9b0n%40googlegroups.com.

Torrey Jones

unread,
Mar 6, 2025, 5:25:29 PMMar 6
to nomulus-discuss
That's a good observation.
If that's true, does that imply that no one does active development on Mac? if anyone does development on Mac, almost certainly the test's would need to work properly.  but I digress.

Thanks for pointing that out, I'm currently running flywayMigrate into the Postgres in gcp.

thanks again,

Reply all
Reply to author
Forward
0 new messages