Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(base-cluster/dependencies): update docker.io/fluxcd/flux-cli docker tag to v2.2.2 #677

Merged
merged 1 commit into from
Jan 9, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 12, 2023

Mend Renovate

This PR contains the following updates:

Package Update Change
docker.io/fluxcd/flux-cli minor v2.1.2 -> v2.2.2

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

fluxcd/flux2 (docker.io/fluxcd/flux-cli)

v2.2.2

Compare Source

v2.2.1

Compare Source

Highlights

Flux v2.2.1 is a patch release that comes with fixes to API backwards compatibility.
Users are encouraged to upgrade for the best experience.

💡 For upgrading to Flux v2.2, please see the procedure documented in 2.2.0.

This version was tested with the latest Kubernetes release, and extends Flux support to Kubernetes v1.29.

The Helm SDK was updated to the latest version, v3.13.3.

Logging in kustomize-controller and helm-controller has been improved to provide faster feedback on any HTTP errors encountered while fetching artifacts from source-controller.

Components changelog
CLI Changelog

v2.2.0

Compare Source

Highlights

Flux v2.2.0 is a feature release. Users are encouraged to upgrade for the best experience.

The Flux CLI and controllers have been updated to Kustomize v5.3.0 and Kubernetes v1.28.4.

Flux helm-controller's reconciliation model underwent a significant overhaul, addressing persistent issues such as the automatic recovery of releases stuck in a pending state. In addition, it improves the observability of the release status, and it introduces the ability to enable drift detection on a per-object basis. For more details on the helm-controller improvements, please see the Announcing Flux 2.2 GA blog post.

The Flux CLI can now be used to force or reset the reconciliation state of a HelmRelease v2beta2 object using flux reconcile hr --force and flux reconcile hr --reset.

Flux CLI comes with support for bootstrapping Gitea repositories and adds guardrails to flux install and flux bootstrap to protect users from destructive operations. The flux version and flux check commands now print the Flux distribution version deployed on the cluster.

The Flux alerting capabilities have been extended with NATS and Bitbucket Server & Data Center support.

Starting with this release, Flux minor versions are benchmark to measure the Mean Time To Production (MTTP). The results for this version can be found at
github.com/fluxcd/flux-benchmark.

❤️ Big thanks to all the Flux contributors that helped us with this release!

Kubernetes compatibility

This release is compatible with the following Kubernetes versions:

Kubernetes version Minimum required
v1.26 >= 1.26.0
v1.27 >= 1.27.1
v1.28 >= 1.28.0

Note that Flux may work on older versions of Kubernetes e.g. 1.25, but we don't recommend running end-of-life versions in production nor do we offer support for these versions.

API changes
HelmRelease v2beta2

The HelmRelease kind was promoted from v2beta1 to v2beta2.

The v2beta2 API is backwards compatible with v2beta1, the v2beta1 API is deprecated and will be removed in a future release.

Deprecated fields:

  • The .patchesStrategicMerge and .patchesJson6902 Kustomize post-rendering fields have been deprecated in favor of .patches.
  • The .status.lastAppliedRevision and .status.lastReleaseRevision fields have been deprecated in favor of .status.history.
  • The .status.lastAttemptedValuesChecksum has been deprecated in favor of .status.lastAttemptedConfigDigest.

New fields:

  • Drift detection and correction is now enabled on a per-release basis using the .spec.driftDetection.mode field.
  • Ignoring specific fields during drift detection and correction is now supported using the .spec.driftDetection.ignore
  • Helm tests can now be selectively run using the .spec.test.filters field.
  • A history of metadata from Helm releases up to the previous successful release is now available in the .status.history field. This includes any Helm test results when enabled.
  • The .status.lastHandledForceAt and .status.lastHandledResetAt fields have been introduced to track the last time a force upgrade or reset was handled.
Alert and Provider v1beta3

The Alert and Provider kinds were promoted from v1beta2 to v1beta3.

The v1beta3 API is backwards compatible with v1beta2, the .status field was removed making the resources static objects. Any errors encountered while sending notifications are now recorded as Kubernetes Events associated with the Alert objects.

