Skip to content

Conversation

superbeeny
Copy link

Description

Replacement PR #45

Related GitHub Issue:

Testing

Contributor Checklist

  • File names follow naming conventions and folder structure
  • Platform engineer documentation is in README.md
  • Developer documentation is the top-level description property
  • Example of defining the Resource Type is in the developer documentation
  • Example of using the Resource Type with a Container is in the developer documentation
  • Verified the output of rad resource-type show is correct
  • All properties in the Resource Type definition have clear descriptions
  • Enum properties have values defined in enum: []
  • Required properties are listed in required: [] for every object property (not just the top-level properties)
  • Properties about the deployed resource, such as connection strings, are defined as read-only properties and are marked as readOnly: true
  • Recipes include a results output variable with all read-only properties set
  • Environment-specific parameters, such as a vnet ID, are exposed for platform engineers to set in the Environment
  • Recipes use the Recipe context object when possible
  • Recipes are provided for at least one platform
  • Recipes handle secrets securely
  • Recipes are idempotent
  • Resource types and recipes were tested

@superbeeny superbeeny requested review from a team as code owners October 6, 2025 19:54
@superbeeny
Copy link
Author

@Reshrahim new PR

Copy link
Contributor

@Reshrahim Reshrahim left a 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' = { ... }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
resource myContainer 'Radius.Compute/containers@2025-08-01-preview' = { ... }

nit: repetitive

@@ -0,0 +1,31 @@
# Kubernetes Recipe - Neo4j (Alpha)
Copy link
Contributor

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
Copy link
Contributor

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

Copy link
Contributor

@zachcasper zachcasper left a 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.

Comment on lines +7 to +37
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
}
}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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
}
}
}
}
```

Copy link
Contributor

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.

Comment on lines +41 to +45
CONNECTION_NEO4JDB_HOST
CONNECTION_NEO4JDB_PORT
CONNECTION_NEO4JDB_DATABASE
CONNECTION_NEO4JDB_USERNAME
CONNECTION_NEO4JDB_PASSWORD
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants