diff --git a/ansible/group_vars/all/oas.yml b/ansible/group_vars/all/oas.yml index b04ebb32586277ee4f4638fcf2ddfafef96e5262..7dede25b373b44bed73b446f256e6938fcab90ff 100644 --- a/ansible/group_vars/all/oas.yml +++ b/ansible/group_vars/all/oas.yml @@ -1,3 +1,4 @@ +--- # Directory to store generated configuration and cluster state. data_directory: "/var/lib/OpenAppStack" @@ -51,22 +52,12 @@ helm: # (https://open.greenhost.net/openappstack/openappstack/issues/338), so we # use a pinned version for now. # We use the official helm install script for now which has no checksum. - version: '3.1.1' - -kube_bench: - version: 0.3.0 - checksum: 'sha256:e9ecd3be4b91ebd728caa352cf95e819ddadf8cbe5bf641da46534e1baac99a2' + version: 'v3.2.1' krew: # https://github.com/kubernetes-sigs/krew/releases - version: '0.2.1' - checksum: 'sha256:dc2f2e1ec8a0acb6f3e23580d4a8b38c44823e948c40342e13ff6e8e12edb15a' - -cert_manager: - # cert-manager requires custom resource definitions applied before installing - # the helm chart. See https://hub.helm.sh/charts/jetstack/cert-manager for - # details - crd_version: '0.14.2' + version: 'v0.3.4' + checksum: 'sha256:6629b1d7ad215322361f8dd270396fd1a23555fdbde8dcc1ba4ad860978b319a' # If true, let the auto-update mechanism (flux) follow a cluster-local git # repo, not one hosted on open.greenhost.net. diff --git a/ansible/roles/apps/tasks/cert-manager.yml b/ansible/roles/apps/tasks/cert-manager.yml index 39087850632f8fcf5b3832d2c9c25c0c41c9dc5d..3aeed4b7552d8735282e33111580605d095a998e 100644 --- a/ansible/roles/apps/tasks/cert-manager.yml +++ b/ansible/roles/apps/tasks/cert-manager.yml @@ -16,8 +16,3 @@ - config - flux - cert-manager - -- name: Install CRDs for cert-manager - tags: - - cert-manager - command: '/snap/bin/kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v{{ cert_manager.crd_version }}/cert-manager.crds.yaml' diff --git a/ansible/roles/apps/tasks/core.yml b/ansible/roles/apps/tasks/core.yml index 5508006291212afffe5e3d9d5446f210e964028d..38372617b34a8fabc2534b1d2358e7ad0d31fc2b 100644 --- a/ansible/roles/apps/tasks/core.yml +++ b/ansible/roles/apps/tasks/core.yml @@ -39,7 +39,7 @@ # helm-operator # # Chart name # helm-operator - shell: helm upgrade --install --repo "https://charts.fluxcd.io" --namespace oas --version 1.0.1 --set helm.versions=v3 --set configureRepositories.enable=true --set configureRepositories.repositories[0].name=stable --set configureRepositories.repositories[0].url=https://kubernetes-charts.storage.googleapis.com --set configureRepositories.repositories[1].name=bitnami --set configureRepositories.repositories[1].url=https://charts.bitnami.com/bitnami --set chartsSyncInterval=20m --set statusUpdateInterval=30s helm-operator helm-operator + shell: helm upgrade --install --repo "https://charts.fluxcd.io" --namespace oas --version 1.1.0 --set helm.versions=v3 --set configureRepositories.enable=true --set configureRepositories.repositories[0].name=stable --set configureRepositories.repositories[0].url=https://kubernetes-charts.storage.googleapis.com --set configureRepositories.repositories[1].name=bitnami --set configureRepositories.repositories[1].url=https://charts.bitnami.com/bitnami --set chartsSyncInterval=20m --set statusUpdateInterval=30s helm-operator helm-operator - name: Create Kubernetes secret with local-path-provisioner settings tags: diff --git a/ansible/roles/apps/templates/settings/cert-manager.yaml b/ansible/roles/apps/templates/settings/cert-manager.yaml index 2b6e7e67c92450dde421657e5ba57ee57c568ccb..7b8dde5367abb6d74e095a1dc89debbc272345a9 100644 --- a/ansible/roles/apps/templates/settings/cert-manager.yaml +++ b/ansible/roles/apps/templates/settings/cert-manager.yaml @@ -5,3 +5,5 @@ ingressShim: defaultIssuerName: "letsencrypt-production" {% endif %} defaultIssuerKind: ClusterIssuer + +installCRDs: true diff --git a/ansible/roles/pre-configure/tasks/main.yml b/ansible/roles/pre-configure/tasks/main.yml index f6181961a69872622bae4b1f7ea868ad53ae32ef..cb7b37cd41321f587f74cc2bcdb3824379296599 100644 --- a/ansible/roles/pre-configure/tasks/main.yml +++ b/ansible/roles/pre-configure/tasks/main.yml @@ -45,9 +45,6 @@ name: "{{ item }}" with_items: - python3-pip - - python3-setuptools - - python3-wheel - - python3-psutil - name: Install python packages via pip3 tags: @@ -74,7 +71,8 @@ - name: Get current helm version tags: - helm - shell: helm version | grep 'Client' | cut -d'"' -f 2 | tr -d 'v' + # {{ '{{' }} escapes the curly braces needed by the `--template` argument + shell: "helm version --template \"{{ '{{' }} .Version {{ '}}' }}\"" failed_when: false register: helm_version changed_when: false @@ -95,11 +93,12 @@ force: yes mode: '0755' become: true + when: helm_version.stdout != helm.version - name: Install helm tags: - helm - command: /usr/local/bin/get-helm --version v{{ helm.version }} + command: /usr/local/bin/get-helm --version {{ helm.version }} when: helm_version.stdout != helm.version - name: Configure firewall diff --git a/ansible/roles/setup-kubernetes/tasks/krew.yml b/ansible/roles/setup-kubernetes/tasks/krew.yml index b6da450e403d9417e60dd8d5a79edba3aa17cf30..4b0f2fe694424981a9777c3f28c9253a10dffa6a 100644 --- a/ansible/roles/setup-kubernetes/tasks/krew.yml +++ b/ansible/roles/setup-kubernetes/tasks/krew.yml @@ -4,7 +4,7 @@ - kubectl - plugin - krew - shell: kubectl krew version | grep GitTag | sed 's/^.*v//' + shell: kubectl krew version | grep GitTag | awk {'print $2'} failed_when: false register: krew_version changed_when: false @@ -23,7 +23,7 @@ - plugin - krew get_url: - url: 'https://storage.googleapis.com/krew/v{{ krew.version }}/krew.tar.gz' + url: 'https://github.com/kubernetes-sigs/krew/releases/download/{{ krew.version }}/krew.tar.gz' dest: '/tmp/krew.{{ krew.version }}.tar.gz' checksum: '{{ krew.checksum }}' when: krew_version.stdout != krew.version @@ -34,7 +34,7 @@ - plugin - krew get_url: - url: 'https://storage.googleapis.com/krew/v{{ krew.version }}/krew.yaml' + url: 'https://github.com/kubernetes-sigs/krew/releases/download/{{ krew.version }}/krew.yaml' dest: '/tmp/krew.{{ krew.version }}.yaml' when: krew_version.stdout != krew.version diff --git a/flux/cert-manager/cert-manager.yaml b/flux/cert-manager/cert-manager.yaml index e98c5ca591db65b915d14a62ce1173b671b541cf..950f2ddfa443631ee6cc855edd16055134f36846 100644 --- a/flux/cert-manager/cert-manager.yaml +++ b/flux/cert-manager/cert-manager.yaml @@ -11,7 +11,7 @@ spec: chart: repository: https://charts.jetstack.io name: cert-manager - version: 0.14.2 + version: 0.15.1 valuesFrom: - secretKeyRef: name: cert-manager-settings diff --git a/flux/oas-apps/nextcloud.yaml b/flux/oas-apps/nextcloud.yaml index edd668f6a69bcc32041dcfe217646c7c22534c14..824c66eb29a996147312e6af59be44a5aaf169ab 100644 --- a/flux/oas-apps/nextcloud.yaml +++ b/flux/oas-apps/nextcloud.yaml @@ -11,7 +11,7 @@ spec: releaseName: nc chart: git: https://open.greenhost.net/openappstack/nextcloud - ref: e06a57b75be3a281680ecf1c1253094eea1ecabf + ref: 0.2.3 path: . valuesFrom: - secretKeyRef: diff --git a/flux/oas-apps/wordpress.yaml b/flux/oas-apps/wordpress.yaml index df98ecf28777e772758084f64b0ed62837aec2cc..e9c22bef1922fb3231867502b964d08c6ef6048f 100644 --- a/flux/oas-apps/wordpress.yaml +++ b/flux/oas-apps/wordpress.yaml @@ -9,7 +9,7 @@ spec: releaseName: wordpress chart: git: https://code.greenhost.net/open/wordpress-helm - ref: 85ac49b0e4914c2902ae137464951046c9c2e0c2 + ref: 0.1.1 path: . valuesFrom: - secretKeyRef: diff --git a/flux/oas/grafana.yaml b/flux/oas/grafana.yaml index cdbb973bce8f976c3eb79fff17fc88a0cf5ff4eb..591d3828e6c501a1d4344479427e19528a7a9cd0 100644 --- a/flux/oas/grafana.yaml +++ b/flux/oas/grafana.yaml @@ -11,7 +11,7 @@ spec: chart: repository: https://kubernetes-charts.storage.googleapis.com/ name: grafana - version: 5.0.11 + version: 5.1.4 valuesFrom: - secretKeyRef: name: grafana-settings diff --git a/flux/oas/prometheus.yaml b/flux/oas/prometheus.yaml index 2d03f1b5a94e690b79ef14d6a5a4cb287f8666a5..1e2cb5f818f203025a99902d63a757dcafdc7d4f 100644 --- a/flux/oas/prometheus.yaml +++ b/flux/oas/prometheus.yaml @@ -11,7 +11,7 @@ spec: chart: repository: https://kubernetes-charts.storage.googleapis.com/ name: prometheus - version: 11.0.4 + version: 11.4.0 valuesFrom: - secretKeyRef: name: prometheus-settings diff --git a/test/behave/features/grafana.feature b/test/behave/features/grafana.feature index ff431d27944c548e7927d6542d21c72602d7b2ab..af276144ed345600983c382549a246808c984160 100644 --- a/test/behave/features/grafana.feature +++ b/test/behave/features/grafana.feature @@ -7,14 +7,13 @@ Scenario: Open grafana When I open the grafana URL Then I wait on element "//input[@name='user']" for 25000ms to be visible And I expect that the title is "Grafana" - And I expect that element "#inputPassword" is visible + And I expect that element "//input[@name='password']" is visible And I expect that the path is "/login" Scenario: Login to grafana Given the element "//input[@name='user']" is visible When I enter the "grafana" "username" in the inputfield "//input[@name='user']" - And I enter the "grafana" "password" in the inputfield "#inputPassword" - And I click on the button "//div[@id='login-view']//button[@type='submit']" - Then I wait on element "div.dashboard-header" for 25000ms to be visible + And I enter the "grafana" "password" in the inputfield "//input[@name='password']" + And I click on the button "//div[@id='login-view']//button[@aria-label='Login button']" + Then I wait on element "sidemenu.sidemenu" for 25000ms to be visible And I expect that the path is "/" - And I expect that the title is "Home - Grafana"