wip
This commit is contained in:
parent
b652c521bd
commit
f2aca73855
34
Makefile
Normal file
34
Makefile
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Variables
|
||||||
|
IMAGE_NAME = registry.espin.casa/cml04-falcon-system
|
||||||
|
CONTAINER_NAME = cml04-falcon-system
|
||||||
|
|
||||||
|
# Check if Docker or Podman is available
|
||||||
|
DOCKER := $(shell command -v docker 2> /dev/null)
|
||||||
|
PODMAN := $(shell command -v podman 2> /dev/null)
|
||||||
|
|
||||||
|
# Determine which command to use based on availability
|
||||||
|
ifdef DOCKER
|
||||||
|
DOCKER_CMD := docker
|
||||||
|
else ifdef PODMAN
|
||||||
|
DOCKER_CMD := podman
|
||||||
|
else
|
||||||
|
$(error "Neither Docker nor Podman is installed on this system.")
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Build the Docker image
|
||||||
|
build:
|
||||||
|
$(DOCKER_CMD) build -t $(IMAGE_NAME) -f docker/Dockerfile .
|
||||||
|
|
||||||
|
# Run the container
|
||||||
|
run:
|
||||||
|
@templ generate
|
||||||
|
@$(DOCKER_CMD) run $(IMAGE_NAME)
|
||||||
|
|
||||||
|
# Stop and remove the container
|
||||||
|
stop:
|
||||||
|
$(DOCKER_CMD) stop $(CONTAINER_NAME)
|
||||||
|
$(DOCKER_CMD) rm $(CONTAINER_NAME)
|
||||||
|
|
||||||
|
# Remove the Docker image
|
||||||
|
clean:
|
||||||
|
$(DOCKER_CMD) rmi $(IMAGE_NAME)
|
28
celsa2048.crt
Normal file
28
celsa2048.crt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIE0zCCA7ugAwIBAgIJANu+mC2Jt3uTMA0GCSqGSIb3DQEBCwUAMIGhMQswCQYD
|
||||||
|
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux
|
||||||
|
FTATBgNVBAoTDFpzY2FsZXIgSW5jLjEVMBMGA1UECxMMWnNjYWxlciBJbmMuMRgw
|
||||||
|
FgYDVQQDEw9ac2NhbGVyIFJvb3QgQ0ExIjAgBgkqhkiG9w0BCQEWE3N1cHBvcnRA
|
||||||
|
enNjYWxlci5jb20wHhcNMTQxMjE5MDAyNzU1WhcNNDIwNTA2MDAyNzU1WjCBoTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBK
|
||||||
|
b3NlMRUwEwYDVQQKEwxac2NhbGVyIEluYy4xFTATBgNVBAsTDFpzY2FsZXIgSW5j
|
||||||
|
LjEYMBYGA1UEAxMPWnNjYWxlciBSb290IENBMSIwIAYJKoZIhvcNAQkBFhNzdXBw
|
||||||
|
b3J0QHpzY2FsZXIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
||||||
|
qT7STSxZRTgEFFf6doHajSc1vk5jmzmM6BWuOo044EsaTc9eVEV/HjH/1DWzZtcr
|
||||||
|
fTj+ni205apMTlKBW3UYR+lyLHQ9FoZiDXYXK8poKSV5+Tm0Vls/5Kb8mkhVVqv7
|
||||||
|
LgYEmvEY7HPY+i1nEGZCa46ZXCOohJ0mBEtB9JVlpDIO+nN0hUMAYYdZ1KZWCMNf
|
||||||
|
5J/aTZiShsorN2A38iSOhdd+mcRM4iNL3gsLu99XhKnRqKoHeH83lVdfu1XBeoQz
|
||||||
|
z5V6gA3kbRvhDwoIlTBeMa5l4yRdJAfdpkbFzqiwSgNdhbxTHnYYorDzKfr2rEFM
|
||||||
|
dsMU0DHdeAZf711+1CunuQIDAQABo4IBCjCCAQYwHQYDVR0OBBYEFLm33UrNww4M
|
||||||
|
hp1d3+wcBGnFTpjfMIHWBgNVHSMEgc4wgcuAFLm33UrNww4Mhp1d3+wcBGnFTpjf
|
||||||
|
oYGnpIGkMIGhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8G
|
||||||
|
A1UEBxMIU2FuIEpvc2UxFTATBgNVBAoTDFpzY2FsZXIgSW5jLjEVMBMGA1UECxMM
|
||||||
|
WnNjYWxlciBJbmMuMRgwFgYDVQQDEw9ac2NhbGVyIFJvb3QgQ0ExIjAgBgkqhkiG
|
||||||
|
9w0BCQEWE3N1cHBvcnRAenNjYWxlci5jb22CCQDbvpgtibd7kzAMBgNVHRMEBTAD
|
||||||
|
AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAw0NdJh8w3NsJu4KHuVZUrmZgIohnTm0j+
|
||||||
|
RTmYQ9IKA/pvxAcA6K1i/LO+Bt+tCX+C0yxqB8qzuo+4vAzoY5JEBhyhBhf1uK+P
|
||||||
|
/WVWFZN/+hTgpSbZgzUEnWQG2gOVd24msex+0Sr7hyr9vn6OueH+jj+vCMiAm5+u
|
||||||
|
kd7lLvJsBu3AO3jGWVLyPkS3i6Gf+rwAp1OsRrv3WnbkYcFf9xjuaf4z0hRCrLN2
|
||||||
|
xFNjavxrHmsH8jPHVvgc1VD0Opja0l/BRVauTrUaoW6tE+wFG5rEcPGS80jjHK4S
|
||||||
|
pB5iDj2mUZH1T8lzYtuZy0ZPirxmtsk3135+CKNa2OCAhhFjE0xd
|
||||||
|
-----END CERTIFICATE-----
|
38
docker/Dockerfile
Normal file
38
docker/Dockerfile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# Etapa de compilación
|
||||||
|
FROM golang:1.23.1-bookworm AS builder
|
||||||
|
|
||||||
|
ENV TZ=Europe/Madrid
|
||||||
|
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
ADD celsa2048.crt /usr/local/share/ca-certificates/celsa2048.crt
|
||||||
|
RUN chmod 644 /usr/local/share/ca-certificates/celsa2048.crt
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends ca-certificates
|
||||||
|
|
||||||
|
RUN update-ca-certificates
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN go get -d -v ./...
|
||||||
|
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -mod=mod -ldflags "-s -w" -o myapp main.go
|
||||||
|
|
||||||
|
# Etapa de producción
|
||||||
|
|
||||||
|
FROM debian:stable
|
||||||
|
ENV TZ=Europe/Madrid
|
||||||
|
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
ADD celsa2048.crt /usr/local/share/ca-certificates/celsa2048.crt
|
||||||
|
RUN chmod 644 /usr/local/share/ca-certificates/celsa2048.crt
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends ca-certificates
|
||||||
|
ADD assets /root/
|
||||||
|
ADD templates /root/
|
||||||
|
RUN update-ca-certificates
|
||||||
|
WORKDIR /root/
|
||||||
|
|
||||||
|
COPY --from=builder /app/myapp .
|
||||||
|
|
||||||
|
CMD ["./myapp"]
|
@ -20,15 +20,14 @@ type publisher struct {
|
|||||||
func (e *publisher) Barcode(ctx context.Context, barcode string) error {
|
func (e *publisher) Barcode(ctx context.Context, barcode string) error {
|
||||||
// create event message
|
// create event message
|
||||||
evt := cml04eventer.NewEvent("falcon-handset", "barcode.new", nil, []byte(barcode))
|
evt := cml04eventer.NewEvent("falcon-handset", "barcode.new", nil, []byte(barcode))
|
||||||
|
// create buffer message data
|
||||||
buf := bytes.Buffer{}
|
buf := bytes.Buffer{}
|
||||||
|
// encode message
|
||||||
if err := json.NewEncoder(&buf).Encode(evt); err != nil {
|
if err := json.NewEncoder(&buf).Encode(evt); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
// publish event message
|
||||||
return e.nc.Publish("barcode.new", buf.Bytes())
|
return e.nc.Publish("barcode.new", buf.Bytes())
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(nc *nats.Conn) Publisher {
|
func New(nc *nats.Conn) Publisher {
|
||||||
|
Loading…
Reference in New Issue
Block a user