diff --git a/package.json b/package.json index a8346ddfa..4e64f153c 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "sass": "1.79.0", - "vanilla-framework": "4.20.2" + "vanilla-framework": "4.21.0" }, "devDependencies": { "@testing-library/jest-dom": "^5.16.5", diff --git a/static/js/modals.js b/static/js/modals.js index 629c695b3..0bd32311b 100644 --- a/static/js/modals.js +++ b/static/js/modals.js @@ -309,3 +309,26 @@ function getCustomFields(event) { const textarea = document.getElementById("Comments_from_lead__c"); textarea.value = message; } + +// Fix Tab and modal js conflicts +(function () { + document.querySelectorAll(".p-tabs__link").forEach((tab) => { + tab.addEventListener("click", function (event) { + event.preventDefault(); + + document.querySelectorAll(".p-tabs__link").forEach((t) => { + t.setAttribute("aria-selected", "false"); + t.setAttribute("tabindex", "-1"); + }); + this.setAttribute("aria-selected", "true"); + this.removeAttribute("tabindex"); + + document + .querySelectorAll("[role='tabpanel']") + .forEach((panel) => (panel.style.display = "none")); + document.getElementById( + this.getAttribute("aria-controls") + ).style.display = "block"; + }); + }); +})(); diff --git a/templates/solutions/cloud-native-development/form-data.json b/templates/solutions/cloud-native-development/form-data.json new file mode 100644 index 000000000..cf8ebc982 --- /dev/null +++ b/templates/solutions/cloud-native-development/form-data.json @@ -0,0 +1,39 @@ +{ + "form": { + "/solutions/cloud-native-development": { + "templatePath": "/solutions/cloud-native-development/index.html", + "isModal": true, + "modalId": "cloud-native-development-modal", + "formData": { + "title": "Get in touch", + "formId": "6134", + "returnUrl": "/solutions/cloud-native-development#contact-form-success", + "product": "" + }, + "fieldsets": [ + { + "title": "Contact Canonical to discuss your app modernization needs and find out how our open source technologies can help you.", + "id": "about-you", + "noCommentsFromLead": true, + "fields": [ + { + "type": "tel", + "id": "phone", + "label": "Phone number" + }, + { + "type": "text", + "id": "company", + "label": "Company" + }, + { + "type": "text", + "id": "title", + "label": "Job title" + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/templates/solutions/cloud-native-development/index.html b/templates/solutions/cloud-native-development/index.html new file mode 100755 index 000000000..8739b583c --- /dev/null +++ b/templates/solutions/cloud-native-development/index.html @@ -0,0 +1,479 @@ +{% extends 'base_index.html' %} + +{% block title %}Cloud-native app development{% endblock %} + +{% block meta_description %} + Cloud-native app development made easy | Canonical offers you a composable cloud-native platform with the same reliability and quality support you know from Ubuntu. +{% endblock %} + +{% block meta_copydoc %} + https://docs.google.com/document/d/1xn9QcJ7OfELzRBtUlu-WkSSnC9lYideoUu-YV1yBNIU/edit +{% endblock meta_copydoc %} + +{% block body_class %} + is-paper +{% endblock body_class %} + +{% from "_macros/vf_hero.jinja" import vf_hero %} + +{% block content %} + {%- call(slot) vf_hero( + title_text='Composable
cloud-native app development, without the complexity', + layout='50/50', + ) -%} + {%- if slot == 'description' -%} ++ Modernize your apps without friction or lock-in. You don't have to choose between the freedom that composability offers, and the high costs. Canonical offers you a cost-effective approach and the containers, toolchains and development frameworks you need to deliver on your vision. Bring your team together on a composable cloud-native app platform both your DevOps engineers and C-suite will love. +
+ {%- endif -%} + {%- if slot == 'cta' -%} + Get in touch + {%- endif -%} + {%- endcall -%} + ++ 7 in 10 teams spend more than 6 hours per week on security patching*, but most are dissatisfied with their ability to fix vulnerabilities quickly. +
++ Managing dependencies is hard, repetitive and not value-creating – why do that? Let your developers focus on new features and develop with the latest and greatest open source, available in Ubuntu's trusted repositories. +
+We'll handle the security maintenance.
+*Source: IDC, 2025
++ Constant Kubernetes upgrades are a drain on enterprise teams. With us, you can move at your own pace and keep your team focused on innovation, not infrastructure. We ship a Kubernetes LTS every 2 years and provide security updates for 12 full years. +
+Prefer to move faster? Benefit from upstream releases every four months with 14 months of security maintenance.
++ Run your workloads across clouds for price performance and flexibility. We support our Kubernetes and containers on premise and across public clouds. +
+Our software operators and orchestration engine help you lower complexity in managing different cloud APIs.
++ It's easy to do business with us. We offer security maintenance, support and compliance with one transparent subscription. +
+You get coverage for both your infrastructure and application stack. It's that simple.
++ We enable you to deliver cloud-native solutions without being locked into rigid and static frameworks. With our composable approach, you can select and integrate the components that fit your use case and workflow. Our portfolio ensures you can customize, adapt and augment those solutions as your needs evolve. Whether it's greenfield projects or deployments in existing CI/CD systems, our tools are modular enough to meet your specific architecture requirements. +
+Trusted artifacts for any infrastructure
++ Consume fully maintained data application container images. Enjoy the full benefits of cloud-native architecture without compromising security or compounding operational complexity. +
++ Our database containers are fully OCI-compliant, and can run on any OCI-compliant platform, including Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS), and Red Hat OpenShift. +
+Developers love our tools
++ Access the widest open source library with a consistent security maintenance commitment, and build on FIPS compliant images. Benefit from the same consistent experience everywhere – it's still the same Canonical software you'd find in your laptop, bare metal machines and VMs. +
+Container Build Service
++ Speed up your modernization journey with our Container Build Service. We deliver container images to your spec, and support on RHEL, VMware, Ubuntu or major public cloud Kubernetes. Contact us for an initial assessment. +
++ + “We wanted one service provider for the whole on-premise cloud consisting not only of Kubernetes but also the Ceph storage solution, PostgreSQL and Kafka. These were all the services that were needed and with Canonical we could have one joined-up approach.” + +
+Michael Hawkshaw
+ESA Mission Operations Infrastructure IT Service Manager
++ + “Canonical's Charmed Kubernetes delivered on our expectations and made scaling a non-issue.” + +
+Miguel Rodríguez
+IT Project Manager, Atresmedia
++ + “Our work with Canonical has been that of a true team partnership, bringing the best out of one another to the extent that our platform is now supporting use cases beyond anything we envisaged when we started this journey.” + +
+Greg McCall
+Chief Networks Officer, BT Group
++ Read our guide to container security +
+The 4S strategy for building and operating containers at scale, securely.
++ Learn from our customers: European Space Agency +
+Read the case study to find out how ESA modernized its infrastructure with Canonical Kubernetes.
++ Learn about chiseled Ubuntu +
+Get your distroless containers from your favorite distro. Read about our approach to minimal containers.
+