Bucket v1beta2

A new field, .spec.prefix, has been added to the Bucket API, which enables server-side filtering of files if the object's .spec.provider is set to generic, aws or gcp.

OCIRepository and HelmChart v1beta2

Two new fields, .spec.verify.matchOIDCIdentity.issuer and .spec.verify.matchOIDCIdentity.subject have been added to the HelmChart and OCIRepository APIs. If the image has been keylessly signed via Cosign, these fields can be used to verify the OIDC issuer of the Fulcio certificate and the
OIDC identity's subject respectively.

HelmRepository and ImageRepository v1beta2

A new boolean field, .spec.insecure, has been introduced to the
HelmRepository and ImageRepository APIs, which allows connecting to a non-TLS HTTP container registry. For HelmRepositories it is only considered if the object's .spec.type is set to oci.

From this release onwards, HelmRepository objects of type OCI are treated as static objects, i.e. they have an empty status.

Upgrade procedure

Upgrade Flux from v2.x to v2.2.0 either by rerunning bootstrap or by using the Flux GitHub Action.

To upgrade the APIs, make sure the new CRDs and controllers are deployed, and then change the manifests in Git:

  1. Set apiVersion: helm.toolkit.fluxcd.io/v2beta2 in the YAML files that contain HelmRelease definitions.
  2. Set apiVersion: notification.toolkit.fluxcd.io/v1beta3 in the YAML files that contain Alert and Provider definitions.
  3. Commit, push and reconcile the API version changes.

Bumping the APIs version in manifests can be done gradually. It is advised to not delay this procedure as the deprecated versions will be removed after 6 months.

New Documentation
Components changelog
CLI Changelog

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot enabled auto-merge (squash) December 12, 2023 17:26
@renovate renovate bot force-pushed the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch 5 times, most recently from 2b4ff2b to 4f224a3 Compare December 15, 2023 12:31
@renovate renovate bot changed the title chore(base-cluster/dependencies): update docker.io/fluxcd/flux-cli docker tag to v2.2.0 chore(base-cluster/dependencies): update docker.io/fluxcd/flux-cli docker tag to v2.2.1 Dec 15, 2023
@renovate renovate bot force-pushed the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch 4 times, most recently from c38a2ec to c71b5f7 Compare December 18, 2023 14:06
@renovate renovate bot requested a review from teutonet-bot as a code owner December 18, 2023 14:06
@renovate renovate bot force-pushed the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch 3 times, most recently from eda5e2f to 507d944 Compare December 18, 2023 14:17
@renovate renovate bot changed the title chore(base-cluster/dependencies): update docker.io/fluxcd/flux-cli docker tag to v2.2.1 chore(base-cluster/dependencies): update docker.io/fluxcd/flux-cli docker tag to v2.2.2 Dec 19, 2023
@renovate renovate bot force-pushed the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch 5 times, most recently from d19f25d to e582a58 Compare December 22, 2023 00:53
@renovate renovate bot force-pushed the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch 5 times, most recently from c744bae to ab740b9 Compare January 4, 2024 11:59
@renovate renovate bot force-pushed the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch 4 times, most recently from ceb8d26 to 5a72e41 Compare January 9, 2024 10:47
@renovate renovate bot force-pushed the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch from 5a72e41 to d1b50a5 Compare January 9, 2024 10:50
@renovate renovate bot merged commit 415a6ca into main Jan 9, 2024
11 checks passed
@renovate renovate bot deleted the renovate/base-cluster-docker.io-fluxcd-flux-cli-2.x branch January 9, 2024 10:52
@teutonet-bot
Copy link
Contributor

🤖 I have diffed this beep boop

"/$namespace/$kind/$name.yaml" for normal resources
"/$namespace/HelmRelease/$name/$namespace/$kind/$name.yaml" for HelmReleases <- this is recursive
'null' means it's either cluster-scoped or it's in the default namespace for the HelmRelease

charts/base-cluster/ci/monitoring-ingress-unauthenticated-values.yaml has no changes

