diff --git a/.vale/styles/Infrahub/sentence-case.yml b/.vale/styles/Infrahub/sentence-case.yml index 585f6d3a45..5bab389af3 100644 --- a/.vale/styles/Infrahub/sentence-case.yml +++ b/.vale/styles/Infrahub/sentence-case.yml @@ -68,6 +68,7 @@ exceptions: - TLS - Tony Stark - TransformPython + - Trusted Root Certificate Store - UI - Vale - VS Code diff --git a/CHANGELOG.md b/CHANGELOG.md index d32276d017..bedcb2658c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,34 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang +## [1.1.0](https://github.com/opsmill/infrahub/tree/v1.1.0) - 2024-11-29 + +### Removed + +- Remove at parameter from GraphQL mutate functions ([#3587](https://github.com/opsmill/infrahub/issues/3587)) +- Remove the "role" attribute of base schema account node + - This attribute was no longer useful as roles are defined as dedicated nodes and are tightly related to permissions +- Remove the /api/diff/data and /api/diff/schema endpoints that have been replaced by the DiffTree GraphQL query + +### Added + +- Add a "deprecation" property to attribute and relationship schema in order to allow users to identify deprecated fields for nodes and provide a user-friendly message about the deprecation reasons ([#4245](https://github.com/opsmill/infrahub/issues/4245)) +- Add ability to use node HFID to create a related node on a generic relationship ([#4649](https://github.com/opsmill/infrahub/issues/4649)) + +### Fixed + +- Fix search anywhere so it looks at Groups ([#3173](https://github.com/opsmill/infrahub/issues/3173)) +- Loosened up logic to determine when an artifact needs to be regenerated during a proposed change. This is to ensure that we always generate a new artifact if required. Until some other sections are refactored this will also mean that Infrahub will generate artifacts in a few situations where it's not strictly required. This last part is a temporary solution. ([#4198](https://github.com/opsmill/infrahub/issues/4198)) +- Use the repository object ID as name for its git working copy directory ([#4296](https://github.com/opsmill/infrahub/issues/4296)) +- Search anywhere now supports IPv6 extended format ([#4613](https://github.com/opsmill/infrahub/issues/4613)) +- Synchronise git repository clones and updates for task workers in order to remove the need for a shared storage ([#4789](https://github.com/opsmill/infrahub/issues/4789)) +- Remove Profile in registry for renamed schema nodes ([#4909](https://github.com/opsmill/infrahub/issues/4909)) +- Forbid changing the "optional" property of an inherited attribute to not break GraphQL schema generation ([#4936](https://github.com/opsmill/infrahub/issues/4936)) +- Add support for irresolvable conflicts to the diff logic and DiffTree GraphQL query +- Fix a bug that prevented updating a relationship during a merge if ONLY the metadata was updated and not the peer +- Fix permission check when using multiple backends, if one grants a permission the next ones must not be queried +- Update the api/diff/artifacts endpoint to use a dedicated query + ## [1.0.7](https://github.com/opsmill/infrahub/tree/v1.0.7) - 2024-11-20 ### Fixed diff --git a/changelog/+diff-api-endpoints.removed.md b/changelog/+diff-api-endpoints.removed.md deleted file mode 100644 index 22eef1b59f..0000000000 --- a/changelog/+diff-api-endpoints.removed.md +++ /dev/null @@ -1 +0,0 @@ -Remove the /api/diff/data and /api/diff/schema endpoints that have been replaced by the DiffTree graphql query \ No newline at end of file diff --git a/changelog/+diff-artifacts.fixed.md b/changelog/+diff-artifacts.fixed.md deleted file mode 100644 index c8c4232b48..0000000000 --- a/changelog/+diff-artifacts.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Update the api/diff/artifacts endpoint to use a dedicated query \ No newline at end of file diff --git a/changelog/+irresolvable-conflicts.fixed.md b/changelog/+irresolvable-conflicts.fixed.md deleted file mode 100644 index bb90dbec81..0000000000 --- a/changelog/+irresolvable-conflicts.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Add support for irresolvable conflicts to the diff logic and DiffTree GraphQL query \ No newline at end of file diff --git a/changelog/+merge-rel-metadata.fixed.md b/changelog/+merge-rel-metadata.fixed.md deleted file mode 100644 index 7f26c1574e..0000000000 --- a/changelog/+merge-rel-metadata.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix a bug that prevented updating a relationship during a merge if ONLY the metadata was updated and not the peer. \ No newline at end of file diff --git a/changelog/+perm-accountrole.removed.md b/changelog/+perm-accountrole.removed.md deleted file mode 100644 index 038a7df1d1..0000000000 --- a/changelog/+perm-accountrole.removed.md +++ /dev/null @@ -1 +0,0 @@ -Remove the "role" attribute of base schema account node. This attribute was no longer useful as roles are defined as dedicated nodes and are tighly related to permissions. \ No newline at end of file diff --git a/changelog/+perm-check.fixed.md b/changelog/+perm-check.fixed.md deleted file mode 100644 index e8deed2cc8..0000000000 --- a/changelog/+perm-check.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix permission check when using multiple backends, if one grants a permission the next ones must not be queried. \ No newline at end of file diff --git a/changelog/3173.fixed.md b/changelog/3173.fixed.md deleted file mode 100644 index e7a4830df4..0000000000 --- a/changelog/3173.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix search anywhere so it looks at Groups diff --git a/changelog/3587.removed.md b/changelog/3587.removed.md deleted file mode 100644 index d64b3c4e95..0000000000 --- a/changelog/3587.removed.md +++ /dev/null @@ -1 +0,0 @@ -Remove at parameter from graphql mutate functions diff --git a/changelog/4198.fixed.md b/changelog/4198.fixed.md deleted file mode 100644 index a43ee915c7..0000000000 --- a/changelog/4198.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Loosened up logic to determine when an artifact needs to be regenerated during a proposed change. This is to ensure that we always generate a new artifact if required. Until some other parts are refactored this will also need that we will generate artifacts in a few situations where it's not strictly required. This last part is a temporary solution. diff --git a/changelog/4245.added.md b/changelog/4245.added.md deleted file mode 100644 index 8702e67fed..0000000000 --- a/changelog/4245.added.md +++ /dev/null @@ -1 +0,0 @@ -Add a "deprecation" property to attribute and relationship schema in order to allow users to identify deprecated fields for nodes and provide a user-friendly message about the deprecation reasons. \ No newline at end of file diff --git a/changelog/4296.fixed.md b/changelog/4296.fixed.md deleted file mode 100644 index d3a7529e33..0000000000 --- a/changelog/4296.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Use the repository object ID as name for its git working copy directory \ No newline at end of file diff --git a/changelog/4613.fixed.md b/changelog/4613.fixed.md deleted file mode 100644 index ea11ce8977..0000000000 --- a/changelog/4613.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Search anywhere now supports IPv6 extended format diff --git a/changelog/4649.added.md b/changelog/4649.added.md deleted file mode 100644 index b432ed5732..0000000000 --- a/changelog/4649.added.md +++ /dev/null @@ -1 +0,0 @@ -Add ability to use node HFID to create a related node on a generic relationship diff --git a/changelog/4789.fixed.md b/changelog/4789.fixed.md deleted file mode 100644 index 6b92dc3b19..0000000000 --- a/changelog/4789.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Synchronise git repository clones and updates for task workers in order to remove the need for a shared storage \ No newline at end of file diff --git a/changelog/4909.fixed.md b/changelog/4909.fixed.md deleted file mode 100644 index d214917f9d..0000000000 --- a/changelog/4909.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Remove Profile in registry for renamed schema nodes diff --git a/changelog/4936.fixed.md b/changelog/4936.fixed.md deleted file mode 100644 index c1093a288a..0000000000 --- a/changelog/4936.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Forbid changing the "optional" property of an inherited attribute to not break GraphQL schema generation \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 9c09e5dc35..886a8ec12f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -200,7 +200,7 @@ services: retries: 5 infrahub-server: - image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.0.7}" + image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.1.0}" restart: unless-stopped command: > gunicorn --config backend/infrahub/serve/gunicorn_config.py diff --git a/docs/docs/release-notes/infrahub/release-1_0.mdx b/docs/docs/release-notes/infrahub/release-1_0_0.mdx similarity index 100% rename from docs/docs/release-notes/infrahub/release-1_0.mdx rename to docs/docs/release-notes/infrahub/release-1_0_0.mdx diff --git a/docs/docs/release-notes/infrahub/release-1_1_0.mdx b/docs/docs/release-notes/infrahub/release-1_1_0.mdx new file mode 100644 index 0000000000..3009888a10 --- /dev/null +++ b/docs/docs/release-notes/infrahub/release-1_1_0.mdx @@ -0,0 +1,107 @@ +--- +title: Release 1.1.0 +--- + + + + + + + + + + + + + + + + + + + +
Release Number1.1.0
Release DateNovember 29th, 2024
Release CodenameLyon
Tag[infrahub-v1.1.0](https://github.com/opsmill/infrahub/releases/tag/infrahub-v1.1.0)
+ +# Release 1.1.0 + +This release contains both new features and bug-fixes to resolve issues found in Infrahub v1.0.7 and prior. + +## Main changes + +The complete list of changes can always be found in the `CHANGELOG.md` file in the Infrahub Git repository. + +### Removed + +- Remove at parameter from GraphQL mutate functions ([#3587](https://github.com/opsmill/infrahub/issues/3587)) +- Remove the "role" attribute of base schema account node + - This attribute was no longer useful as roles are defined as dedicated nodes and are tightly related to permissions +- Remove the /api/diff/data and /api/diff/schema endpoints that have been replaced by the DiffTree GraphQL query + +### Added + +- Add a "deprecation" property to attribute and relationship schema in order to allow users to identify deprecated fields for nodes and provide a user-friendly message about the deprecation reasons ([#4245](https://github.com/opsmill/infrahub/issues/4245)) +- Add ability to use node HFID to create a related node on a generic relationship ([#4649](https://github.com/opsmill/infrahub/issues/4649)) + +### Fixed + +- Fix search anywhere so it looks at Groups ([#3173](https://github.com/opsmill/infrahub/issues/3173)) +- Loosened up logic to determine when an artifact needs to be regenerated during a proposed change. This is to ensure that we always generate a new artifact if required. Until some other sections are refactored this will also mean that Infrahub will generate artifacts in a few situations where it's not strictly required. This last part is a temporary solution. ([#4198](https://github.com/opsmill/infrahub/issues/4198)) +- Use the repository object ID as name for its git working copy directory ([#4296](https://github.com/opsmill/infrahub/issues/4296)) +- Search anywhere now supports IPv6 extended format ([#4613](https://github.com/opsmill/infrahub/issues/4613)) +- Synchronise git repository clones and updates for task workers in order to remove the need for a shared storage ([#4789](https://github.com/opsmill/infrahub/issues/4789)) +- Remove Profile in registry for renamed schema nodes ([#4909](https://github.com/opsmill/infrahub/issues/4909)) +- Forbid changing the "optional" property of an inherited attribute to not break GraphQL schema generation ([#4936](https://github.com/opsmill/infrahub/issues/4936)) +- Add support for irresolvable conflicts to the diff logic and DiffTree GraphQL query +- Fix a bug that prevented updating a relationship during a merge if ONLY the metadata was updated and not the peer +- Fix permission check when using multiple backends, if one grants a permission the next ones must not be queried +- Update the api/diff/artifacts endpoint to use a dedicated query + +## Migration guide + +The process to migrate your instance of Infrahub to the latest version may vary depending on your deployment of Infrahub. +However, at a high-level, it will involve getting the latest version of the Infrahub code, and then performing any needed Database Migrations and Schema updates. + +Please ensure you have a **backup of your Infrahub environment** prior to attempting any migration or upgrade activities. + +### Migration of an Infrahub instance + +**First**, update the Infrahub version running in your environment. + +Below are some example ways to get the latest version of Infrahub in your environment. + +- For deployments via Docker Compose, update your container version by updating the `VERSION` environment variable and relaunch: + - `export VERSION="1.1.0"; docker compose pull && docker compose up -d` +- For deployments via Kubernetes, utilize the latest version of the Helm chart supplied with this release + +**Second**, once you have gotten the desired version of Infrahub in your environment, please run the following commands. + +> Note: If you are running Infrahub in Docker/K8s, these commands need to run from a container where Infrahub is installed. + +```shell +infrahub db migrate +infrahub db update-core-schema +``` + +**Finally**, restart all instances of Infrahub. + +### Migration of a dev or demo instance + +If you are using the `dev` or `demo` environments, we have provided `invoke` commands to aid in the migration to the latest version. +The below examples provide the `demo` version of the commands, however similar commands can be used for `dev` as well. + +```shell +invoke demo.stop +invoke demo.build +invoke demo.migrate +invoke demo.start +``` + +If you don't want to keep your data, you can start a clean instance with the following command. + +> **Warning: All data will be lost, please make sure to backup everything you need before running this command.** + +```shell +invoke demo.destroy demo.build demo.start demo.load-infra-schema demo.load-infra-data +``` + +The repository https://github.com/opsmill/infrahub-demo-edge has also been updated, it's recommended to pull the latest changes into your fork. \ No newline at end of file diff --git a/docs/sidebars.ts b/docs/sidebars.ts index 2bfc4873d2..45da805de2 100644 --- a/docs/sidebars.ts +++ b/docs/sidebars.ts @@ -312,14 +312,16 @@ const sidebars: SidebarsConfig = { slug: 'release-notes/infrahub', }, items: [ - // 'release-notes/infrahub/release-1_0_7-DRAFT' + // 'release-notes/infrahub/release-1_1_1-DRAFT' + 'release-notes/infrahub/release-1_1_0', + 'release-notes/infrahub/release-1_0_7', 'release-notes/infrahub/release-1_0_6', 'release-notes/infrahub/release-1_0_5', 'release-notes/infrahub/release-1_0_4', 'release-notes/infrahub/release-1_0_3', 'release-notes/infrahub/release-1_0_2', 'release-notes/infrahub/release-1_0_1', - 'release-notes/infrahub/release-1_0', + 'release-notes/infrahub/release-1_0_0', 'release-notes/infrahub/release-0_16_4', 'release-notes/infrahub/release-0_16_3', 'release-notes/infrahub/release-0_16_2', diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 1e1fc0f754..cdf97735ea 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -15,12 +15,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 3.2.5 +version: 3.3.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "1.0.7" +appVersion: "1.1.0" dependencies: - name: neo4j diff --git a/pyproject.toml b/pyproject.toml index ab1affc083..08760af98f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "infrahub-server" -version = "1.1.0-dev" +version = "1.1.0b1" description = "Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run." authors = ["OpsMill "] readme = "README.md"