src/dev/build/tasks/os_packages/create_os_package_tasks.ts (205 lines of code) (raw):
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the "Elastic License
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
* Public License v 1"; you may not use this file except in compliance with, at
* your election, the "Elastic License 2.0", the "GNU Affero General Public
* License v3.0 only", or the "Server Side Public License, v 1".
*/
import { Task } from '../../lib';
import { runFpm } from './run_fpm';
import { runDockerGenerator } from './docker_generator';
import { createOSPackageKibanaYML } from './create_os_package_kibana_yml';
export const CreatePackageConfig: Task = {
description: 'Creating OS package kibana.yml',
async run(config, log, build) {
await createOSPackageKibanaYML(config, build);
},
};
export const CreateDebPackage: Task = {
description: 'Creating deb package',
async run(config, log, build) {
await runFpm(config, log, build, 'deb', 'x64', [
'--architecture',
'amd64',
'--deb-priority',
'optional',
'--depends',
' adduser',
]);
await runFpm(config, log, build, 'deb', 'arm64', [
'--architecture',
'arm64',
'--deb-priority',
'optional',
'--depends',
' adduser',
]);
},
};
export const CreateRpmPackage: Task = {
description: 'Creating rpm package',
async run(config, log, build) {
await runFpm(config, log, build, 'rpm', 'x64', [
'--architecture',
'x86_64',
'--rpm-os',
'linux',
]);
await runFpm(config, log, build, 'rpm', 'arm64', [
'--architecture',
'aarch64',
'--rpm-os',
'linux',
]);
},
};
const dockerBuildDate = new Date().toISOString();
export const CreateDockerWolfi: Task = {
description: 'Creating Docker Wolfi image',
async run(config, log, build) {
await runDockerGenerator(config, log, build, {
architecture: 'x64',
baseImage: 'wolfi',
context: false,
image: true,
dockerBuildDate,
});
await runDockerGenerator(config, log, build, {
architecture: 'aarch64',
baseImage: 'wolfi',
context: false,
image: true,
dockerBuildDate,
});
},
};
export const CreateDockerServerless: Task = {
description: 'Creating Docker Serverless image',
async run(config, log, build) {
await runDockerGenerator(config, log, build, {
architecture: 'x64',
baseImage: 'wolfi',
context: false,
serverless: true,
image: true,
dockerBuildDate,
});
await runDockerGenerator(config, log, build, {
architecture: 'aarch64',
baseImage: 'wolfi',
context: false,
serverless: true,
image: true,
dockerBuildDate,
});
},
};
export const CreateDockerUBI: Task = {
description: 'Creating Docker UBI image',
async run(config, log, build) {
await runDockerGenerator(config, log, build, {
architecture: 'x64',
baseImage: 'ubi',
context: false,
image: true,
});
await runDockerGenerator(config, log, build, {
architecture: 'aarch64',
baseImage: 'ubi',
context: false,
image: true,
});
},
};
export const CreateDockerCloud: Task = {
description: 'Creating Docker Cloud image',
async run(config, log, build) {
await runDockerGenerator(config, log, build, {
architecture: 'x64',
baseImage: 'wolfi',
context: false,
cloud: true,
image: true,
});
await runDockerGenerator(config, log, build, {
architecture: 'aarch64',
baseImage: 'wolfi',
context: false,
cloud: true,
image: true,
});
},
};
export const CreateDockerCloudFIPS: Task = {
description: 'Creating Docker Cloud FIPS image',
async run(config, log, build) {
await runDockerGenerator(config, log, build, {
architecture: 'x64',
baseImage: 'wolfi',
context: false,
image: true,
fips: true,
cloud: true,
});
await runDockerGenerator(config, log, build, {
architecture: 'aarch64',
baseImage: 'wolfi',
context: false,
image: true,
fips: true,
cloud: true,
});
},
};
export const CreateDockerFIPS: Task = {
description: 'Creating Docker FIPS image',
async run(config, log, build) {
await runDockerGenerator(config, log, build, {
architecture: 'x64',
baseImage: 'wolfi',
context: false,
image: true,
fips: true,
});
},
};
export const CreateDockerContexts: Task = {
description: 'Creating Docker build contexts',
async run(config, log, build) {
await runDockerGenerator(config, log, build, {
baseImage: 'wolfi',
context: true,
image: false,
dockerBuildDate,
});
await runDockerGenerator(config, log, build, {
baseImage: 'ubi',
context: true,
image: false,
});
await runDockerGenerator(config, log, build, {
ironbank: true,
baseImage: 'none',
context: true,
image: false,
});
await runDockerGenerator(config, log, build, {
baseImage: 'wolfi',
cloud: true,
context: true,
image: false,
});
await runDockerGenerator(config, log, build, {
baseImage: 'wolfi',
serverless: true,
context: true,
image: false,
});
await runDockerGenerator(config, log, build, {
baseImage: 'wolfi',
context: true,
image: false,
fips: true,
});
await runDockerGenerator(config, log, build, {
baseImage: 'wolfi',
context: true,
image: false,
fips: true,
cloud: true,
});
},
};