add roles/chartmuseum

This commit is contained in:
Haitao Pan 2023-09-25 11:34:06 +08:00
parent 835fb01d57
commit f850079ea2
4 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,19 @@
- name: setup harbor
hosts: all
user: root
become: yes
gather_facts: yes
tasks:
- include_role:
name: chartmuseum
vars:
group: master
namespace: harbor
domain: onwalk.net
auto_issuance: true
update_secret: true
storage_type: oss
tls:
- secret_name: chartmuseum-tls
keyfile: /etc/ssl/onwalk.net.key
certfile: /etc/ssl/onwalk.net.pem

View File

@ -0,0 +1,37 @@
#!/bin/bash
domain=$1
namespace=$2
auth_password=$3
secret_name=$4
storage_type=$5
cat > vaules.yaml << EOF
env:
open:
STORAGE: local
DISABLE_API: false
AUTH_ANONYMOUS_GET: true
secret:
BASIC_AUTH_USER: admin
BASIC_AUTH_PASS: '$auth_password'
ingress:
enabled: true
hosts:
- name: charts.$domain
path: /
tls: true
tlsSecret: $secret_name
ingressClassName: nginx
persistence:
enabled: true
accessMode: ReadWriteOnce
size: 8Gi
path: /storage
storageClass: "local-path"
EOF
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
helm repo add chartmuseum https://chartmuseum.github.io/charts
helm repo update
helm upgrade --install chartmuseum chartmuseum/chartmuseum -f values.yaml -n $namespace

View File

@ -0,0 +1,5 @@
dependencies:
- role: redis
- role: postgresql
- role: cert-manager
- role: secret-manger

View File

@ -0,0 +1,4 @@
- name: Setup Chartmuseum Server
script: files/setup.sh {{ domain }} {{ namespace }} {{ auth_password }} {{ item.secret_name }}
loop: "{{ tls }}"
when: inventory_hostname in groups[group]