diff --git a/_data/pipelines-features.yml b/_data/pipelines-features.yml new file mode 100644 index 000000000..273d010c9 --- /dev/null +++ b/_data/pipelines-features.yml @@ -0,0 +1,28 @@ +- title: Set up a Terraform pipeline based on best practices + description: | + Gruntwork engineers carefully designed a Terraform pipeline code framework and approach based on best practices for workflow, long-term infrastructure code maintainability, and security. Adopt those best practices for your own Terraform team. + icon: "/assets/img/gruntwork-pipelines/features-1@3x.png" + +- title: Adopt a security-first approach + description: It's all too common to give your CI server admin-level permissions needed to launch arbitrary infrastructure, a dangerous security posture. Gruntwork Pipelines enables a secure infrastructure pipeline by granting the sensitive permissions solely to a Fargate Task that exposes a limited, locked down interface and only allows running pre-defined commands such as terraform apply in pre-defined git repos/branches/folders that require peer review to change. + icon: "/assets/img/gruntwork-pipelines/features-2@3x.png" + +- title: Run your pipeline on any CI tool + description: Run Gruntwork pipelines on any CI tool you want, including both managed and self-hosted varieties. There's no need to set up a new tool, or share sensitive cloud credentials with another third party. + icon: "/assets/img/gruntwork-pipelines/features-3@3x.png" + +- title: Run an infrastructure code pipeline for Terragrunt or Terraform + description: Gruntwork Pipelines is designed to give a first-class experience with either Terragrunt or Terraform. In addition, you have full control over the build environment by selecting any Docker image of your choice. + icon: "/assets/img/gruntwork-pipelines/features-4@3x.png" + +- title: Notify Slack when key events occur + description: Slack users can receive notifications when a terraform plan is ready for review, when a human needs to approve a terraform apply, or in other scenarios you configure. + icon: "/assets/img/gruntwork-pipelines/features-5@3x.png" + +- title: Use the same pipeline for infra and app code + description: Gruntwork Pipelines has first-class support for application deployments, allowing you to use the same pipeline configuration for both infrastructure and application code. + icon: "/assets/img/gruntwork-pipelines/features-6@3x.png" + +- title: Add your own features. Or benefit from our new ones. + description: Gruntwork Pipelines is a code framework and approach. Like all Gruntwork products, we take primary responsibility for updates and new features, and you get access to 100% of the code, leaving you free to add any customizations you want or contribute them back to our mainline branch. + icon: "/assets/img/gruntwork-pipelines/features-7@3x.png" \ No newline at end of file diff --git a/_data/sitemap.yml b/_data/sitemap.yml index 942ca4cc3..2037c62b5 100644 --- a/_data/sitemap.yml +++ b/_data/sitemap.yml @@ -5,6 +5,9 @@ - title: Gruntwork Landing Zone url: /landing-zone-for-aws/ + + - title: Gruntwork Pipelines + url: /pipelines/ - title: Reference Architecture url: /reference-architecture/ diff --git a/_includes/navbar.html b/_includes/navbar.html index 8e272b966..42cfb17fa 100644 --- a/_includes/navbar.html +++ b/_includes/navbar.html @@ -56,6 +56,14 @@ >Gruntwork Landing Zone +
  • + Gruntwork Pipelines +
  • + + icon-1 + + + + + + + + + \ No newline at end of file diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-1@3x.png b/assets/img/gruntwork-pipelines/small-icons/icon-1@3x.png new file mode 100644 index 000000000..492f22deb Binary files /dev/null and b/assets/img/gruntwork-pipelines/small-icons/icon-1@3x.png differ diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-2.svg b/assets/img/gruntwork-pipelines/small-icons/icon-2.svg new file mode 100644 index 000000000..a3ebe2a33 --- /dev/null +++ b/assets/img/gruntwork-pipelines/small-icons/icon-2.svg @@ -0,0 +1,12 @@ + + + icon-2 + + + + + + + + + \ No newline at end of file diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-2@3x.png b/assets/img/gruntwork-pipelines/small-icons/icon-2@3x.png new file mode 100644 index 000000000..4dceb0ec2 Binary files /dev/null and b/assets/img/gruntwork-pipelines/small-icons/icon-2@3x.png differ diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-3.svg b/assets/img/gruntwork-pipelines/small-icons/icon-3.svg new file mode 100644 index 000000000..499671a5e --- /dev/null +++ b/assets/img/gruntwork-pipelines/small-icons/icon-3.svg @@ -0,0 +1,12 @@ + + + icon-3 + + + + + + + + + \ No newline at end of file diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-3@3x.png b/assets/img/gruntwork-pipelines/small-icons/icon-3@3x.png new file mode 100644 index 000000000..fb1721c69 Binary files /dev/null and b/assets/img/gruntwork-pipelines/small-icons/icon-3@3x.png differ diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-4.svg b/assets/img/gruntwork-pipelines/small-icons/icon-4.svg new file mode 100644 index 000000000..797188c61 --- /dev/null +++ b/assets/img/gruntwork-pipelines/small-icons/icon-4.svg @@ -0,0 +1,12 @@ + + + icon-4 + + + + + + + + + \ No newline at end of file diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-4@3x.png b/assets/img/gruntwork-pipelines/small-icons/icon-4@3x.png new file mode 100644 index 000000000..a0f548c13 Binary files /dev/null and b/assets/img/gruntwork-pipelines/small-icons/icon-4@3x.png differ diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-5.svg b/assets/img/gruntwork-pipelines/small-icons/icon-5.svg new file mode 100644 index 000000000..19dbab381 --- /dev/null +++ b/assets/img/gruntwork-pipelines/small-icons/icon-5.svg @@ -0,0 +1,12 @@ + + + icon-5 + + + + + + + + + \ No newline at end of file diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-5@3x.png b/assets/img/gruntwork-pipelines/small-icons/icon-5@3x.png new file mode 100644 index 000000000..a5f7982b0 Binary files /dev/null and b/assets/img/gruntwork-pipelines/small-icons/icon-5@3x.png differ diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-6.svg b/assets/img/gruntwork-pipelines/small-icons/icon-6.svg new file mode 100644 index 000000000..1feac6f34 --- /dev/null +++ b/assets/img/gruntwork-pipelines/small-icons/icon-6.svg @@ -0,0 +1,21 @@ + + + icon-6 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-6@3x.png b/assets/img/gruntwork-pipelines/small-icons/icon-6@3x.png new file mode 100644 index 000000000..7612baa59 Binary files /dev/null and b/assets/img/gruntwork-pipelines/small-icons/icon-6@3x.png differ diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-7.svg b/assets/img/gruntwork-pipelines/small-icons/icon-7.svg new file mode 100644 index 000000000..c8cb7b65d --- /dev/null +++ b/assets/img/gruntwork-pipelines/small-icons/icon-7.svg @@ -0,0 +1,14 @@ + + + icon-7 + + + + + + + + + + + \ No newline at end of file diff --git a/assets/img/gruntwork-pipelines/small-icons/icon-7@3x.png b/assets/img/gruntwork-pipelines/small-icons/icon-7@3x.png new file mode 100644 index 000000000..fe1596c85 Binary files /dev/null and b/assets/img/gruntwork-pipelines/small-icons/icon-7@3x.png differ diff --git a/pages/pipelines/_docs.html b/pages/pipelines/_docs.html new file mode 100644 index 000000000..3c69e7c1d --- /dev/null +++ b/pages/pipelines/_docs.html @@ -0,0 +1,10 @@ +
    +
    +

    Docs

    +

    + See our guide + How to configure a production-grade CI-CD workflow for infrastructure + code for the full architecture plus step-by-step instructions on how to set up Gruntwork Pipelines in your environment. +

    +
    +
    diff --git a/pages/pipelines/_features.html b/pages/pipelines/_features.html new file mode 100644 index 000000000..1e3101403 --- /dev/null +++ b/pages/pipelines/_features.html @@ -0,0 +1,21 @@ +
    +
    +

    Features

    + {% for feature in site.data.pipelines-features %} +
    +
    + feature-icon +
    +
    +

    {{ feature.title }}

    +

    {{ feature.description }}

    + {% if feature.description_assets %} +
    + feature-description-image +
    + {% endif %} +
    +
    + {% endfor %} +
    +
    diff --git a/pages/pipelines/_hero.html b/pages/pipelines/_hero.html new file mode 100644 index 000000000..04b02667a --- /dev/null +++ b/pages/pipelines/_hero.html @@ -0,0 +1,22 @@ +
    +
    +
    +

    {{ page.title }}

    +

    + {{ page.excerpt }} +

    +

    + {{ link.title }}Get a Demo +

    +
    +
    +
    diff --git a/pages/pipelines/_pricing.html b/pages/pipelines/_pricing.html new file mode 100644 index 000000000..7c9484560 --- /dev/null +++ b/pages/pipelines/_pricing.html @@ -0,0 +1,11 @@ +
    +
    +

    Pricing

    +

    + Gruntwork Pipelines is included as part of the + Gruntwork Subscription. + If you have questions about how it works or would like to see a demo, + contact our sales team. +

    +
    +
    diff --git a/pages/pipelines/_sub-hero.html b/pages/pipelines/_sub-hero.html new file mode 100644 index 000000000..78f7aa4e8 --- /dev/null +++ b/pages/pipelines/_sub-hero.html @@ -0,0 +1,21 @@ +
    +
    +

    The most secure way to do CI / CD for app and infrastructure code

    +

    + Gruntwork Pipelines is a code framework and approach that enables you + to use your preferred CI tool to set up an end-to-end pipeline for infrastructure + code (Terraform) and app code (Docker, Packer, Kubernetes). +

    +

    + Pipelines includes first-class support for governance, GitOps, automated Terraform + tests, promotion workflows, approval workflows, and auditing, all built with security + in mind from day one. And as with most Gruntwork products, all configuration is defined as code. +

    +
    + + + + + +
    +
    \ No newline at end of file diff --git a/pages/pipelines/index.html b/pages/pipelines/index.html new file mode 100644 index 000000000..1c2b0f292 --- /dev/null +++ b/pages/pipelines/index.html @@ -0,0 +1,28 @@ +--- +layout: default +title: Gruntwork Pipelines +excerpt: A security-first approach to a CI/CD pipeline for infrastructure. +permalink: /pipelines/ +slug: gruntwork-pipelines +footer_heading: Ready to hand off the Gruntwork? +custom_js: + - search + - prism +--- + +
    +
    + {% include_relative _hero.html %} +
    +
    +
    + {% include_relative _sub-hero.html %} +
    +
    + {% include_relative _features.html %} {% include_relative + _docs.html %} {% include_relative _pricing.html %} +
    +
    +
    +
    +
    \ No newline at end of file