-
Notifications
You must be signed in to change notification settings - Fork 11
feat(Data/neo4jDatabases): add Neo4j resource type and Kubernetes recipe #58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat(Data/neo4jDatabases): add Neo4j resource type and Kubernetes recipe #58
Conversation
Signed-off-by: Nick Beenham <[email protected]>
@Reshrahim new PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution @superbeeny. I tested the Recipe deployment and it seems to be working
Suggested minor changes for consistency across definitions in the repo.
param environment string | ||
|
||
resource myapplication 'Radius.Core/applications@2025-08-01-preview' = { ... } | ||
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { ... } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { ... } |
nit: repetitive
@@ -0,0 +1,31 @@ | |||
# Kubernetes Recipe - Neo4j (Alpha) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can the details in this README be added as comments within the Recipe ?
Also Outputs and Parameters sections are repetitive from the other README
|------------|-----------|--------------------------------------|-------| | ||
| Kubernetes | Bicep | `kubernetes-neo4j.bicep` | Alpha | | ||
|
||
## Recipe Input Properties |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency across definitions, would be good to follow this format for Recipe input and output properties -https://github.com/radius-project/resource-types-contrib/blob/main/Data/mySqlDatabases/README.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The resource type definition looks good to me. I did not test the recipe. It's difficult to test without a test application.
extension radius | ||
param environment string | ||
|
||
resource myapplication 'Radius.Core/applications@2025-08-01-preview' = { ... } | ||
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { ... } | ||
|
||
Then add a `neo4jDatabases` resource. | ||
|
||
resource neo4j 'Radius.Data/neo4jDatabases@2025-09-11-preview' = { | ||
name: 'neo4j' | ||
properties: { | ||
application: myapplication.id | ||
environment: environment | ||
} | ||
} | ||
|
||
To connect to the new Neo4j database, add a connection between the container and the new Neo4j database. The final Container resource should look similar to: | ||
|
||
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { | ||
name: 'myContainer' | ||
properties: { | ||
environment: environment | ||
application: myapplication.id | ||
containers: { ... } | ||
connections: { | ||
neo4jDb: { | ||
source: neo4j.id | ||
} | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
extension radius | |
param environment string | |
resource myapplication 'Radius.Core/applications@2025-08-01-preview' = { ... } | |
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { ... } | |
Then add a `neo4jDatabases` resource. | |
resource neo4j 'Radius.Data/neo4jDatabases@2025-09-11-preview' = { | |
name: 'neo4j' | |
properties: { | |
application: myapplication.id | |
environment: environment | |
} | |
} | |
To connect to the new Neo4j database, add a connection between the container and the new Neo4j database. The final Container resource should look similar to: | |
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { | |
name: 'myContainer' | |
properties: { | |
environment: environment | |
application: myapplication.id | |
containers: { ... } | |
connections: { | |
neo4jDb: { | |
source: neo4j.id | |
} | |
} | |
} | |
} | |
``` | |
extension radius | |
param environment string | |
resource myApplication 'Radius.Core/applications@2025-08-01-preview' = { ... } | |
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { ... } | |
``` | |
Then add a `neo4jDatabases` resource. | |
``` | |
resource neo4j 'Radius.Data/neo4jDatabases@2025-09-11-preview' = { | |
name: 'neo4j' | |
properties: { | |
application: myApplication.id | |
environment: environment | |
} | |
} | |
``` | |
To connect to the new Neo4j database, add a connection between the container and the new Neo4j database. The final Container resource should look similar to: | |
``` | |
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { | |
name: 'myContainer' | |
properties: { | |
environment: environment | |
application: myApplication.id | |
containers: { ... } | |
connections: { | |
neo4jDb: { | |
source: neo4j.id | |
} | |
} | |
} | |
} | |
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that we have resource types in the Dashboard, I've formatted the developer docs as Markdown.
CONNECTION_NEO4JDB_HOST | ||
CONNECTION_NEO4JDB_PORT | ||
CONNECTION_NEO4JDB_DATABASE | ||
CONNECTION_NEO4JDB_USERNAME | ||
CONNECTION_NEO4JDB_PASSWORD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CONNECTION_NEO4JDB_HOST | |
CONNECTION_NEO4JDB_PORT | |
CONNECTION_NEO4JDB_DATABASE | |
CONNECTION_NEO4JDB_USERNAME | |
CONNECTION_NEO4JDB_PASSWORD | |
- CONNECTION_NEO4JDB_HOST | |
- CONNECTION_NEO4JDB_PORT | |
- CONNECTION_NEO4JDB_DATABASE | |
- CONNECTION_NEO4JDB_USERNAME | |
- CONNECTION_NEO4JDB_PASSWORD |
Description
Replacement PR #45
Related GitHub Issue:
Testing
Contributor Checklist
rad resource-type show
is correctenum: []
required: []
for every object property (not just the top-level properties)readOnly: true