diff --git a/manifests/linx-server.yaml b/manifests/linx-server.yaml new file mode 100644 index 0000000..b51458f --- /dev/null +++ b/manifests/linx-server.yaml @@ -0,0 +1,114 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: linx-server +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: linx-server + namespace: linx-server +data: + linx-server.conf: |- + sitename = share + maxsize = 524288000 + maxexpiry = 0 + selifpath = f + nologs = false + force-random-filename = false + s3-endpoint = https://s3.fr-par.scw.cloud + s3-region = fr-par + s3-bucket = cluster.fun-linx +--- +apiVersion: v1 +kind: Secret +metadata: + name: linx-server-s3 + namespace: linx-server + annotations: + kube-1password: d5dgclm3qrxd4fntivv26ec3ee + kube-1password/vault: Kubernetes +type: Opaque + +--- +apiVersion: v1 +kind: Service +metadata: + name: linx-server + namespace: linx-server +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: web + name: web + selector: + app: linx-server +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: linx-server + namespace: linx-server +spec: + replicas: 2 + selector: + matchLabels: + app: linx-server + template: + metadata: + labels: + app: linx-server + spec: + containers: + - name: web + image: andreimarcu/linx-server:version-2.3.5 + imagePullPolicy: Always + args: + - -config + - /config/linx-server.conf + ports: + - containerPort: 8080 + name: web + env: + - name: AWS_ACCESS_KEY_ID + valueFrom: + secretKeyRef: + name: linx-server-s3 + key: username + - name: AWS_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + name: linx-server-s3 + key: password + volumeMounts: + - name: config + mountPath: /config + volumes: + - name: config + configMap: + name: linx-server +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: linx-server + namespace: linx-server + annotations: + cert-manager.io/cluster-issuer: letsencrypt + traefik.ingress.kubernetes.io/frontend-entry-points: http,https + traefik.ingress.kubernetes.io/redirect-entry-point: https + traefik.ingress.kubernetes.io/redirect-permanent: "true" +spec: + tls: + - hosts: + - share.cluster.fun + secretName: linx-server-ingress + rules: + - host: share.cluster.fun + http: + paths: + - path: / + backend: + serviceName: linx-server + servicePort: 80 diff --git a/terraform/bucket.tf b/terraform/bucket.tf index 06b502f..6854387 100644 --- a/terraform/bucket.tf +++ b/terraform/bucket.tf @@ -6,3 +6,12 @@ resource "scaleway_object_bucket" "kubernetes" { output "bucket_id" { value = scaleway_object_bucket.kubernetes.id } + +resource "scaleway_object_bucket" "linx" { + name = "cluster.fun-linx" + acl = "private" +} + +output "linx-bucket_id" { + value = scaleway_object_bucket.linx.id +} diff --git a/terraform/kubernetes-cluster.tf b/terraform/kubernetes-cluster.tf index 1aa0fea..023b214 100644 --- a/terraform/kubernetes-cluster.tf +++ b/terraform/kubernetes-cluster.tf @@ -17,7 +17,7 @@ resource "scaleway_k8s_pool_beta" "k8s-cluster-pool-1" { cluster_id = scaleway_k8s_cluster_beta.k8s-cluster.id name = "node pool 1" node_type = "DEV1-M" - size = 2 + size = 1 min_size = 1 max_size = 2 autoscaling = true