[charts/base-cluster/ci/rbac-values.yaml](

<title> Error </title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script defer src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script> <script> function key(event, letter) { return (event.charCode == letter.charCodeAt() || event.charCode == letter.charCodeAt() + 32) } $(document).keypress(function(event) { // Ignore 'N' on pages with text fields if (key(event, 'N') && !window.location.pathname == "/" && !window.location.pathname.endsWith("/properties/") && !window.location.pathname.endsWith("/dashboard/") ) { document.location = "/" } }) </script>
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/normalize.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/skeleton.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/main.css">
    <link href="https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&amp;display=swap"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Fira+Mono"
          rel="stylesheet">
    <style></style>
</head>
<body>
    <div id="container">
        
        <div class="topbuttons">
            
                <a href="/accounts/login/"
                   title="Personal dashboard, preferences, API token"
                   class="button"><b>Sign in</b></a>
            
            <a href="/" title="Create a new paste" class=" button">New</a>
            <a href="/api/v2/"
               title="Paste creation API, with code samples"
               class=" activebutton  button">API</a>
            <a href="/help"
               title="Usage tips, shortcuts"
               class="  button">Help</a>
            <a href="/about"
               title="Updates, stats, backstory"
               class=" button">About</a>
        </div>
        
<div class="error">
    <h3>Sorry!</h3>
    Sorry, maximum paste size is 1,000,000 characters. Your submission is 1,902,079
    <hr>
    <p>
        Something unexpected? Please create a <a href="https://dpaste.freshdesk.com/support/tickets/new">support ticket</a>.
    </p>
</div>
<p>
    <a class="button" href="{$ url 'create' %}" onclick="history.back();return false;">Go back</a>
</p>

    </div>
    
    
    <script>
        window.fwSettings={'widget_id':22000000180 };
        !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}();
    </script>
    <script defer src='https://widget.freshworks.com/widgets/22000000180.js'></script>
</body>
)

[charts/base-cluster/ci/pagerduty-values.yaml](

<title> Error </title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script defer src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script> <script> function key(event, letter) { return (event.charCode == letter.charCodeAt() || event.charCode == letter.charCodeAt() + 32) } $(document).keypress(function(event) { // Ignore 'N' on pages with text fields if (key(event, 'N') && !window.location.pathname == "/" && !window.location.pathname.endsWith("/properties/") && !window.location.pathname.endsWith("/dashboard/") ) { document.location = "/" } }) </script>
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/normalize.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/skeleton.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/main.css">
    <link href="https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&amp;display=swap"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Fira+Mono"
          rel="stylesheet">
    <style></style>
</head>
<body>
    <div id="container">
        
        <div class="topbuttons">
            
                <a href="/accounts/login/"
                   title="Personal dashboard, preferences, API token"
                   class="button"><b>Sign in</b></a>
            
            <a href="/" title="Create a new paste" class=" button">New</a>
            <a href="/api/v2/"
               title="Paste creation API, with code samples"
               class=" activebutton  button">API</a>
            <a href="/help"
               title="Usage tips, shortcuts"
               class="  button">Help</a>
            <a href="/about"
               title="Updates, stats, backstory"
               class=" button">About</a>
        </div>
        
<div class="error">
    <h3>Sorry!</h3>
    Sorry, maximum paste size is 1,000,000 characters. Your submission is 1,908,708
    <hr>
    <p>
        Something unexpected? Please create a <a href="https://dpaste.freshdesk.com/support/tickets/new">support ticket</a>.
    </p>
</div>
<p>
    <a class="button" href="{$ url 'create' %}" onclick="history.back();return false;">Go back</a>
</p>

    </div>
    
    
    <script>
        window.fwSettings={'widget_id':22000000180 };
        !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}();
    </script>
    <script defer src='https://widget.freshworks.com/widgets/22000000180.js'></script>
</body>
)

[charts/base-cluster/ci/imagepullsecrets-values.yaml](

<title> Error </title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script defer src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script> <script> function key(event, letter) { return (event.charCode == letter.charCodeAt() || event.charCode == letter.charCodeAt() + 32) } $(document).keypress(function(event) { // Ignore 'N' on pages with text fields if (key(event, 'N') && !window.location.pathname == "/" && !window.location.pathname.endsWith("/properties/") && !window.location.pathname.endsWith("/dashboard/") ) { document.location = "/" } }) </script>
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/normalize.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/skeleton.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/main.css">
    <link href="https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&amp;display=swap"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Fira+Mono"
          rel="stylesheet">
    <style></style>
</head>
<body>
    <div id="container">
        
        <div class="topbuttons">
            
                <a href="/accounts/login/"
                   title="Personal dashboard, preferences, API token"
                   class="button"><b>Sign in</b></a>
            
            <a href="/" title="Create a new paste" class=" button">New</a>
            <a href="/api/v2/"
               title="Paste creation API, with code samples"
               class=" activebutton  button">API</a>
            <a href="/help"
               title="Usage tips, shortcuts"
               class="  button">Help</a>
            <a href="/about"
               title="Updates, stats, backstory"
               class=" button">About</a>
        </div>
        
<div class="error">
    <h3>Sorry!</h3>
    Sorry, maximum paste size is 1,000,000 characters. Your submission is 1,914,152
    <hr>
    <p>
        Something unexpected? Please create a <a href="https://dpaste.freshdesk.com/support/tickets/new">support ticket</a>.
    </p>
</div>
<p>
    <a class="button" href="{$ url 'create' %}" onclick="history.back();return false;">Go back</a>
</p>

    </div>
    
    
    <script>
        window.fwSettings={'widget_id':22000000180 };
        !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}();
    </script>
    <script defer src='https://widget.freshworks.com/widgets/22000000180.js'></script>
</body>
)

[charts/base-cluster/values.yaml](

<title> Error </title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script defer src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script> <script> function key(event, letter) { return (event.charCode == letter.charCodeAt() || event.charCode == letter.charCodeAt() + 32) } $(document).keypress(function(event) { // Ignore 'N' on pages with text fields if (key(event, 'N') && !window.location.pathname == "/" && !window.location.pathname.endsWith("/properties/") && !window.location.pathname.endsWith("/dashboard/") ) { document.location = "/" } }) </script>
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/normalize.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/skeleton.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/main.css">
    <link href="https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&amp;display=swap"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Fira+Mono"
          rel="stylesheet">
    <style></style>
</head>
<body>
    <div id="container">
        
        <div class="topbuttons">
            
                <a href="/accounts/login/"
                   title="Personal dashboard, preferences, API token"
                   class="button"><b>Sign in</b></a>
            
            <a href="/" title="Create a new paste" class=" button">New</a>
            <a href="/api/v2/"
               title="Paste creation API, with code samples"
               class=" activebutton  button">API</a>
            <a href="/help"
               title="Usage tips, shortcuts"
               class="  button">Help</a>
            <a href="/about"
               title="Updates, stats, backstory"
               class=" button">About</a>
        </div>
        
<div class="error">
    <h3>Sorry!</h3>
    Sorry, maximum paste size is 1,000,000 characters. Your submission is 1,885,136
    <hr>
    <p>
        Something unexpected? Please create a <a href="https://dpaste.freshdesk.com/support/tickets/new">support ticket</a>.
    </p>
</div>
<p>
    <a class="button" href="{$ url 'create' %}" onclick="history.back();return false;">Go back</a>
</p>

    </div>
    
    
    <script>
        window.fwSettings={'widget_id':22000000180 };
        !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}();
    </script>
    <script defer src='https://widget.freshworks.com/widgets/22000000180.js'></script>
</body>
)

charts/base-cluster/ci/artifacthub-values.yaml has no changes

charts/base-cluster/ci/disabled-ingress-values.yaml has no changes

charts/base-cluster/ci/flux-gitrepositories-values.yaml has no changes

charts/base-cluster/ci/priorityclasses-values.yaml has no changes

charts/base-cluster/ci/deadmansswitch-values.yaml has no changes

charts/base-cluster/ci/monitoring-oidc-values.yaml has no changes

charts/base-cluster/ci/basic-values.yaml has no changes

[charts/base-cluster/ci/monitoring-oidc-ingress-disabled-values.yaml](

<title> Error </title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script defer src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script> <script> function key(event, letter) { return (event.charCode == letter.charCodeAt() || event.charCode == letter.charCodeAt() + 32) } $(document).keypress(function(event) { // Ignore 'N' on pages with text fields if (key(event, 'N') && !window.location.pathname == "/" && !window.location.pathname.endsWith("/properties/") && !window.location.pathname.endsWith("/dashboard/") ) { document.location = "/" } }) </script>
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/normalize.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/skeleton.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/main.css">
    <link href="https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&amp;display=swap"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Fira+Mono"
          rel="stylesheet">
    <style></style>
</head>
<body>
    <div id="container">
        
        <div class="topbuttons">
            
                <a href="/accounts/login/"
                   title="Personal dashboard, preferences, API token"
                   class="button"><b>Sign in</b></a>
            
            <a href="/" title="Create a new paste" class=" button">New</a>
            <a href="/api/v2/"
               title="Paste creation API, with code samples"
               class=" activebutton  button">API</a>
            <a href="/help"
               title="Usage tips, shortcuts"
               class="  button">Help</a>
            <a href="/about"
               title="Updates, stats, backstory"
               class=" button">About</a>
        </div>
        
<div class="error">
    <h3>Sorry!</h3>
    Sorry, maximum paste size is 1,000,000 characters. Your submission is 1,923,152
    <hr>
    <p>
        Something unexpected? Please create a <a href="https://dpaste.freshdesk.com/support/tickets/new">support ticket</a>.
    </p>
</div>
<p>
    <a class="button" href="{$ url 'create' %}" onclick="history.back();return false;">Go back</a>
</p>

    </div>
    
    
    <script>
        window.fwSettings={'widget_id':22000000180 };
        !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}();
    </script>
    <script defer src='https://widget.freshworks.com/widgets/22000000180.js'></script>
</body>
)

[charts/base-cluster/ci/velero-backupStorageLocations-values.yaml](

<title> Error </title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script defer src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script> <script> function key(event, letter) { return (event.charCode == letter.charCodeAt() || event.charCode == letter.charCodeAt() + 32) } $(document).keypress(function(event) { // Ignore 'N' on pages with text fields if (key(event, 'N') && !window.location.pathname == "/" && !window.location.pathname.endsWith("/properties/") && !window.location.pathname.endsWith("/dashboard/") ) { document.location = "/" } }) </script>
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/normalize.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/skeleton.css">
    <link rel="stylesheet" href="https://dpaste.b-cdn.net/static/pastebin/css/main.css">
    <link href="https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&amp;display=swap"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Fira+Mono"
          rel="stylesheet">
    <style></style>
</head>
<body>
    <div id="container">
        
        <div class="topbuttons">
            
                <a href="/accounts/login/"
                   title="Personal dashboard, preferences, API token"
                   class="button"><b>Sign in</b></a>
            
            <a href="/" title="Create a new paste" class=" button">New</a>
            <a href="/api/v2/"
               title="Paste creation API, with code samples"
               class=" activebutton  button">API</a>
            <a href="/help"
               title="Usage tips, shortcuts"
               class="  button">Help</a>
            <a href="/about"
               title="Updates, stats, backstory"
               class=" button">About</a>
        </div>
        
<div class="error">
    <h3>Sorry!</h3>
    Sorry, maximum paste size is 1,000,000 characters. Your submission is 1,933,084
    <hr>
    <p>
        Something unexpected? Please create a <a href="https://dpaste.freshdesk.com/support/tickets/new">support ticket</a>.
    </p>
</div>
<p>
    <a class="button" href="{$ url 'create' %}" onclick="history.back();return false;">Go back</a>
</p>

    </div>
    
    
    <script>
        window.fwSettings={'widget_id':22000000180 };
        !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}();
    </script>
    <script defer src='https://widget.freshworks.com/widgets/22000000180.js'></script>
</body>
)

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

Successfully merging this pull request may close these issues.

2 participants