- Allow users to query a shortcode and pay for their electricity meter bill
- Allow users to query their meter balance
- API : Akka
- DB : Firestore
- Mobile Money : Safaricom API
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: ussd-deployment | |
labels: | |
app: ussd | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: bboxx-service | |
spec: | |
type: ClusterIP | |
ports: | |
- port: 80 | |
targetPort: 7500 | |
selector: |
apiVersion: cert-manager.io/v1 | |
kind: ClusterIssuer | |
metadata: | |
name: letsencrypt-prod | |
spec: | |
acme: | |
# Email address used for ACME registration | |
email: [email protected] | |
server: https://acme-v02.api.letsencrypt.org/directory | |
privateKeySecretRef: |
apiVersion: networking.k8s.io/v1beta1 | |
kind: Ingress | |
metadata: | |
name: bboxx-ingress | |
annotations: | |
kubernetes.io/ingress.class: nginx | |
cert-manager.io/cluster-issuer: letsencrypt-prod | |
spec: | |
tls: | |
- hosts: |
apiVersion: networking.k8s.io/v1beta1 | |
kind: Ingress | |
metadata: | |
name: bboxx-ingress | |
annotations: | |
kubernetes.io/ingress.class: nginx | |
spec: | |
rules: | |
- host: "payments.bboxx.clients.decoded.africa" | |
http: |
apiVersion: autoscaling/v2beta2 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: bboxx-horizontal-pod-autoscaler | |
spec: | |
scaleTargetRef: | |
apiVersion: apps/v1 | |
kind: Deployment | |
name: bboxx-deployment | |
minReplicas: 1 |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: bboxx-deployment | |
labels: | |
app: bboxx | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: |
steps: | |
# build the container image | |
- name: "gcr.io/cloud-builders/docker" | |
args: ["build", "-t", "gcr.io/vivo-ussd-november-26th-2019/bboxxapi", "."] | |
# push container image | |
- name: "gcr.io/cloud-builders/docker" | |
args: ["push", "gcr.io/vivo-ussd-november-26th-2019/bboxxapi"] | |
# deploy container image to GKE |
server { | |
listen 80 default_server; | |
listen [::]:80 default_server; | |
} | |
server { | |
server_name compute.janikibichi.com; # managed by Certbot | |
# PROXY PASS REQUESTS FOR / http://0.0.0.0:7500 |