arm64: minio, rpuppy
diff --git a/apps/minio/Dockerfile b/apps/minio/Dockerfile
index 0f1c204..1ee9555 100644
--- a/apps/minio/Dockerfile
+++ b/apps/minio/Dockerfile
@@ -1,25 +1,17 @@
-FROM golang:1.13-alpine as builder
+FROM arm64v8/alpine
-WORKDIR /home
+RUN apk add --no-cache curl
-ENV GOPATH /go
-ENV CGO_ENABLED 0
-ENV GO111MODULE on
-
-RUN go get github.com/minio/minio
-WORKDIR /go/pkg/mod/github.com/minio/minio@v0.0.0-20200426024807-6ecc98fddbfb
-RUN go build -tags kqueue -trimpath -o minio
-
-FROM arm32v7/alpine:3.11
-COPY --from=builder /go/pkg/mod/github.com/minio/minio@v0.0.0-20200426024807-6ecc98fddbfb/minio /usr/bin/
-COPY --from=builder /go/pkg/mod/github.com/minio/minio@v0.0.0-20200426024807-6ecc98fddbfb/dockerscripts/docker-entrypoint.sh /usr/bin/
-RUN chmod +x /usr/bin/minio
-RUN chmod +x /usr/bin/docker-entrypoint.sh
+RUN curl --silent --show-error --fail --location \
+ --header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o /usr/bin/minio \
+ "https://dl.minio.io/server/minio/release/linux-arm64/minio" \
+ && chmod 0755 /usr/bin/minio
+RUN curl --silent --show-error --fail --location \
+ --header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o /usr/bin/docker-entrypoint.sh \
+ "https://raw.githubusercontent.com/minio/minio/master/dockerscripts/docker-entrypoint.sh" \
+ && chmod 0755 /usr/bin/docker-entrypoint.sh
EXPOSE 9000
-
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
-
VOLUME ["/data"]
-
-CMD ["minio"]
\ No newline at end of file
+CMD ["minio"]
diff --git a/apps/minio/ingress.yaml b/apps/minio/ingress.yaml
new file mode 100644
index 0000000..511e5bb
--- /dev/null
+++ b/apps/minio/ingress.yaml
@@ -0,0 +1,17 @@
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: ingress
+ namespace: minio
+spec:
+ entryPoints:
+ - web
+ routes:
+ - kind: Rule
+ match: Host(`minio`)
+ services:
+ - kind: Service
+ name: minio
+ namespace: minio
+ passHostHeader: true
+ port: 9000
diff --git a/apps/minio/operator.yaml b/apps/minio/operator.yaml
deleted file mode 100644
index 3b9910e..0000000
--- a/apps/minio/operator.yaml
+++ /dev/null
@@ -1,136 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
- name: minio-operator-ns
----
-apiVersion: apiextensions.k8s.io/v1beta1
-kind: CustomResourceDefinition
-metadata:
- name: minioinstances.miniocontroller.min.io
-spec:
- group: miniocontroller.min.io
- version: v1beta1
- scope: Namespaced
- names:
- kind: MinIOInstance
- singular: minioinstance
- plural: minioinstances
- preserveUnknownFields: true
- validation:
- # openAPIV3Schema is the schema for validating custom objects.
- # Refer https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#specifying-a-structural-schema
- # for more details
- openAPIV3Schema:
- type: object
- properties:
- spec:
- type: object
- properties:
- replicas:
- type: integer
- minimum: 1
- maximum: 32
- version:
- type: string
- mountpath:
- type: string
- subpath:
- type: string
- additionalPrinterColumns:
- - name: Replicas
- type: integer
- JSONPath: ".spec.replicas"
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: ClusterRole
-metadata:
- name: minio-operator-role
-rules:
-- apiGroups:
- - ""
- resources:
- - namespaces
- - secrets
- - pods
- - services
- - events
- verbs:
- - get
- - watch
- - create
- - list
- - patch
-- apiGroups:
- - apps
- resources:
- - statefulsets
- verbs:
- - get
- - create
- - list
- - patch
- - watch
- - update
-- apiGroups:
- - "certificates.k8s.io"
- resources:
- - "certificatesigningrequests"
- - "certificatesigningrequests/approval"
- - "certificatesigningrequests/status"
- verbs:
- - update
- - create
- - get
-- apiGroups:
- - miniocontroller.min.io
- resources:
- - "*"
- verbs:
- - "*"
-- apiGroups:
- - min.io
- resources:
- - "*"
- verbs:
- - "*"
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: minio-operator-sa
- namespace: minio-operator-ns
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1beta1
-metadata:
- name: minio-operator-binding
- namespace: minio-operator-ns
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: minio-operator-role
-subjects:
-- kind: ServiceAccount
- name: minio-operator-sa
- namespace: minio-operator-ns
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: minio-operator
- namespace: minio-operator-ns
-spec:
- replicas: 1
- selector:
- matchLabels:
- name: minio-operator
- template:
- metadata:
- labels:
- name: minio-operator
- spec:
- serviceAccountName: minio-operator-sa
- containers:
- - name: minio-operator
- image: minio/k8s-operator:1.0.7
- imagePullPolicy: IfNotPresent
\ No newline at end of file
diff --git a/apps/minio/setup.sh b/apps/minio/setup.sh
index d774723..1df3e96 100644
--- a/apps/minio/setup.sh
+++ b/apps/minio/setup.sh
@@ -6,7 +6,5 @@
--set fullnameOverride=minio \
--set image.repository=giolekva/minio-arm \
--set image.tag=latest \
- --set existingSecret=minio-creds \
-
-# kubectl create -f operator.yaml
-# kubectl create -n minio -f deployment.yaml
+ --set existingSecret=minio-creds
+kubectl -n minio create -f ingress.yaml
diff --git a/apps/rpuppy/Dockerfile b/apps/rpuppy/Dockerfile
index 47a32c9..bfeaa0f 100644
--- a/apps/rpuppy/Dockerfile
+++ b/apps/rpuppy/Dockerfile
@@ -8,12 +8,12 @@
COPY main.go /app/main.go
ENV GOOS linux
-ENV GOARCH arm
+ENV GOARCH arm64
ENV CGO_ENABLED 0
ENV GO111MODULE off
RUN go build -o rpuppy -trimpath -ldflags="-s -w" main.go
-FROM arm32v7/alpine:latest
+FROM arm64v8/alpine:latest
WORKDIR /
COPY --from=build /app/rpuppy /usr/bin/rpuppy
diff --git a/scripts/raspberry-pi.sh b/scripts/raspberry-pi.sh
index 3743ca1..8b3ccff 100644
--- a/scripts/raspberry-pi.sh
+++ b/scripts/raspberry-pi.sh
@@ -42,3 +42,10 @@
helm --namespace=traefik install traefik traefik/traefik \
--set additionalArguments="{--providers.kubernetesingress,--global.checknewversion=true}" \
--set ports.traefik.expose=True
+
+
+
+### setup docker
+sudo adduser docker
+sudo usermod -aG sudo docker
+sudo apt-get install docker.io