Releases: capactio/capact
v0.7.0
🚀 Capact v0.7.0 is now available! We were working tremendously hard to create new features and improvements, both for Capact users and content developers.
✨ Key highlights
- We introduced delegation storage - a service that manages external TypeInstance's
value
for every resource version, as well as thelockedBy
piece of information. When you do not want to use static, unencrypted data - that is a solution for you! - AWS Secret Manager - our first delegated storage service that store and manage your TypeInstance values externally in AWS Secret Manager.
- Helm backend storage - gives you an option to map the TypeInstance's value to a given Helm release installed in a cluster. To start using it, see our docs.
- Other bug fixes and improvements, such as:
- manifest validation enhancements,
- polishing the installation process for the CLI and adding more useful commands,
- improved JSON schema for many manifests and make them up to date.
See the full changelog below 👇
🚨 Breaking
🔧 Bug Fixes
- Do not compress darwin arm64 binary #714 (@blazejmalecki)
- Fix storage backend ID for TypeInstance from nested workflow #706 (@mkuziemko)
- Improve errors messages in creating Action mode #702 (@mkuziemko)
- Fix dead links #711 (@mszostok)
- Fetch value on update only if truly needed by external backend #703 (@mszostok)
- Add opt to remove TypeInstance's revision, fix update mutation #698 (@mszostok)
- Fix resolving backend.context in cypher #662 (@mszostok)
- Fix names of used secrets on CI #684 (@mszostok)
- Ignore failed pods in tests because of graceful node shutdown for Kubernetes 1.22+ #679 (@pkosiec)
- Remove no longer needed Hadolint ignore for syntax comment #680 (@pkosiec)
- Add "safe-to-evict" autoscaler annotations for components with
emptyDir
mounted #676 (@pkosiec) - Fix Helm Implementation generation for empty objects and arrays in Capact CLI #664 (@pkosiec)
- Fix binary location #648 (@pkosiec)
- Update Capact Hub dependencies #639 (@pkosiec)
🚀 Enhancements
- Add act logs command #722 (@mszostok)
- Stream the output in Terraform runner #720 (@pkosiec)
- Add act wait command #719 (@mszostok)
- Add support for ctx update and attach id for downloaded TypeInstance #713 (@mszostok)
- Narrow-down the download TypeInstance details #707 (@mszostok)
- Validate Type for storage backends #700 (@mkuziemko)
- Implement TypeInstance Value Resolver and modify TypeInstance upload #697 (@pkosiec)
- Improve readability of context schema #694 (@mkuziemko)
- Describe approach for dynamic TypeInstances in nested workflows and update gRPC API #696 (@pkosiec)
- Use golangci-lint GitHub Action in pipelines #693 (@mkuziemko)
- Implement Local Hub integration tests as separate job #683 (@mkuziemko)
- Add evict annotation for Helm storage #690 (@mszostok)
- Implement Helm release storage backend #677 (@mszostok)
- Add Helm template storage backend logic #685 (@mszostok)
- Support Helm storage backends in Helm runner #686 (@pkosiec)
- Handle multiple backends for the TypeInstance #657 (@mkuziemko)
- Update gcloud usage #682 (@mszostok)
- Add Helm chart for Helm backend storage #675 (@pkosiec)
- Add Storage TypeInstance related validation #659 (@mszostok)
- Bootstrap Helm storage backend Go app #669 (@pkosiec)
- Add support for external storages on lock, unlock, update, get, and delete #654 (@mszostok)
- Install Test Storage Backend for Hub when
USE_TEST_SETUP=true
#655 (@pkosiec) - Refactor hub-js, add value mirroring for specified backend #652 (@mszostok)
- Create Helm chart for Secret Storage Backend and support default secret provider #653 (@pkosiec)
- Add support for Homebrew #627 (@mkuziemko)
- Migrate context list to config storage #642 (@mkuziemko)
- Implement Secret storage backend as gRPC server #644 (@pkosiec)
- Order returned TypeInstances by path:revision and createdAt #641 (@mszostok)
- Add e2e support for setting backend via Policy #630 (@mszostok)
- Describe investigation of the Local Hub with PostgreSQL implementation #628 (@pkosiec)
- Validate input parameters names on Implementation manifest #610 (@mkuziemko)
- Validate parent nodes in manifests #621 (@mszostok)
- Add support to find Types based on prefix of parent nodes #620 (@mszostok)
- Update populator to properly resolve requires section in Implementation #623 (@mszostok)
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -...
-
-
-
-
-
-
-
-
v0.6.0
🎉 Capact v0.6.0 is finally here! We try to keep up the pace to deliver brand-new features and other improvements to you. So, what's new, you ask?
✨ Key highlights
- Introducing Capact Dashboard - a brand-new management UI for Capact! With the initial version, you can explore Public Hub and manage your Actions. Read more here!
- Our manifest generation tooling is out of alpha! Apart from supporting all kinds of OCF manifests, now you can use a very convenient, interactive command to generate multiple kind of manifests. To learn more, see the
capact manifest generate
docs. - Populator for Capact Public Hub now supports multiple source repositories! No need to fork Capact Hub Manifests repository and add your own manifests on top on that. Check out the updated Manage Public Hub manifests document.
- New manifests and runners: install Redis and MinIO using Capact! Also, the new simple "Hello Capact" manifests make easy to learn what is Capact. Stay tuned for a blog post regarding this topic!
- Other bug fixes and improvements, such as:
- enhanced Capact installation stability,
- improved JSON schema for many manifests,
- updated dependencies,
- manifest validation enhancements.
See the full changelog below 👇
🔧 Bug Fixes
- Fix release workflow #618 (@pkosiec)
- Fix Dgraph not supported links #612 (@mszostok)
- Enable Gateway CORS by default #603 (@pkosiec)
- Escape dashes in capact-when field #597 (@mkuziemko)
- Fix getting input parameters in interactive mode #595 (@mszostok)
- Ensure map initialized before accessing it, create secret only if needed #592 (@mszostok)
- Update runc Go dependency and Jinja2 templating base image #590 (@pkosiec)
- Bump Neo4j to 4.2.13 and apoc to 4.2.09 #589 (@pkosiec)
- Fix releasing CLIs pipeline #586 (@mszostok)
- Retry creating ClusterIssuer during Capact installation #588 (@pkosiec)
- Fix detecting invalid JSONSchemas #581 (@mszostok)
- Ensure that created resources are update when needed #576 (@mszostok)
- Remove unresolved fields of input and output TypeInstances from Engine APIs #573 (@pkosiec)
- Add fixed k3d version used for docker images #566 (@mszostok)
- Update dependencies #565 (@pkosiec)
- Fix
hack/eks/install.sh
and add server auth mod for Argo #549 (@mszostok) - Bump argo image version to v3.2.2 #542 (@mszostok)
- Update deps reported by Dependabot #535 (@mszostok)
- Improve Manifests generation #527 (@lukaszo)
- Manifests generation improvements #526 (@lukaszo)
- Update links after moving Community documents to a separate section on website #519 (@pkosiec)
🚀 Enhancements
- Allow setting Dashboard image tag during Capact release #617 (@pkosiec)
- Move manifest generation out of
alpha
commands #613 (@pkosiec) - Allow to use many location in dbpopulator #582 (@mkuziemko)
- Delete remote-sync.yaml #606 (@mszostok)
- Include Dashboard in Capact installation #602 (@pkosiec)
- Implement interactive manifest generation and generate more manifest kinds #596 (@mkuziemko)
- Describe Delegated Storage concept #583 (@pkosiec)
- [terraform-gen] Add default property, set human-readable title in JSONSchema #575 (@mszostok)
- Enable CORS for Capact Gateway Ingress #572 (@pkosiec)
- Support GET requests and token auth in GitLab runner #568 (@pkosiec)
- Add Interface inlined JSONSchema validator #550 (@mszostok)
- Add GitLab REST API Runner #543 (@mszostok)
- Remove copied code from argo watch cmd #541 (@mszostok)
- Update periodic-links-checks, add maxHistory for Helm runner #531 (@mszostok)
- Add links checker on CI, fix detected problems #528 (@mszostok)
v0.5.0
🚨 Capact v0.5.0 is now available! We were working very hard to bring many UX improvements, both for Capact users and content developers. Read on to learn what we prepared for you!
✨ Key highlights
- We introduced complete Action input validation. You won't make a mistake again!
- We also brought more advanced, concurrent OCF manifests validation built in CLI with optional server-side checks.
- You can now use experimental
manifest-gen
command to generate OCF manifests, such as Interfaces and Implementations based on Helm charts and Terraform modules. - For local development, now you can create and use k3d environment with Capact CLI.
- Air-gapped Capact installation is now supported!
- We updated Policy syntax and behavior to improve consistency and usability.
🚨 Breaking
- Make
capact install
"internetless" if needed #480 (@mszostok) - Support multiple input parameters #470 (@Trojan295)
- Inject additional TypeInstances to Implementation via Policy #464 (@pkosiec)
- Tidy up syntax for passing additional parameters #450 (@mszostok)
- Improve Policy syntax and behavior for required TypeInstance injection #452 (@pkosiec)
🔧 Bug Fixes
- Fix changed helm-repo-url references #490 (@mszostok)
- Fix not returned error in CLI when input parameters are wrong #485 (@pkosiec)
- Show sudo password prompt #474 (@lukaszo)
- Fix test for the OCF schemas #448 (@mszostok)
- Adjust populator and Hub GraphQL schema to support typeRef in Interface input-parameters #440 (@Trojan295)
- Increase cluster CPU limit to 10 and memory to 40GB #435 (@Trojan295)
- Fix creating Action Policy, replace gotest.tools with testify and unify cmds naming #457 (@mszostok)
- Bring back waiting for Service endpoints ready in E2E tests #455 (@pkosiec)
- Remove hardcoded images for Capact charts #454 (@mszostok)
- Update docker library to 20.10 #449 (@Trojan295)
- Add option to cancel build process during installation #439 (@mszostok)
- Populate Type Attributes and require manifest revisions in OCF schema #436 (@pkosiec)
- Bump Hub dependencies #429 (@pkosiec)
- Bump hub manifests sources to the newest version #427 (@mszostok)
- Remove the ClusterRoleBinding, fix get query for ClusterRoleBinding #424 (@mszostok)
- Allow using git as source for Terraform Runner, fix Engine panic #407 (@pkosiec)
- Use random tag for updates #404 (@lukaszo)
🚀 Enhancements
- Add option to create k3d environment via Capact CLI #465 (@mszostok)
- Remove @Trojan295 from CODEOWNERS #479 (@Trojan295)
- Add option to archive images from Capact Helm Charts, make neo4j "internetless" #476 (@mszostok)
- Add local registry support for k3d environment #475 (@mszostok)
- Save rendered workflow, even if linting fails #471 (@Trojan295)
- Automate release #461 (@Trojan295)
- Fix k8s controller test, add retry for createObject, revert hub-manifest sources #460 (@mszostok)
- Add global verbose flag to CLI, add spent time info #462 (@mszostok)
- Add Helm manifest gen #447 (@Trojan295)
- Filter Implementations which need missing required TypeInstance injection #458 (@pkosiec)
- Add Interface and Terraform Implementation content creator #422 (@Trojan295)
- Parameterize the express body size limit #391 (@Trojan295)
- Add option to select requested fields #443 (@mszostok)
- Add option to validate input data both in CLI and Renderer #432 (@mszostok)
- Implement concurrent manifest validation against Hub in CLI #437 (@pkosiec)
- Add helper image
merger
to merge yaml files #428 (@lukaszo) - Replace deprecated
go get
withgo install
#392 (@mszostok)
Binaries
Capact CLI
Linux: curl -Lo ./capact https://github.com/capactio/capact/releases/download/v0.5.0/capact-linux-amd64
macOS: curl -Lo ./capact https://github.com/capactio/capact/releases/download/v0.5.0/capact-darwin-amd64
Windows: curl -Lo ./capact https://github.com/capactio/capact/releases/download/v0.5.0/capact-windows-amd64.exe
Once you downloaded the binary, see the Getting started guide for Capact CLI.
Populator
Linux: curl -Lo ./populator https://github.com/capactio/capact/releases/download/v0.5.0/populator-linux-amd64
macOS: curl -Lo ./populator https://github.com/capactio/capact/releases/download/v0.5.0/populator-darwin-amd64
Windows: curl -Lo ./populator https://github.com/capactio/capact/releases/download/v0.5.0/populator-windows-amd64.exe
0.4.0
🚨Capact v0.4.0 is now available! It's our first open source release!
The very first official Capact website is live too! Check it out at capact.io.
✨ Key highlights
-
From now on, to interact with Capact all you need is Capact CLI! You don’t have to play directly with the GraphQL console anymore. To start using it, see our CLI getting started guide.
-
We extended our Policy engine to cover all your use cases:
The policies from the three sources above are merged and evaluated during Action rendering. See the Policy overview to learn more.
-
The OCH was renamed to Capact Hub to make it more meaningful.
-
TypeInstances that are used by a given Action are now locked by the Engine to avoid any race condition during the Action execution.
-
We added Mattermost manifests to our Hub. Check out our installation tutorial using Capact.
-
To make running Capact easier, we created documentation dedicated to operations. It describes how to identify and resolve common Capact problems that you might encounter and how to check the dashboards of Capact components.
-
We moved the Capact documentation to the
website
repository underdocs
directory.
Capact CLI Binaries
Linux: curl -Lo ./capact https://github.com/capactio/capact/releases/download/v0.4.0/capact-linux-amd64
macOS: curl -Lo ./capact https://github.com/capactio/capact/releases/download/v0.4.0/capact-darwin-amd64
Windows: curl -Lo ./capact https://github.com/capactio/capact/releases/download/v0.4.0/capact-windows-amd64.exe
Populator Binaries
Linux: curl -Lo ./populator https://github.com/capactio/capact/releases/download/v0.4.0/populator-linux-amd64
macOS: curl -Lo ./populator https://github.com/capactio/capact/releases/download/v0.4.0/populator-darwin-amd64
Windows: curl -Lo ./populator https://github.com/capactio/capact/releases/download/v0.4.0/populator-windows-amd64.exe
0.3.0
🚨 Capact v0.3.0 is now available!
⚠️ WARNING: This release is considered experimental. Use it at your own risk.
✨ Key highlights
- We have a new branding: Voltron is now Capact!
- You can install Capact on Amazon EKS with optional EFS support! See our guide here.
- You can use new OCH content, such as Amazon RDS for PostgreSQL or AWS Elasticsearch.
- Our existing OCH content: Atlassian stack and RocketChat have now production-ready values. See the installation guide.
- Capact is now self-upgradeable! Use
capact upgrade
using Capact CLI to upgrade your Capact installation.
Capact CLI Binaries
Linux: curl -Lo ./capact https://storage.googleapis.com/capactio-binaries/v0.3.0/capact-linux-amd64
macOS: curl -Lo ./capact https://storage.googleapis.com/capactio-binaries/v0.3.0/capact-darwin-amd64
Windows: curl -Lo ./capact https://storage.googleapis.com/capactio-binaries/v0.3.0/capact-windows-amd64.exe
Populator Binaries
Linux: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.3.0/populator-linux-amd64
macOS: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.3.0/populator-darwin-amd64
Windows: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.3.0/populator-windows-amd64.exe
Upgrade existing Capact installation
To upgrade an existing installation, download the latest Capact CLI, populate the latest manifests and use:
capact upgrade --version 0.3.0 --increase-resource-limits --override-capact-image-tag 52561b7 --wait
After set target branch for Populator to release-0.3
, following the tutorial from Capact installation document.
v0.2.1
🚨 Voltron v0.2.1 is now available!
⚠️ WARNING: This release is considered experimental. Use it at your own risk.
To install this release on a cluster, use the OVERRIDE_DOCKER_TAG="ba29fd7"
environment variable when executing ./hack/ci/cluster-components-install-upgrade.sh
.
Changes since v0.2.0
In this release, we’ve focused on components bug fixing and adding new OCH content. Check the v0.2.0 release notes to find more information.
🐛 Bug fixes
- Fix panic when downloading non-existent TypeInstances
- Fix problem with wrong
tfstate
relation when rendering workflow with Terraform actions - Increase memory limit for Voltron Engine to prevent OOMKilled
- Fix bugs in OCH content
✨ New Features
Add new OCH content:
ocftool
Binaries
Linux: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.2.1/ocftool-linux-amd64
macOS: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.2.1/ocftool-darwin-amd64
Windows: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.2.1/ocftool-windows-amd64.exe
populator
Binaries
Linux: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.2.1/populator-linux-amd64
macOS: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.2.1/populator-darwin-amd64
Windows: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.2.1/populator-windows-amd64.exe
v0.2.0
🚨 Voltron v0.2.0 is now available!
⚠️ WARNING: This release is considered experimental. Use it at your own risk.
In this release, we’ve focused on finalizing our very first end-to-end Voltron implementation, removing all mocked components. We also added new content and documentation, which makes easy to begin the journey with Voltron project!
Highlights
- ✨ Check our Voltron installation tutorial.
- ✨ Check our Jira installation tutorial.
- ✨ Check our Content Developer guide.
ocftool
Binaries
Linux: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.2.0/ocftool-linux-amd64
macOS: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.2.0/ocftool-darwin-amd64
Windows: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.2.0/ocftool-windows-amd64.exe
populator
Binaries
Linux: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.2.0/populator-linux-amd64
macOS: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.2.0/populator-darwin-amd64
Windows: curl -Lo ./populator https://storage.googleapis.com/capactio-binaries/v0.2.0/populator-windows-amd64.exe
v0.1.0
🚨 Voltron v0.1.0 is now available!
⚠️ WARNING: This release is considered experimental. Use it at your own risk.
This is the first Voltron release that allows you to install the Jira in the Kubernetes cluster. The installation supports in-cluster PostgreSQL Statefulset and CloudSQL database hosted on GCP.
✨ Check our Jira installation tutorial!
ocftool
Binaries
Linux: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.1.0/ocftool-linux-amd64
macOS: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.1.0/ocftool-darwin-amd64
Windows: curl -Lo ./ocftool https://storage.googleapis.com/capactio-binaries/v0.1.0/ocftool-windows-amd64