-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.test
40 lines (31 loc) · 9.5 KB
/
Dockerfile.test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# syntax = docker/dockerfile:1
FROM rust:1.81.0-alpine3.20 AS builder
WORKDIR /app
COPY . /app
RUN <<EOF
set -eux
apk add --no-cache musl-dev
EOF
RUN --mount=type=cache,target=/root/.rustup \
--mount=type=cache,target=/root/.cargo/registry \
--mount=type=cache,target=/root/.cargo/git \
--mount=type=cache,sharing=private,target=/app/target <<EOF
set -eux
cargo build --release
cp target/release/gpg-import .
EOF
FROM alpine:3.20
ENV GPG_PRIVATE_KEY="LS0tLS1CRUdJTiBQR1AgUFJJVkFURSBLRVkgQkxPQ0stLS0tLQoKbFFkR0JHUmFvVzRCRUFDcEZibTJzK1BlTnhSSGgzWEZ3QkFrR2RpOHVNODBMRWk0a2ZKTEtOVGU0dUhXMUVkMQpvVnEyNzQ0MmxHbVB0ZVZlYURjU3BMUUQ2a0R2ZHE2TnhRWkQyWFl5QmZ6RDZnVGJkSUR0NkVqZzRYNDRRZ0J1ClFaTjlUd202VklqY0djbEFXZHpsRVBUd3JjUk9lNll1UXlQcHJqMG1BaWp6UUxPMVo4bStOSnhBOHk4SUxEQWEKelVNQzJhQ240c25EQUJmT2J0R2RXS1YzWUMvam5LRytUK1d2SDIxbTRNTk9ncC8zejJSU1hDNmZidDlTZXBrRgp5Qm9SNGk3ZTg5R2VVNm1rdFM3Um1kaE9UY1kraGJEWXpQOU52RzhJREhkcHRRVVhRdFJsTm9xQkMvTTM4a0ZVCjFjUE0rNmN4Zi9WQ3hSUk95VVJvTDNKRElieUltOUlCMVpZdVBFME5tYzVqeUxqdmNLTzdQWDVYYjBaaUFDMjEKWjh0WVE5K2QxM3JkTnE0L0dQMytSbFg0aGpXanZEWWs3VkFrTVUzbkFHdWRGa0NxclhYeUZHeFhpalJJQVRmSgpEbWVtSitoVHZqUjU5MUtaWUxOc1dqbFYzMWllOUdaU2JYYkFHUzV0aVQwMVpNKzQxOGxRN21lemtyU0hScE5jCmlYSHNDMG9wT0FIb2tpbTVEQ1Q3aG5pZ2dTeklnRG9YZ1pERUREQjVTWDduRDArMy9FcXRFY0kvYUpZMlB2U0QKUXZSbjk1TlRWbXZlTEQ3MXNwQ01KaXZpTkhlUisvVWc1MGtSUHVqTFFLaWpQaUFuUzNML2ZiMEhhMlRyRWFpUwpVOWJnRlA1QmVqdlU1U0RUSDMzQnlaU2F2SmlJclVNUmp6MHVidVhKZzBJOFYva01ZNkliZklsVXJRQVJBUUFCCi9nY0RBck1WbGZPTFBqTWQ2bE5UWmxmMnBGNWZFQ05Vcm55OFU0YWhML1NlYkRoTk9UN21nTmkxbzA4YkdETHMKRDBlTHJHS1huNjZmOHFzWGQ0M0RmWjBqa1RKUGRJZHY5cHNMWHlrU0xMSC9hS0wrR21iU2p2WUEzeXdNT3U2eQp6eGcvRlJ0d2NtelFSM21QdnlOS0xERnVUQS9pOUlSdmdyYndpaFMyTzJjVExaM3pxQUxVRllqVmhYS1ZFT245CldLQVJac3MybGZKcm1pU3l5OWpxSWtRVHora2dOYkNhdjhEWlk1aWE4ZEczOGNLU2w1QTdJZUJZS2xlRTQ4QWcKd3ZlT0lQWVZWUWlhTlhURmswckJ1SG5heER6cGtaRW44b3RNV0t6Um5XQVp3VkZHLzZDaXZUeThVYTAzTXdRRQpCTEcvWFRWQ0c4MVNyalAvU0hNS2I4OHB3SHBnMUFSWjZUQnFpb3dVRDlRWWtlR21kNUFDVDRXS21oU0xGbURVCmZiZFlSeFRGZmFTRDhDSVF3K3cwcFkwbGZwUnV5dlRXam9BZk5JR3Zja0ZUNGFXcWZ6bUg4OGQwUEgwZ09OVlMKQUZzYnZLamxiSkR3ZStWRGR4K2RmZUYzekZMWkdERW5aRUU3V3E4R09NOHJtSUd3Z2U2K1d4OHBzeXBzdWJ4dgpyNklSeEJUVkxMWU5aRWVzcjh0L0FiRlRnb05MMitNU3pDMVpWQmlKNG8xcDFhSys1MVF3Q21UaUdlMmtQT1MrCm1jdi93c014QU9kU25LcmJYOGhZaGswby9QTXZJcUp4dTUwYWg3dElSV1VkUkZvZGQ5dWFsZHJCVUN2STBwSTIKVWhOM2ZQbW1NckMvNnpkeGVGVFo4a2xhVnZMOGVrVHNORXk0Z0Z0MDhjU0FCTkI0VjVPMFRhOTQ3YW8ybVlSSQo4bll0OU03TjQ0UVlPRlQ4WnBSWG54ekFwY1hlQTF2MXUwUzlzWDZKa0l6VU1QZWtKSUx5RFdiRHg0NHRyNldiCkRrbEhMNTVMVm9uNE1PNWJKTUZ2bHZkSlBZU2cwZGlOM1lYZU4yY21uWlJ1Vy9nN2NxNjJnWUs2a1oyY0lhUW0KNEhJc3dwZ1A2dGVOOXlpZGh2YUdNOHpIQXpWdjRJcUVaaHE5eFIzZi9pM0xXcmZaa2NsVGswRlUwQWxBTVR1bQpzdWhmT09ENDlqcWZHU1lEMmZCYk80blprbHZGTmlNRUtjYldYcDNJcVNibWF2cG1kT20veGtIK09NQ1FBSUN2Cmk4NDQyZzJUZzdLaVpOZW5QeUhmMnEyaFhPQjJ3TUpRZEZtU2owR0trVzFyNEVSbTBaSCtGLzlTcHg3eEdiS1YKTzFQZDdSajIwZ3VXdzRLYTdoc3JDS083WFQxbkpLQ2RUdUJxYkcxV3YrOUxrNisrU09mTVlvYTdORWlSMFR2RQpsN3Fvd0VZRTNxTDhFb1FpVzFmb2xGS09nYWJtV256RHJoRXJ6TThYV3JpRlZHQkowQUorOXl4Y21jc3k4THg3ClZSODJDd3hmNnpVcm4rUFJxNmlBYW1sSWJLZkZndU1GU2kxL0NyYnVCVTFHNFJoTC9XQnpQcS9CNFlIaDU3ZHEKa3J5aC9SU3F2STBiMFBTNHJQdUhVeGZyR1Z6Z3FMNmZNcHRKNWVmbVlkdFpkWFFNY2JCd04xU21XMmswOXN1cwpNWEtET2tSaENoSUlIbU9WUm1xRzN4eWU4ZHlRWk1ER0dHVUQ1ZlBXMjF1dkFoVW1oNXlUVDdpUDgxd3B2b3paCmgrSGZ0V1pmTnhaUlBBRk1qODRZZWVnK21aOHRtZUdEUW1vSnVORUhXWHlrOGNlUGJWWEdpSXlhTkxUczV2OXYKNUw0aFNOSVlaVXRDdlRvUmRGUnUzcjB6aEVtMzZVN2VCdHlDVDNlVWdPNEF2MXU0K3I4TlFaTlMvdFBwOXYyQwpvaDRhck11bDliTW9RcHhPRndLOEFjK0dqMFQxRGtiZmJZUDRZeDEzcnlqOHM3YXBPQ1RzZFpYYzlhVnRlYWFjCkh2dGFmcVBDYThzQy81cjE3Zk9adjcxMXE3YzZCK0tlaHN5Q1hEVmh3dDl3ZUxHRzIyR1pCNXk3ZWhhWit0T0wKREYyVXVuZlllMWtIVEdrNzJXenVMKzZkd2xZdU0xRGZQV0VDVWN5V2d5TzlxcW40bEsrOVFRb0s4RGo2NFEyeAphcitTOVlmRGpmMHQ2WlhteCtOV0NTM25KNll1MVV3ZWFqVGZQZVZZUHEvT1djYkZiR1ExMERtVEFYSk1NYnNJCmRlcXFRL3E1cnRkU21BN2JZa0lYWWErVlRRM29ieG9PdWp6NzBjRUUxNmhGdDRlendYNDdpQm0wRm1KaGRHMWgKYmlBOFltRjBiV0Z1UUdSakxtTnZiVDZKQWs0RUV3RUlBRGdXSVFRa0V4WGRxMmhsRml3RGliL2xPSm9RZWRXbApMd1VDWkZxaGJnSWJBd1VMQ1FnSEFnWVZDZ2tJQ3dJRUZnSURBUUllQVFJWGdBQUtDUkRsT0pvUWVkV2xMOHhQCkVBQ0cwamRKMmVDckJPTEdya2NrU3dwL2ZCZFMxeGMrdzVhTCtmNE4xTGRqbi9CMi9NMnphZGVuSFZkMkN1TU8Kd2pHOUxCbWdFSjZCeHFWUlBKWFIxYUdUVXUrMkNsTm4zZXNmcGR6cFpjd3AvazZMQ1FEUWI2STVSZ3FkWWttZgpJMWEyYitzUTdPZ3JEbzNmWTdDOC9YTnUwYVJsV3hsZXdWVDNmd2F4RWJlMXF6UGIyT213bWFzWVFkU21yTURGCjg5Z2hFQVpQZDV0YkFxTzlXNCtNUEZPRGVoUWphR3hlL0NYMTl1MW02bWpEWmd6L052SkNtaWY5NEJ1bkIzU2IKTmFEaG9yaUhPd1A1R0lPK1hoc1daS25aNFlLamVETWI1czE4T1JOdkhybVIrcWt1UWd0Y2ZoRG1OT3lvaytHSAo0UWt4ZjFTY2pEVUhlem9ySlY5K0JaUE9ZSVo3WlhNN3ZVRGxTQkVhQlVTUXZyWlkyNFlSNmxrcGZJRmx4bWJ0Ck9DNTA1L1Mvd1FPcHgwOHZ4QTcrYlczRzFPTzRFTERTdi9zRXlJRnhPWVFIR3Q2Q1VTWDRSeWViaWJ0eHRtUW0KdmljVTVzL1A5cVVJWVNKVk0zNlBuNHN3SmsxVUN5UzN0cWRnQW5vSjByeFRkdm9xaFl3NUVGeU0yblB4Y3ltZwozU1lwdmhISHFBdThSZ2hqa2t6YURzOEJBRzNSYkVkcnhSZXFUOEZHd2VlVFJLVFYrdHBNNEV3ZnpaOEprTTlBCkJhOFdZSGRCZ2hvalVJTFJlbDAzc2JSNGRORUlnVUNqb2R6RjlhQ2wwYVJQcTJhbVFDVno4dytJc3hONjNoY0MKZjZTWmVPdXU3V0NtOXpsSWtpR0ZldHRHQmJ0YjN2RS8rVHNNdEt5Mkd0OU5GNTBIUmdSa1dxRnVBUkFBck9uZApCd0loaVFaUHRFQy94b2kzODRDTk9vUTFDS21HbDFJanBEMnFUL0lZUU1VQk5rZGcrMGRqdEx0MFhTb2dLWHhDClZpaUZCZnpSZ0JKdEVFU09NNXBnbTVPTGtPS2o1R1VKS0VuQ0hFRHhBaXhmbEMzTWNIajZJRU03VmpMQkxwT2MKY1VNMU9TYnlaVWxZck5oazlYNXdhVzU1YTRiYW5FRi9iQmFtanI1NVpVd1BjQmNCSXIrV3F6b2trdEdUZzFSdQplK3ZJN1BoRHFkM1hpc3YxYmZsNlBMRGpkWkFBTFJ0Z3I3MG9GUWtuMkVTNWswWVRLeXl2R0F2M0g4TTZGZXpjClM1RXd6UlZZWUVoWm00Y0sxZElzK3djbDRBSFFnQnJzT2l2SUFwdnZRTDVJdThxcjhjdi81MjRJUE1GQXlsWUMKUnVhSE9ITlBRbzhlbmIxM2xBK1NCZWl0cFFGcS9FeWJabG50RG5xVkMyWk1nOXhxQS9RMXBUaEI0Y3ZHL1V5dwpEak52VVNqNVNXY05pbFF6TlZwdk1ZekZJemhsOW9EbWI5QVNOVUd6VWxRTVYvNnM3bGJ4OEloaWEwblpIM1lVClZOV29Nc0Vob1NySTBUUXlMV0x4NGxOT3Q0TU5CV2kzUkwrT2UvNlVSRFg0Yk1jbTR2MWU4dktMQ1FZZFJSdWEKYk5kZkdPOGZVQ1J6OWllSXNCVVdRNS9sYzdQMWgyMkJ2dVdHVjkyQ1llcVNkVDludXUrYk1CSVpleGh2THN6TApYaWpZY1ZoanZZTDlPdDRiMThkdkY0UXdJNEtud3JYbkY5WGlEWEZySjVsVDdOcUhYdWFzaEg2cmFPZFN5VW45ClpEM1JNcmZvbkczSjlEaTIxREFHMGVQd24yTEJCTTdIWUk3YTlQRUFFUUVBQWY0SEF3THNvTXNDVTFzV3Urb0YKUGhVQ3dqNTFPS1dwQkpXR2psZ3FNQ1hMb2hOcnVldlB1NDRQQktGdHBieW1vYzdnUWY0WTdqOHIrVDlpZXRoTgpjNkNoUTgzSFFhd0F0Q2pNbExBTWZ6MlVnb093NFJ6T2FSQklvNUVoRnUrSkk4ZTRvaWJUTHM2UnNxSWRqb3VYCittdkZNQkFOeG1HdnovVFNIdnIyMVpYVUtFUi9rQ0hnRytDL2ZDNDdZcndzTDl3cW5BZENORU9NZERucDVHSW8KZnVyaDFHd0FaaldoSk5UMGxGa1phRVJVb3lRazdBMDlhRHFzSzhNT3ZRQW5Hb1dsZWRjanoyeW5icEgrTnRUSwoxYm1Zc2R1c1EwOCtmWXZ5OXdvaWtFYmNidVJsb0NscXhhN21qRWRGSUxJMHdFQWQvNjZYR3o4TEZmZlRJc1BtCjR4Zk4vTHhHTHpiOXhjK2JZZU0wT05jWXlUazNJY3I2c3B4MzN1VWQvM2s5NTF3V3J4L09QUjVTMURzSnJHODAKb1MrdU01VFdCdnErWUtyQlZTMFVTNytTZjFiWmpxRmt6NFVDejdDcUdoWFJLV2NpUDF0a21KZitPUVphRHlmbgpmRGlmdWRmVzAyRHB6SGpWYm9OWXVTU1A1NEYrM2tiUFdZTktWWFgvRStOOVNTVU9CcFRhdUs0Y2FzNUZsN3VXCjJBZEk1ZU9VcndScUNQVEVzYkwrR1kydG9ZTmx2cEtFYTQxK29PN1VMSFRiMzh5ME5rVWlZWnJCSVAvcWJ2Y1AKZzRJOG1QcUlaeU9lZEZYNC90Y3IrbUwvQ2hzMVBpWE5ER0Q1M1Q3N1JrQ3kxR1RZTHJ6cXYxc1J0V01FRGJJagp5YTJsV1BXUzNTTUpoeWJ1Ymh4ZU5VZDB6Ymk5YTIyUWx1c0JwYld2Tll1TDA4Qy9aUExsejdNMjdLME9DT1Y2CkpaL2NwNXhhTVNSVmdnSFFIRjVMaytUWlJHc3RBdURZL0Mrb25BeTcxcHFvNFkzTE5TaTdIeHR4S0JOYnZnQXUKZExDUUJxUHZXTkZNWXZRaFFIVEliRWlqeWdCam1VL0hBOXFaUHQzeDJSMzVCVENBUlV1R0lJU1NueEtUWUhKSQo1Vkk1a2cvMkFHS09BdlVqUXd0VUdsVTQ0WUhIWU5VbFFPank2TDhzUGF4TWJsN1pJTk5sZ3YxSW1PV2wrQVd2CnczanFicDRkTmQ0Tjh1NWd4OHp5OXBTMXhkRUhGcGRWa3EzcmgxQmlPbzE1Y1MrSXlqRXE4ZmhHbk5GZHJzTUcKNGJEKzFyMkJNR1VDU0ZhSTFWMGpIUkk3NTByZng0Nlg1MmtQbGlFa2pCZ3NyajNUTkd2QmppdVRRQm1vNlJXbgo4WU12andXenhYOWlBbm81bVRZNVBQcnVrVXd5NDdwWWJ4UG5lYzB4L01iQko4cERuWklTZ0tKNVg1V2xvbXRGCkhZWEZXUjdQanQ2SjE2Q1hWN0NjZEoxQ1UrT1NremFLWTZVdy9nNFRac3c4ZERZRGtMUmpxTnBIc1NXTnhjS3gKOUZqLzQ4dm9RRTdEUHVTZWJqOFZ0aitTREFxVHdqd0RjbkxiaThrSnU2NmFXdWRnZE1OVWllQkF1bFdQb2xCWQozTjVZcStYNFdWcUlCY1kxUXUyZ1FKUVhHazdybENjOU5sUmVkRkdUOVd4YnhHWHZ0K0dFUEx4ZkQvbEpoUU12CmZCMlBUZUJKNm5kT0dCN1E5QzhpZHpzYjBpemF6WFpXRk5ZTmROSEhMQ0M1ZUZOY29zbmFjaEJVckJOUmlJN3QKZEt3cWVOeDdvdnZ1TzB4MWRwYnhkMU1FaUZZTkZyQWs1WkJBVmhtcnRYc0NvTlR0NThEOGxGa05Oc1FOMTU1MwphZi9lVEpuZzdZQ0o0ejBUWVp5NkVQWC8vK0paZVIreVJieGpPa3JlNkhZNDd1UFZiV2Qwa3JNeFRxR3RaWEVxCmRKZFJGdXRhYzVrWUZaUVJrZ3diejdMbzZ3U1FEUUUrUE5IQTh5eGdSTzh4SE4wdTJpUm5yWlQwS0YxSFhrZUcKRGRtMGxxVTlBUHRkZldSbS9xaE9TWWp4T01XbHdpWUwvckExRjMxdjNSQ0FtZnpnMWpyRkd5eXVOWjBUcFpPbwprSStpbEZ4eEt4bFd1UnBVakZnZENnUGlQRzF1SURWYzArbzVYaytJeWZRYzBqamNmdjRWL3gzYkpDb1ZZUzhoCkpSbVVhdEdyd1M2MVE2dHJOVENVL2c3ai95TEE1SjBsdjBBOXBrbjFaUkQ5WkwrRW9XNHRZZEdhZFVBeWdjZ3QKU3FMUndNd1JzZjBVZ0VibE1va0FuOWhOaUpNbkY5L1h2bkd0aVFJMkJCZ0JDQUFnRmlFRUpCTVYzYXRvWlJZcwpBNG0vNVRpYUVIblZwUzhGQW1SYW9XNENHd3dBQ2drUTVUaWFFSG5WcFM5RXNBLzlHc2dJYXZnM2dDVHNGOHhlCk5KYitRaXlTMnZCM0JORHFHN1NzclRWcW5qWHdmV2ZvTncrZktFRkc2NnFUcXJkM3dieWJ4bUk2dG5sV1JtN3cKMkhKZkFtRCt5V0tGVTFwNVR0emoxZ2lQNjNyK2hQMDRTZkdYaWlxTVYrdU9GUTN6RW1YQ2pIQlZJVDNISVRGbApQTVU3b1duWWNBU0lBQTdVK0FXNTJhdDhRbE1TMm9VazVkT2grYkpZdWJBY1hqRmRDTmw1SWxvWHlSM3BnQXBBCmpzN3FrRDRxR24zczRPSytVUzVzd0JuK3dCRzNoeDhFQ2k1SXdkbHRUdFY2ZzVZMGY4OHlYU21VQm1CdHdoSkYKSWRERzJ5czRSWDdjaEdyZStucGV6YkwwVWZFWjJqU1E3ZXdBMWhTL3g3T1Z0SXNHRnd1WlE0VG9wTUUrcy84YQoxSjI1c3RQc2t4b3YvRlFtZ29id2NHL0VYRjJiT1ByaVRtWEpnZjVjUkRXeUE0dUNRL2ljQmlyMThicXhuZ1BJCndaUDYzY1hobjhLN0NnRmVEMlRsZTJaSGhQQVBwTm56WnR0OW1EejVuVEZUUmpXRHRrQ0hkRHAzUTc2WkRMa1QKS1NWb1IzR1JsTEl4SlFwY0pkZ0pvMmE4dzJxL1JSa3Z1OGFwb2JpbVVTaWxQMTgwbVpVeC9qUSsyeEZrYytTUQpGN3hubUtMQ0lLSlp0TTdiWkNGUDYxYTBQTVlLY3BSNXhGbGZDM2ZGNTBoY2xTa0dhWmMwVnVubmpVaTRpNWxHClZyd2xpWlhkZTNWLzAvZTBLNzhDSVVFbU9IMUE5NmJBbnZwbmEwcFB4cDJLeGxNRGhhYzR1TWIvRHhtUzZpeHkKdCtUV1p6ckprSi9MWVl5WkhsYjNFRjBCZm5NPQo9QUl2cQotLS0tLUVORCBQR1AgUFJJVkFURSBLRVkgQkxPQ0stLS0tLQo="
ENV GPG_PASSPHRASE="gothamcity!"
ENV GPG_TRUST_LEVEL=5
RUN <<EOF
set -eux
apk add --no-cache git gnupg tini
EOF
WORKDIR /work
RUN <<EOF
set -eux
git init
EOF
COPY --from=builder --link /app/gpg-import /usr/local/bin/gpg-import
ENTRYPOINT ["tini", "--", "gpg-import"]