Skip to content

Releases: opsmill/infrahub

Python SDK - Version 0.4.0

15 Jan 13:06
8993b4b
Compare
Choose a tag to compare

🚀 Features

🐛 Bug Fixes

🧰 Maintenance

Alpha #3.1 - Version 0.9.1

22 Dec 15:24
a15450f
Compare
Choose a tag to compare

Main Changes

Version 0.9.1 is a small release focued on fixing bugs.

Migration Guide

Rebuild the demo environment

It's mandatory to completely rebuild your demo environment with the following commands.

invoke demo.destroy demo.build demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data

All data will be lost, please make sure to backup everything you need before running this command.

The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.

Changelog

🐛 Bug Fixes

🧰 Maintenance

Alpha #3.0 - Version 0.9.0

20 Dec 07:37
3c2af6b
Compare
Choose a tag to compare

Main Changes

Ability to run checks on a proposed change based on a target group

With this change any check you define in an external Git repository can be tied to a group. This enables you to run the same check across all members of a group. For instance a custom check that gets executed on for all devices.

Upsert mutations

The upsert mutations allows you to update or create a resource with a single mutation. It can be useful if you are not sure if an object exists and you want to either update or create the object.

Add new attribute type: Dropdown

The dropdown works in the same way as an enum with the difference that the dropdown also supports assigning a color and description to make them stand out more. The description is visible when choosing the options, and the color will be displayed in the different views.

Add mutations and ability to add or remove enums and dropdowns as a user

A user can now add or remove enum and dropdown attribute choices using a mutation or the frontend.

Add new storage options

With the redesigned storage engine it's now possible to store artefacts in AWS S3 (or S3 compatible) aside from the local storage on disk.

Extend IPHost and IPNetwork types

Instead of just returning the ip interface (i.e., 172.16.1.1/24) or the ip network (i.e., 172.16.1.0/24) Infrahub now exposes additional options aside from value so you can query for ip, prefix_len, netmask etc. This should simplify some tasks when creating Jinja templates or Transforms.

Add markdown editor for textarea fields

A markdown editor has been added and will be used for all textarea type fields, and for comments in the proposed changes.

Migration Guide

Rebuild the demo environment

It's mandatory to completely rebuild your demo environment with the following commands.

