Git Product home page Git Product logo

component-openshift4-terraform's Introduction

Commodore Component: openshift4-terraform

This is a Commodore Component for openshift4-terraform.

This repository is part of Project Syn. For documentation on Project Syn and this component, see syn.tools.

Documentation

The rendered documentation for this component is available on the Commodore Components Hub.

Documentation for this component is written using Asciidoc and Antora. It can be found in the docs folder. We use the Divio documentation structure to organize our documentation.

Run the make docs-serve command in the root of the project, and then browse to http://localhost:2020 to see a preview of the current state of the documentation.

After writing the documentation, please use the make docs-vale command and correct any warnings raised by the tool.

Contributing and license

This library is licensed under BSD-3-Clause. For information about how to contribute, see CONTRIBUTING.

component-openshift4-terraform's People

Contributors

bastjan avatar ccremer avatar debakelorakel avatar glrf avatar haasad avatar mhutter avatar renovate-bot avatar simu avatar vshn-renovate avatar vshnbot avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

component-openshift4-terraform's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

commodore-docker
class/defaults.yml
  • registry.gitlab.com/gitlab-org/terraform-images/releases/terraform 1.3.1

Upgrade to Terraform 1.0.x

Summary

As an engineer
I want to use up-to-date version of tools
So that I can take advantage of the latest improvements

Context

The latest stable Terraform version is v1.0.5 (as of 2021-08-19). However, the component still defaults to Terraform v0.14.8. We should update the component to default to v1.0.5 after verifying that the OCP4 modules (https://github.com/appuio/terraform-openshift4-cloudscale and https://github.com/appuio/terraform-openshift4-exoscale) work with v1.0.5.

I'd propose that we switch to the registry.gitlab.com/gitlab-org/terraform-images/releases/terraform, which has tags that actually correspond to a Terraform version in contrast to the registry.gitlab.com/gitlab-org/terraform-images/releases/0.14 image which we currently use, where tag v0.10.0 doesn't correspond to the Terraform 0.14 patch version (actual Terraform version in registry.gitlab.com/gitlab-org/terraform-images/releases/0.14:v0.10.0 is v0.14.8).

Out of Scope

  • Large-scale refactoring of Terraform modules

Further links

Acceptance criteria

  • Given that I include this component for my cluster, I'm using Terraform v1.0.x unless I override the Terraform image.

Implementation Ideas

  • Update default image version

GitLab CI lint not working anymore without authentication

GitLab CI linting PR check fails (see details below)

Possible actions:

  • Remove GitLab ci linting step
  • Keep the GitLab CI linting step, but use authentication
    • Use git.vshn.net with a token
    • Use gitlab.com with a token
    • However, this check cannot be done in PR checks, since GitHub won't expose Secrets in PRs for security reasons (leaking etc.)

Steps to Reproduce the Problem

  1. make test-cloudscale

Actual Behavior

See logs in https://github.com/appuio/component-openshift4-terraform/runs/2802667905?check_suite_focus=true, e.g.

cat compiled/openshift4-terraform/openshift4-terraform/gitlab-ci.yml | docker run --rm -u "$(id -u)" -w /openshift4-terraform -v "${PWD}/compiled/openshift4-terraform/openshift4-terraform:/openshift4-terraform" -i docker.io/gableroux/gitlab-ci-lint:latest
...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  1957  100    30  100  1927    241  15540 --:--:-- --:--:-- --:--:-- 15782
configuration is invalid, unknown status 'null'
make: *** [Makefile:58: .test] Error 254

Reverse-engineering https://www.github.com/GabLeRoux/docker-gitlab-ci-lint showed that the Linting is done with the live API on gitlab.com. The request fails silently with HTTP status 400 from now on.

Turns out GitLab has put the CI-lint API behind authentication: https://about.gitlab.com/releases/2021/06/01/security-release-gitlab-13-12-2-released/#unauthenticated-ci-lint-api-may-lead-to-information-disclosure-and-ssrf

Action points

  1. Introduce a simple yaml lint for testing locally
  2. Create a restricted token on git.vshn.net
  3. Create GH secret so that the check works when linting with git.vshn.net API (set GITLAB_API_URL with user:token@https://... in workflow)
  4. Separate the live CI linting from local make targets

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/lint.yaml
  • actions/checkout v3
  • actions/checkout v3
  • snow-actions/eclint v1.0.1
.github/workflows/release.yaml
  • actions/checkout v3
  • mikepenz/release-changelog-builder-action v3
  • ncipollo/release-action v1
.github/workflows/test.yaml
  • actions/checkout v3

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.