Skip to content

Infrahub - v1.1.0b1

Pre-release
Pre-release
Compare
Choose a tag to compare
@lykinsbd lykinsbd released this 25 Nov 15:52
· 5 commits to develop since this release
f120de0

Release 1.1.0 Beta 1

This is a preview release of Infrahub v1.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)
  • 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)
  • Add ability to use node HFID to create a related node on a generic relationship (#4649)

Fixed

  • Fix search anywhere so it looks at Groups (#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)
  • Use the repository object ID as name for its git working copy directory (#4296)
  • Search anywhere now supports IPv6 extended format (#4613)
  • Synchronise git repository clones and updates for task workers in order to remove the need for a shared storage (#4789)
  • Remove Profile in registry for renamed schema nodes (#4909)
  • Forbid changing the "optional" property of an inherited attribute to not break GraphQL schema generation (#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.

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.

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.

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.