invoke demo.destroy [demo.build](http://demo.build/) demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data

All data will be lost, please make sure to backup everything you need before running this command.

The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.

🚀 Features

🐛 Bug Fixes

🧰 Maintenance

Alpha #2.1 - Version 0.8.2

10 Nov 19:22
baeb591
Compare
Choose a tag to compare

Main Changes

Redesigned menu

The 0.8.2 version is a facelift release, the menu on the sidebar has been redesigned. Infrahub now lets you can specify what the objects menu should look like and what models to include based on configuration within the schema. You can define a parent object within the menu and set the icon to use. The infrastructure example schema has been updated to use this feature.

Migration Guide

Rebuild the demo environment

It's mandatory to completely rebuild your demo environment with the following commands.

invoke demo.destroy demo.build demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data

All data will be lost, please make sure to backup everything you need before running this command.

The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.

Changelog

🚀 Features

🐛 Bug Fixes

🧰 Maintenance

Alpha #2 - Version 0.8.1

03 Nov 10:32
846bff6
Compare
Choose a tag to compare

Changes

Bugfix release as ruamel-yaml=0.18.4 was deleted from pypi

🐛 Bug Fixes

Alpha #2 - Version 0.8.0

02 Nov 17:56
744f625
Compare
Choose a tag to compare

Main Changes

Conflict resolution for proposed changes

When working with a proposed change and there are data conflicts between the source and target branch,
the system now lets you specify how you want to resolve the conflict when merging. I.e. if you want to
keep the data from the source branch of use what's already in the target branch.

Python SDK

The Python SDK code now lives its own package and has been renamed from infrahub_client -> infrahub_sdk.

Friendlier error messages within the frontend

The frontend how displays error messages from GraphQL that are easier to understand.

Change URL schema in the frontend

The namespace of an object is now included in the URL to avoid conflicting URLs between namespaces.

Added support for loading multiple schema files and the ability to load from a git repository.

Previously you had to use the API or infrahubctl to load schema definitions into Infrahub. A third option
is now to specify these files in an external git repository. Multiple files can be specified to avoid working
with very large files for complex schemas.

Add ability to query nodes based on lineage information

Now you are able to query nodes using lineage information such as owner. So it's possible to query for
all nodes that are owned by a specific account.

Add support for specifying a UUID of nodes that are being created

Previously the ID of a node was always determined by the system, now it's possible to specify a custom uuid
when creating objects. For example when syncing from another system, it would now be possible to keep uuids
used in that other system.

Add checks for Artifact on a proposed change

When opening a proposed change the system will run checks for any artifact definitions that are defined
so that it's possible to see how a proposed change might change an artifact and also if the artifact can
be created successfully or if there is an error that should be resolved before merging.

Add ability to run checks for merge conflicts in Git

When there are repositories tied to a proposed change using non data-only branches the internal CI
system will now check if there are any merge conflicts within the git repositories that needs to be
resolved before merging the proposed change.

Add the ability to run user defined checks for a proposed change

It's possible to specify user defined checks within an external repository, these can then be executed
as part of a proposed change within the internal CI system.

Migration Guide

Rebuild the demo environment

It's mandatory to completely rebuild your demo environment with the following commands.

invoke demo.destroy demo.build demo.init demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data

All data will be lost, please make sure to backup everything you need before running this command.

The repository https://github.com/opsmill/infrahub-demo-edge has been updated to with a change to the Checks
for the internal CI system it's recommend to pull the latest changes into your fork.

Changelog

🚀 Features

🐛 Bug Fixes

🧰 Maintenance

0.7.2 - Alpha #1.2

27 Sep 06:55
bd1b062
Compare
Choose a tag to compare

Main changes

Version 0.7.2 is a small bugfix release

Migration Guide

Rebuild the demo environment

It's mandatory to completely rebuild your demo environment with the following commands.

invoke demo.destroy demo.build demo.init demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data

All data will be lost, please make sure to backup everything you need before running this command.

Changelog

🚀 Features

🐛 Bug Fixes

0.7.1 - Alpha #1.1

22 Sep 08:14
c4f8394
Compare
Choose a tag to compare

Main changes

Cookie Based authentication

Cookie based authentication makes it easier to use the GraphQL playground as you don't need to setup your token each time, once you have logged in an authentication cookie will be used automatically within the GraphQL environment.

General speedups when creating new branches and schema models

In the previous version when creating a new branch you would have to wait on a loading screen before everything was successfully created, this process is a lot faster now.

Nornir inventory plugin

An Inventory plugin for Nornir allows you to populate a Nornir inventory with data from Infrahub.

Migration Guide

Rebuild the demo environment

It's mandatory to completely rebuild your demo environment with the following commands.

invoke demo.destroy demo.build demo.init demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data

All data will be lost, please make sure to backup everything you need before running this command.

The repository https://github.com/opsmill/infrahub-demo-edge has been updated to include some Artifact Definition.
it's recommend to pull the latest changes into your fork.

Changelog

🚀 Features

🐛 Bug Fixes

  • Add ability to get a single branch from the SDK. @ogenstad (#1125)
  • Fix field warning with relationship many (value as array) @pa-lem (#1065)

🧰 Maintenance

0.7.0 - Alpha #1

12 Sep 09:40
afdcf67
Compare
Choose a tag to compare

Main Changes

Proposed Change

A Proposed Change provides a single workflow to integrate the changes from a given branch into the main branch.
It is the equivalent of a Pull Request or a Merge Request for Infrahub.

When a user is ready to integrate their change into the main branch, they can create a Proposed Change.
The Proposed Change panel groups all information related to the change and it will allow other members of the team to review and comment the changes as needed.
Information related to a change:

  • Data changes (diff)
  • Files changes (diff)
  • Artifacts changes (diff)
  • Schema changes (diff)
  • Checks results
  • Peer Review
  • Discussions

proposed-changes-1-create
proposed-changes-2-details

Artifacts

An artifact is the result of a Transformation for a specific context and/or object, it can have different format either in plain text or JSON.

An artifact improve the Transformation by providing the following additional features:

  • Caching : Generated Artifact are stored in the internal object storage. For a resource intensive Transformation, it will significantly reduce the load of the system if an artifact can be serve from the cache instead of regenerating each time.
  • Traceability : Past values of an artifact remains available. In a future release, it will be possible to compare the value of an artifact over time.
  • Peer Review : Artifacts are automatically part of the Proposed Change review process

While the content of an artifact can change, its identifier will remain the same over time.

artifacts-1-definition-details
artifacts-2-artifact-details

Support for branch agnostic and branch local models

It's now possible to define in the schema how a given model, attribute or relationship should behave regarding the branches.

By default, all models defined in the schema will be branch aware which means that any changes to an object based on a branch aware model will be applied only to the branch and can be integrated into the main branch via a Propose Change.
It's now possible to also configure a model, an attribute or a relationship as :

  • branch agnostic: All changes to an object based on a branch agnostic model will automatically be available in all branches.
  • branch local: All changes will stay local to the branch. A model in branch local mode will not be affected by the Diff and the Merge.

Object Storage

A new object store has been introduced to easily store and retrieve files in an object storage. The object storage interface is independent of the branches.

Currently only a local backend is supported but the goal over time is to support multiple backend like AWS S3 to allow users to select where they would like their files to be stored.

Python SDK

The Python SDK now support more granular queries by introducing the support for include and exclude parameters on all methods to query objects from Infrahub.

Architecture Change

Several changes to the Architecture have been introduced to prepare the deployment of Infrahub in a production environment:

  • The frontend container has been removed and the frontend is now being served from the same endpoint as the backend (http://localhost:8000 by default).
  • It's now possible to run multiple Git Agents, to increase the number of asynchronous tasks that Infrahub can process at the same time. To support that a new cache container has been introduced.

Other Changes

Migration Guide

Rebuild the demo environment

It's mandatory to completely rebuild your demo environment with the following commands.

invoke demo.destroy demo.build demo.init demo.start
invoke demo.load-infra-schema
invoke demo.load-infra-data

All data will be lost, please make sure to backup everything you need before running this command.

The repository https://github.com/opsmill/infrahub-demo-edge has been updated to include some Artifact Definition.
it's recommend to pull the latest changes into your fork.

Changelog

🚀 Features

🐛 Bug Fixes

🧰 Maintenance

  • Modify Data Integrity check to report progress @ogenstad (#1041)
  • Change rpc callback function to be async @ogenstad (#1016)
  • Restrict available namespaces for user schemas @ogenstad (#995)
  • Exclude Checks and Validators from the menu and rename Blacklist to Excludelist @dgarros (#984)
  • Remove test_client argument and functionality from SDK @ogenstad (#986)
  • Update demo data to add some conflicts @dgarros (#985)
  • Define enums as known objects and move to constants.py @ogenstad (#969)
  • Move data validation checks into git-agent @ogenstad (#974)
  • Fix to return value for type hinting of artifact generation @ogenstad (#959)
  • Modifications to service object to ease testing @ogenstad (#964)
  • Convert sdk tests to use config instead of test_client param @ogenstad (#965)
  • Use memgraph-platform for the dev environment @dgarros (#963)
  • Wait mutation in E2E test for tuto 1 @pa-lem (#958)
  • Add additional messages for checks @ogenstad (#953)
  • Update UI from new diff endpoint @pa-lem (#944)
  • Convert check_type to enum @ogenstad (#951)
  • Make tokens branch agnostic @ogenstad (#940)
  • Github Actions : Add timeout values and remove always() @dgarros (#938)
  • Convert AccountProfile, Branch and Relationship mutation names to CamelCase @dgarros (#934)
  • Various changes related to docker in CI @dgarros (#914)
  • Upgrade memgraph to version 2.10 @dgarros (#849)

Others

0.6.1

24 Jul 05:31
ea5a6cc
Compare
Choose a tag to compare
0.6.1 Pre-release
Pre-release

🚀 Features

🐛 Bug Fixes

  • Fix boolean input in create/edit forms @pa-lem (#831)
  • Fix select 2 step for add relationship + change relationship mutation @pa-lem (#830)
  • Fix number input to return value as number @pa-lem (#816)
  • Fix button index for add relationship @pa-lem (#811)
  • Fix generator for Repository mutation @ogenstad (#825)

🧰 Maintenance